PXEIntel公司开发的技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并加载安装文件或者整个操作系统。若要搭建PXE网络体系,需要满足以下几个条件
- 客户机的网卡支持PXE协议,且主板支持网络引导。
- 网络中有一台DHCP服务器以便客户机自动分配地址、指定引导文件文件位置。
- 服务器通过TFTP提供引导镜像文件的下载
实验准备
- 一台Linux服务器(仅主机模式IP:192.168.175.106/24),提供dhcp服务,ftp服务和tftp-server服务。
- 准备一台空白虚拟机
- 挂载镜像文件,创建yum仓库
关于如何创建一台空白的Linux虚拟机可以参考我以前的博客Linux虚拟机的创建。有一点小的区别就是在在自定义硬件的时候,不需要再指定镜像文件的路径。
实验开始
搭建tftp-server服务
安装tftp-server软件包
yum install tftp-server
安装完成后修改配置文件,指定其站点目录并开启服务,配置文件路径/etc/xinetd.d/tftp
搭建DHCP服务
安装dhcp软件包
yum install dhcp
dhcp的配置文件实际不在/etc目录下,我们这里可以执行cp命令,将其复制到/etc目录下
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
在配置文件中开启DNS自动更新,指定TFTP服务器地址及引导加载程序的位置,同时设置自动分配的IP地址段落。
搭建FTP服务
yum install vsftpd
因为ftp服务器默认支持匿名用户访问,所以我们此处不需要做更改,只需将光盘挂载到ftp服务器的站点即可
mount /dev/sr0 /var/ftp/pub
归档自动装机所需文件
首先安装引导加载程序
yum install syslinux
将Linux引导加载模块、压缩内核、图形化安装菜单复制到tftp服务器的根目录下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ //引导加载程序
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/ //linux引导加载模块
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/ //压缩内核
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/ //图形化安装菜单
创建一个配置文件的目录在tftp文件服务器的根目录下
mkdir /var/lib/tftpboot/pxelinux.cfg
将安装菜单文件复制到该目录下,重命名为default。
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //安装菜单
配置应答文件
安装system-config-kickstart软件包,通过图形化安装向导来设置无人值守安装的应答文件。
yum install system-config-kickstart
通过图形化向导工具配置完应答文件后。为了方便我们的管理,我们可以将该应答文件复制到FTP的站点内。
mkdir /var/ftp/rhel6 //创建rhel6的文件夹
cp /root/ks.cfg /var/ftp/rhel6/
配置安装菜单文件
vim /var/lib/tftpboot/pxelinux.cfg/default
启动所有的服务
service dhcpd restart //dhcp服务
service vsftpd restart //ftp服务
service xinetd start //tftp服务
关闭Linux防火墙及selinux防火墙,如若不关闭防火墙,则无法下载TFTP中的引导程序
service iptables stop
setenforce 0
系统安装
此时开启空白机子即自动化安装系统。