PXE无人值守网络装机服务
一、执行流程
- DHCP分配给客户端IP地址,并引导到下一个服务(TFTP);
- TFTP为客户端提供众多引导文件,并指向HTTP;
- HTTP为客户端提供众多软件包。
二、服务搭建
1. 配置DHCP服务
配置DHCP服务的主配置文件:/etc/dhc/dhcpd.conf,添加内容
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200; #分配ip的范围
option domain-name-servers 192.168.1.1; #分配dns服务器ip
option router 192.168.1.254; #分配网关地址
default-lease-time 600; #租用时间
max-lease-time 7200;
next-server ip地址; #指向下一个服务的地址
filename "pxelinux.0"; #指定网卡引导文件的名称,默认名为 pxelinux.0
}
网卡引导文件:pxelinux.0, 安装软件包syslinux 可生成文件:/usr/shar/syslinux/pxelinux.0,需存放到 /var/lib/tftpboot/下。
2. 构建TFTP服务,提供众多引导文件
a. 安装软件包:tftp-server
b.部署pxelinux.0文件
pxelinux.0文件的作用:让客户端读取菜单文件,并指明菜单文件的存放路径:<默认不变>
**/var/lib/tftpboot/pxelinux.cfg/default**
c.部署文件
由已有光驱设备改写
- 部署菜单文件,利用光驱文件改写,生成default文件放到创建目录中;
mount /dev/cdrom /mnt
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
- 部署图形模块 (vesamenu.c32)
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/
- 部署背景图片
cp /mnt/isolinux/a.png /var/lib/tftpboot/
- 部署驱动程序(initrd.img)
cp /mnt/isolinux/intrd.img /var/lib/tftpboot/
- 部署启动内核(vmlinuz)
cp /mnt/isolinux/vmlinuz /var/lib/tftpboot/
- 修改菜单文件内容
vim /var/lib/tftpboot/pxelinux.cfg/default
:set nu
default vesamenu.c32 #默认运行程序,加载图形模块
timeout 600 #读秒时间,单位:0.1秒, 60秒
menu background a.png #背景图片名称
menu title DIY_PXE_SYSTEM #自定义菜单界面显示标题
label linux
menu label ^Install DIY_PXE_SYSTEM #显示内容
menu default #读秒后的默认选择
kernel vmlinuz #加载内核
append initrd=initrd.img #指明加载驱动程序
三、构建WEB服务共享光盘所有内容
配置HTTP服务,将光盘文件挂在到HTTP服务的网页根目录下,用于访问。
四、无人值守安装,生成应答文件
- 安装图形软件:system-config-kickstart
- 以英文方式运行 : LANG=en system-config-kickstart (yum仓库中标识必须是[developement])
- 将应答文件保存到为: /root/ks.cfg
- 利用WEB服务共享应答文件
cp /root/ks.cfg /var/www/html/
- 修改菜单文件: /var/lib/tftpboot/pxelinux.cfg/default
添加HTTP服务地址: append initrd=initrd.img ks=http:192.168.1.2/ks.cfg