PXE方式安装Centos5详解

简介:
在工作中,安装一台linux系统的计算机很容易,也很快,但是安装100台甚至1000台那就要累死人了,这个时候可以使用PXE方式也就是网刻的方式来部署,windows下也可以这样做,很多网吧都是这样干的,不过,windows系统下还有个SID(安全标示符)需要重新生成下!先来说说什么是PXE吧!  PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。PXE协议的成功运行需要解决以下两个问题:
1:既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置;
2:通过什么协议下载Linux内核和根文件系统
对于第一个问题,可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCPServer是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。
至于第二个问题,在PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。
通过yum安装dhcp和tftp
[root@centos5 /]# rpm -qa |grep tftp-server-* 
[root@centos5 /]# rpm -qa |grep dhcp
dhcpv6-client-1.0.10-4.el5
[root@centos5 /]# yum -y install tftp-server dhcp
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: 
ftp.hostrino.com
* updates: mirror.nus.edu.sg
* addons: 
ftp.hostrino.com
* extras:  ftp.hostrino.com
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package dhcp.i386 12:3.0.5-18.el5 set to be updated
---> Package tftp-server.i386 0:0.42-3.1.el5.centos set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package            Arch        Version                       Repository   Size
================================================================================
Installing:
dhcp               i386        12:3.0.5-18.el5               base        875 k
tftp-server        i386        0.42-3.1.el5.centos           base         27 k
Transaction Summary
================================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 902 k
Downloading Packages:
(1/2): tftp-server-0.42-3 100% |=========================| 27 kB    00:21
(2/2): dhcp-3.0.5-18.el5. 100% |=========================| 875 kB    02:28
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing     : tftp-server                                       [1/2]
Installing     : dhcp                                              [2/2]
Installed: dhcp.i386 12:3.0.5-18.el5 tftp-server.i386 0:0.42-3.1.el5.centos
Complete!
[root@centos5 /]# vi /etc/xinetd.d/tftp (编辑tftp配置文件如下)
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol. The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -u nobody -s /tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
[root@centos5 /]# vi /etc/dhcpd.conf (编辑dhcp配置文件如下)
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
option domain-name "yang.com";
default-lease-time 6000;
max-lease-time 11400;
authourtative;
next-server 192.168.0.200;   (需要加上这个参数来指定DHCP SERVER的IP,否则可能会出现错误)
ddns-update-style ad-hoc;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0{
range 192.168.0.10 192.168.0.100;
option domain-name-servers 192.168.0.200;
option domain-name "yang.com";
option netbios-name-servers 192.168.0.200;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 6000;
max-lease-time 11400;
filename "/pxelinux.0";
}
[root@centos5 /]# cat /etc/exports (配置NFS共享)
/mnt 192.168.0.0/24(ro,sync)
下面这段是照着boobooke上面写的,应该是linux专门针对PXE的一些文件和目录设置
[root@centos5 ~]# mkdir /tftpboot 
[root@centos5 ~]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
[root@centos5 ~]# mount /dev/cdrom /mnt/ (挂载关盘)
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@centos5 /]# cp /mnt/isolinux/* /tftpboot/ 
[root@centos5 /]# mkdir /tftpboot/pxelinux.cfg
[root@centos5 /]# cp /tftpboot/isolinux.cfg /tftpboot/pxelinux.cfg/
[root@centos5 /]# cd /tftpboot/pxelinux.cfg/
[root@centos5 pxelinux.cfg]# ls
isolinux.cfg
[root@centos5 pxelinux.cfg]# mv isolinux.cfg default
[root@centos5 pxelinux.cfg]# ls
default
[root@centos5 /]# service dhcpd start                          (启动相关服务)
Starting dhcpd:                                            [ OK ]

[root@centos5 /]# service xinetd start
Starting xinetd:                                           [ OK ]
[root@centos5 /]# service nfs start
Starting NFS services:                                     [ OK ]
Starting NFS quotas:                                       [ OK ]
Starting NFS daemon:                                       [ OK ]
Starting NFS mountd:                                       [ OK ]
Starting RPC idmapd:                                       [ OK ]
[root@centos5 /]# netstat -nupl |grep 67         (查看相应的端口)
udp        0      0 0.0.0.0:67                  0.0.0.0:*                              
6400/dhcpd
[root@centos5 /]# netstat -nupl |grep 69
udp        0      0 0.0.0.0:769                 0.0.0.0:*                              
6528/rpc.rquotad
udp        0      0 0.0.0.0:69                  0.0.0.0:*                              
6434/xinetd
udp        0      0 :::32769                    :::*                                   
2271/avahi-daemon:
以上的设置都是针对PXE服务器端的,下面就来测试下客户端能否正常的安装系统
可以看到客户端获取到了IP了
需要选择使用NFS镜像
使用DHCP方式获取IP,这里只启用IPV4
设置NFS参数
接下来的安装步骤就不截图了,下面是输入root用户的密码
这里只选择装个最基本的base,其他的什么都不装
大概10分钟的时间,安装过程就可结束
[root@centos5 /]# tail -f /var/log/messages (在PXE服务器上查看到的日志信息)

Feb 1 01:30:08 centos5 dhcpd: DHCPDISCOVER from 00:0c:29:03:09:5f via eth0
Feb 1 01:30:09 centos5 dhcpd: DHCPOFFER on 192.168.0.100 to 00:0c:29:03:09:5f via eth0
Feb 1 01:30:09 centos5 dhcpd: DHCPREQUEST for 192.168.0.100 (192.168.0.200) from 00:0c:29:03:09:5f via eth0
Feb 1 01:30:09 centos5 dhcpd: DHCPACK on 192.168.0.100 to 00:0c:29:03:09:5f via eth0
Feb 1 01:30:47 centos5 mountd[3403]: authenticated mount request from 192.168.0 .100:656 for /mnt (/mnt)
Feb 1 01:42:57 centos5 xinetd[3604]: EXIT: tftp status=0 pid=3606 duration=2596(sec)
Feb 1 01:43:26 centos5 init: Trying to re-exec init



本文转自liang_simon51CTO博客,原文链接:http://blog.51cto.com/shubao    ,如需转载请自行联系原作者

相关文章
|
4月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
786 69
|
3月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
1133 2
|
4月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
397 78
|
3月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
605 16
|
5月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
247 80
|
4月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
356 10
|
5月前
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
499 2
|
4月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
388 0
|
4月前
|
存储 Ubuntu Linux
安卓手机免root安装各种Linux系统:Ubuntu, Centos,Kali等
此外还可以安装Slackware、Archstrike等系统,还可以通过github查找方法安装更多有趣的东西。 昨日小编就是通过Termux安装的Kali Linux工具包。