PXE + Kickstart无人值守安装系统
前言
什么是PXE
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发。工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。
PXE 其实并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡。PXE可以引导多种操作系统,如:Windows和Linux等系列系统。
PXE工作原理
Client向PXE Server上的DHCP发送IP地址请求消息, DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client
Client向PXE Server上的TFTP发送获取pxelinux.0请求消息, TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0
Client执行接收到的pxelinux.0文件
Client向TFTP Server发送针对本机的配置信息文件(在TFTP 服务的pxelinux.cfg目录下), TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。
Client向TFTP发送根文件请求信息, TFTP接收到消息之后返回Linux根文件系统
Client启动Linux内核
Client下载安装源文件,读取自动化安装脚本
Kickstart
KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件。在之后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件。如果找到合适的参数时,就匹配找到的参数,而没有找到合适的参数时,才需要手工干预安装。当KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,系统便会自动安装,做到无人值守安装系统。
PXE+Kickstart 安装流程图
(图片来自——http://blog.zhubiaook.com/linux/2017/09/17/PXE+DHCP+Apache+KickStart/)
安装过程
安装条件
- DHCP服务器:为 PXE-client 分配 IP ,获得安装程序文件位置
- TFTP服务器:传输安装文件、内核、菜单文件等给 PXE-client
- Kickstart:生成的ks.cfg配置文件
- HTTP/NFS/FTP 服务中的任意一种,用于传送安装源文件给 PXE-client
本实验中,我们是使用一台CentOS7设备作为Server端,实现CentOS6和7系统安装。
安装步骤
1.安装前准备
关闭 防火墙 和 SELINUX
#关闭防火墙 |
#关闭SELINUX |
2.安装相关软件包
#安装相关软件包 |
- httpd