1、概述
PXE(Pre-boot Execution Environment)预启动执行环境,在操作系统之前运行,可用于远程安装
服务端:①运行FTP或HTTP服务,提供网络安装源
②运行DHCP服务,用来分配地址、定位引导程序
③运行TFTP服务,提供引导程序下载
客户端:网卡支持PXE协议、主板支持网络启动
2、搭建PXE网络服务器
1)构建vsftpd服务,准备安装源
rpm -ivh /mnt/iso/Packages/vsftpd-2.2.2-6.el6_0.1.i686.rpm
vi /etc/vsftpd/vsftpd.conf
anon_root=/mnt
service vsftpd start
chkconfig vsftpd on
vi /etc/yum.repos.d/rhel6.repo
[rhel6]
name=rhel6
baseurl=ftp://192.168.4.254/iso
enabled=1
gpgcheck=0
2)构建TFTP服务,准备内核、初始化镜像、引导程序、启动菜单
yum -y install tftp-server
vi /etc/xinetd.d/tftp
disable = no
service xinetd start
cd /mnt/iso/images/pxeboot/
cp vmlinuz initrd.img /var/lib/tftpboot/
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux text
kernel vmlinuz
append text initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img devfs=nomount ramdisk_size=8192
注:TFTP服务默认由xinetd超级服务进行管理,使用udp 69端口
3)构建DHCP服务,自动分配地址并设置TFTP参数,告知引导文件位置
yum -y install dhcp
vi /etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.100 192.168.4.200;
next-server 192.168.4.254;
filename "pxelinux.0";
}
service dhcpd start
3、kickstart无人值守安装
创建应答文件,预先定义好各种安装设置,从而实现全自动化安装
yum -y install system-config-kickstart
system-config-kickstart
cp /root/ks.cfg /mnt/ks.cfg
vi /var/lib/tftpboot/pxelinux.cfg/default
append ks=ftp://192.168.4.254/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8092
注:①关闭Vmware自带的dhcp服务,避免dhcp服务相互干扰
②真实环境中通过PXE网络装机时,在检测硬件的时候时间会比较长,需要多等会
③vsftpd报错“226 Transfer done(but failed to open directory)”,解决:禁用SELINUX并重启