PXE+Kickstart无人值守安装
一、简介
1、什么是PXE
PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE 协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。
2、什么是Kickstart
Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装
PXE+Kickstart 无人值守安装操作系统完整过程如下:
二、系统环境
服务端Centos 7.4
关闭防火墙
SElinux=disabled
三、安装HTTP并配置
系统的安装方式有HTTP、FTP、NFS,这里用HTTP安装,其他两种和HTTP差不多
1、安装HTTP并启动服务
yum install httpd 安装
rpm -q httpd 查看
systemctl start httpd 启动http
systemctl enable httpd 设置为开机启动
2、将光盘挂载至http的根目录/var/www/html
注:如果浏览器测试打开为默认测试页面须修改/etc/httpd/conf.d/welcome.conf配置文件
改完后重启httpd服务
四、安装并配置TFTP
1、安装tftp-server
yum install tftp-server
rpm -q tftp-server
2、配置tftp-server
vim /etc/xinetd.d/tftp
将disable设置为no
3、启动tftp服务
systemctl start tftp.socket
systemctl enable tftp.socket
五、生成ks.cfg应答文件
1、安装Kickstart
yum install system-config-kickstart
2、在桌面环境下配置Kickstart
注:软件安装包管理打不开修改yum源
生成centos7.cfg文件,保存在/var/www/html/ks/下(注意文件权限644)
六、准备PXE的启动相关文件
注:须安装syslinux (yum install syslinux)
1、准备文件
mkdir /var/lib/tftpboot/pxelinux.cfg/ cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/ cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/ cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
2、修改default启动菜单
vim /var/lib/tftpboot/pxelinux.cfg/default
七、安装配置DHCP
1、安装DHCP服务
yum install dhcp
2、复制配置模版文件到DHCP配置目录
cp -f /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
3、修改配置文件并设置启动
systemctl start dhcpd
systemctl enable dhcpd
八、测试安装