Linux网络服务13——PXE高效能批量网络装机
一、PXE简介
PXE:Pre-boot Excution Environment,预启动执行环境
PXE是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
若要搭建PXE网络体系,必须要满足以下条件:
·客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。
·网络中有一台DHCP服务器,以便为客户机分配地址、指定引导文件位置
服务器通过TFTP(Trivial File Transfer Protocol)简单文件传输协议提供引导镜像文件的下载。
工作过程:
工作站开机后, PXE BootROM(自启动芯片) 获得控制权之前先做自我测试,然后 以广播形式发出一个请求FIND帧。 如果服务器收到工作站所送出的要求, 就会送回 DHCP 回应, 内容包括用户端的 IP 地址, 预设通讯通道, 及开机映像文件。 否则, 服务器会忽略这个要求。 工作站收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件。 之后,将有更多的讯息在工作站与服务器之间作应答, 用以决定启动参数。 BootROM 由 TFTP 通讯协议从服务器下载开机映像档, 这个映像档就是软盘的映象文件。 工作站使用TFTP 协议接收启动文件后,将控制权转交启动块,引导操作系统,完成远程启动。
二、搭建PXE远程安装服务器
1、准备CentOS 6安装源
使用FTP服务,将安装源放至/var/ftp/centos6/目录下
2、安装并启用TFTP服务
3、准备Linux内核、初始化镜像文件
4、准备PXE引导程序、启动菜单文件
准备引导程序:
准备启动菜单:
5、安装并启动DHCP服务
6、新建虚拟机进行验证
(1)调整BIOS,以便从网络引导(不调整默认从网络引导)
(2)自动获取IP地址,并指向CentOS安装源
(3)其余过程与本地安装相同(略)
三、实现kickstart无人值守安装
1、创建应答文件
或执行命令:
2、免去交互设置过程,从而实现全自动化安装
3、通过添加%post脚本,完成安装后的各种配置操作
四、实现批量自动装机(PXE与kickstart的结合使用)
1、将应答文件部署在客户机可以访问的位置
2、修改启动菜单文件,调用应答文件
3、验证无人值守安装
新建两台虚拟机进行测试:
打开两台虚拟机电源
无人值守安装时,遇到卡到如下界面需手动点击OK
解决方法:在ks.cfg文件加入unsupported_hardware 命令
五、实现不同网段的不同装机
实验环境:
DHCP、TFTP、FTP服务器搭建在server主机上,server主机两个网卡eth0、eth1分别使用vmnet1、vmnet2。创建两份PXE启动菜单及两份不同的ks文件,实现不同网段的不同装机。
客户机测试:
新建虚拟机CentOS-PXE-test,先调至vmnet1
DHCP分发192.168.1.0/24网段IP,TFTP提供pxelinux.cfg/default文件
将客户机调至vmnet2进行测试
此时DHCP分发192.168.20.0/24网段IP,TFTP提供pxelinux.cfg/C0A814文件
由于default和C0A814两个文件中指向不同的ks文件,对ks文件中的设置进行修改,从而实现不同网段的不同安装效果。试验中也可以再搭建一个DHCP中继而不使用。