@[lincyou]
无人值守批量装机 配置PXE引导 kickstart自动应答
什么是PXE网络
• PXE,Pre-boot eXecution Environment
– 预启动执行环境,在操作系统之前运行
– 可用于远程安装
工作模式
– PXE client 集成在网卡的启动芯片中
– 当计算机引导时,从网卡芯片中把PXE client调入内存
执行,获取PXE server配置、显示菜单,根据用户选
择将远程引导程序下载到本机运行
• 需要哪些服务组件?
– DHCP服务,分配IP地址、定位引导程序
– TFTP服务,提供引导程序下载
– HTTP服务(或FTP/NFS),提供yum安装源
• 客户机应具备的条件
– 网卡芯片必须支持PXE协议
– 主板支持从网卡启动
一 部署DHCP服务
1 安装dhcp软件包
[[email protected] ~]#yum -y install dhcp
2 修改配置文件
[[email protected] ~]#vim /etc/dhcp/dhcpd.conf
(保留以下内容,其余删除,并修改以下内容)
subnet 192.168.4.0 netmask 255.255.255.0 { #设置网段及子网掩码
range 192.168.4.20 192.168.4.100; #设置所分配的ip地址范围
option domain-name-servers 192.168.4.7; #声明DHCP服务器主机ip地址
option routers 192.168.4.254; #设置网关
default-lease-time 600;
max-lease-time 7200;
(增加以下两行)
next-server 192.168.4.7; #指定下一个服务器IP地址
filename "pxelinux.0"; #指定网卡引导文件名称
}
3 重启dhcpd服务,并且设置开机自启
[[email protected] ~]#systemctl restart dhcpd
[[email protected] ~]#systemctl enable dhcpd
二 搭建tftp服务
1 安装tftp-server 服务
(该服务的默认引导安装路径是/var/lib/tftpboot)
[[email protected] ~]#yum -y install tftp-server
2 重启tftp服务
[[email protected] ~]#systemctl restart tftp
[[email protected] ~]#systemctl enable tftp
3 查看pxelinux.0来源于哪个包
[[email protected] ~]# yum provides */pxelinux.0 #查询仓库中那个包产生此文件
[[email protected] ~]# yum -y install syslinux
[[email protected] ~]# rpm -ql syslinux | grep pxelinux.0 #查询安装清单
4 部署菜单文件
图形操作,将光盘放进主机
进行挂载:
[[email protected] ~]#mount /dev/cdroom /mnt/
[[email protected] ~]#/mnt/isolinux
4 部署图形模块、背景图片、部署启动内核、启动所需的驱动程序。
拷贝/mnt/isolinux 以下四个文件至/var/lib/tftpboot/
vesamenu.c32 splash.png vmlinuz initrd.img
[[email protected] ~]#cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/
5 修改菜单文件
创建目录
[[email protected] ~]#mkdir /var/lib/tftpboot/pxelinux.cfg
拷贝并重命名
[[email protected] ~]#cp /mnt/isolinux/isollinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
修改权限为W,才可以编辑 :
[[email protected] ~]#chmod u+w /var/lib/tftpboot/pxelinux.cfg/default
[[email protected] ~]#/var/lib/tftpboot/pxelinux.cfg/default
验证:
新建一台虚拟机
安装方式选择 PXE网络引导安装
网络类型选择 Private1
三 搭建Web服务,共享光盘所有内容
1.安装httpd软件,启动服务
[[email protected] /]# yum -y install httpd
[[email protected] /]# systemctl restart httpd
[[email protected] /]# ls /var/www/html/
[[email protected] /]# firefox 192.168.4.7
2.创建挂载目录,进行挂载光驱设备
2.创建挂载目录,进行挂载光驱设备
[[email protected] /]# mount /dev/cdrom /var/www/html/rhel7
[[email protected] /]# ls /var/www/html/rhel7
[[email protected] /]# firefox 192.168.4.7/rhel7
四 部署无人值守安装,生成应答文件
1.图形的工具system-config-kickstart,进行生成
[[email protected] /]# yum -y install system-config-kickstart
2.运行进行配置
[[email protected] /]# system-config-kickstart
首先查看 “软件包选择” 是否可以使用
需要Yum仓库支持,必须要求 光盘的仓库标识为 [development]
[[email protected] ~]# vim /etc/yum.repos.d/rhel7.repo
[development]
.........
[[email protected] /]# system-config-kickstart
查看 "软件包选择" 是否可以使用
3.查看root目录下ks文件生成
[[email protected] ~]# ls /root/ks.cfg
4.利用Web服务共享应答文件/usr/share/doc/dhcp*/dhcpd.conf.example
[[email protected] ~]# cp /root/ks.cfg /var/www/html/
[[email protected]vr7 ~]# ls /var/www/html/
ks.cfg rhel7
[[email protected] ~]# firefox 192.168.4.7/ks.cfg
5.修改菜单文件,指定ks应答文件位置
[[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
..........
label linux
menu label Install RHEL7
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.4.7/ks.cfg
验证:
1.新建一台虚拟机
安装方式选择 PXE网络引导安装
网络类型选择 Private1
总结:
- DHCP—>IP地址 next-server filename
- tftp—> pxelinux.0
-
pxelinux.0—>读取菜单文件
/var/lib/tftpboot/pxelinux.cfg/default
-
default---->
vesamenu.c32 splash.png vmlinuz initrd.img
ks=http://192.168.4.7/ks.cfg
-
ks文件----> 时区 密码 分区 …
–url=“http://192.168.4.7/rhel7”