简介
PXE(preboot execute environment-预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,客户端可以通过网络从远端服务器下载镜像,并由此支持通过网络启动操作系统,在启动过程中,客户端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成客户端基本软件设置,从而引导预先安装在服务器中的操作系统。PXE可以引导多种操作系统。
客户端网卡需要支持PXE功能,并且在开机启动时选择从网卡启动。PXE服务端提供DHCP、TFTP服务。
PXE环境搭建
服务端:pxe-server
- 搭建本地yum源
###刷新yum源
yum clean all
- 下载安装dhcp,配置dhcp服务
yum install dhcp.x86_64 -y
systemctl start dhcpd
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
###重启dhcp服务
systemctl restart dhcpd
- 安装引导文件以及tftp服务
rpm -ql syslinux
yum install syslinux tftp-server -y
vim /etc/xinetd.d/tftp
systemctl restart xinetd.service
在redhat7.0以后版本,安装完tftp后,可以直接启动tftp服务,不需要修改上面参数
- 配置tftp协议传输引导程序,详细可以查看pxelinux.txt
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftboot
mkdir pxelinux.cfg ###在tftpboot下创建目录
###切换yum源挂载目录下,isolinux目录下是镜像文件和引导文件
cp -r ./* /var/lib/tftpboot/
cp isolinux.cfg pxelinux.cfg/
mv isolinux.cfg default
5.修改dhcp配置文件,可以通过dhcp分配的IP地址将引导文件所在位置报告给客户端
重启dhcp服务,关闭防火墙
测试端:test
新建虚拟机,设置网卡优先启动
###进入安装选项引导界面
但是当选择安装时,系统会卡在安装界面,无响应,因为服务端没有传输过来安装所需资源。只是通过tftp传输过来安装引导文件。
###在服务端还需要进一步配置相关内容
6. 安装http服务
yum install httpd
systemctl start httpd
systemctl enable httpd
- 搭建网络yum源,提供软件包资源
mkdir /var/www/html/rhel7.0
mount /dev/sr0 /var/www/html/rhel7.0/
- 大规模批量安装系统时,使用kickstart自动安装工具
yum install system-config-kickstart -y
system-config-kickstart
###添加磁盘分区信息
###其他都选择默认即可,然后保存为
ks.cfg文件,存放到http发布目录下
###此时可以通过浏览器访问,可以查看到生成的文件信息
###在生成的ks.cfg文件中添加基础服务安装包
ksvalidator ks.cfg ###检查是否有语法错误
- 将yum源与ks.cfg添加到引导文件
chmod 664 default
vim /var/lib/tftpboot/pxelinux.cfg/default
###如果想要自定义显示引导界面,可以修改引导文件中的相关信息例如:
#自定义显示标题
#修改等待时间
#修改引导界面默认选项为第一行,安装,将68行移动到63行
当然如果感觉背景不太好,还可以修改自己喜欢的图片,这里不再赘述。
引导文件配置完成后,重启dhcp服务,重新安装系统
等待安装完成后将启动方式修改成从硬盘启动,重启系统即可!