PXE的网络装机是客户机从自己的网卡启动,向本网络中的DHCP服务器索取ip,并从本网络的TFTP服务器中索取启动文件进行装机。此装机需要kickstart、tftp、dhcp、syslinux等服务。以下将会介绍如何自动进行PXE装机。本文参数设置均以本机参数为准,不同的主机可能需要不同的参数。
1、kickstart
"yum install system-config-kickstart"下载kickstart软件,并且输入"system-config-kickstart",出现如下界面,此软件可以预回答装机过程中的密码,分区,内存大小等问题,读取此文件,使得装机可以自动完成。步骤图片均在文字下方。
在蓝条的选项内容中输入"Root Passwd",并在"Confirm Password"中重复输入root用户密码,在最下面的"Reboot system after installation"和"Perform installation in text mode"前打上勾。
在此蓝条右方的选项中,最上面选择"Perform new installation",下方的"Installation source"中选择"HTTP"并在"HTTP Server"中输入"172.25.254.2",在"HTTP Directory"中输入"/rhel7.2"。即iso镜像文件的http下挂载地址,其挂载方法在软件管理篇中已做过介绍。
在此蓝条右方的选项中,在最上方的"Install Type"选项框中选择"Install new boot loader"。
在此蓝条右方的选项中,点击最下方"add",按照下图依次添加分区"/boot"、"swap"、和"/"分区。
在此蓝条右方的选项中,点击"Add Network Device"在其中输入"eth0",点击"ok"添加。
此蓝条选项可以忽略。
在此蓝条右方的选项中,将"SElinux"下的"Active"改为"Disabled"。
此蓝条选项可以忽略。
此蓝条选项可以忽略。因为软件问题,无法选择预安装软件。
此蓝条选项可以忽略。
此蓝条选项可以忽略。也可以在右下方框中输入在装机完成后所需要执行的命令。
点击左上角"file"下的"save"保存文件,文件名为ks.cfg。本文中保存在当前桌面下。"vim /home/kiosk/Desktop/ks.cfg"对此文件进行编写,在最下方输入下图所示内容,此为上述中没有的软件预安装选择。完成后输入"svalidator ks.cfg"。并将文件移动至"/var/www/hmtl/"目录下,至此装机时的自动回答文件配置完成。
2、tftp syslinux
“yum install tftp-server"安装tftp服务。"yum install syslinux"安装syslinux。安装完成后输入"cp /var/www/html/rhel7.2/isolinux/* /var/lib/tftpboot/"将"isolinux"目录下的全部文件复制到"tftpboot"目录下。再输入"cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/",将"pxelinux.0"文件复制到"tftpboot"目录下。如下图所示。
"mkdir /var/lib/tftpboot/pxelinux.cfg"在"tftpboot"目录下建立一个"pxelinux.cfg"目录。输入"cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default"将"isolinux.cfg"文件复制为目录"pxelinux.cfg"下的"default"文件。如图所示。
"systemctl start tftp.service"开启tftp服务,"systemctl enable tftp.service"设置开机启动,至此tftp的配置完成。
3、dhcp
"yum install dhcp"安装dhcpd服务。安装完成后输入"head -n 36 /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example >> /etc/dhcp/dhcpd.conf"将"dhcpd.conf.example"文件的前36行输入到"dhcp.conf"文件中。
"vim /etc/dhcp/dhcp.conf"对此文件作以下修改:
将第7行的"example.org"改为"example.com"。
将第8行的"ns1.example.org, ns2.example.org"改为"172.25.254.250"。
在第27,28行前输入"#"将这两行注释掉。
将第32行"subnet"后的"10.254.239.0"改为"172.25.254.0",将"netmask"后的"255.255.255.224"改为"255.255.255.0"。
将第33行"10.254.239.10 10.254.239.20"改为"172.25.254.80 172.25.254.90"。
将第34行"rtr-239-0-1.example.org, rtr-239-0-2.example.org"改为"172.25.254.250"。
在第35行删除"}"并输入"next-server 172.25.254.2;"。在第36行输入filename "pxelinux.0;"。并且最后加上"}"。
退出保存后输入"systemctl start dhcpd.service"启动dhcpd服务。至此dhcp的配置完成。
4、装机时的default文件配置
"/var/lib/tftpboot/pxelinux.cfg"目录下的"default"文件是在网卡启动时,读取信息的默认配置文件,如下图所示。
第2行的"timeout"可以设置等待时间,数值一般是秒数乘10,例如改为"30",即等待时间为3秒。
将第68行的"menu default"放至第63行。如图所示,并且将65行的"inst.stage2=hd:LABEL=RHEL-7.2\x20Server.x86_64"改为"repo=http://172.25.254.2/rhel7.2 ks=http://172.25.254.2/ks.cfg"输入":wq!"强制保存退出。
进行以上设置之后,将一台主机设为从网络中启动,则可以进行自动安装。一般是在虚拟机中进行实验。步骤如下所示。
输入"virt-manager"打开虚拟机管理设备。
选定虚拟机后点击"open",点击左上角的灯泡按钮,进入虚拟机配置,如图所示。
选定"Boot Options",在右方的对话框中选定"NIC",并用箭头将此选项移向第一行,点击右下角"Apply"。
完成后点击灯泡按钮旁的三角形启动按钮,即可实现自动安装。