PXE
在大规模安装服务器时,需要批量自动化方法来安装服务器,来减少日常的工作量。
PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘、光驱等设备启动。现代的网卡,一般都内嵌支持PXE的ROM芯片。当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。
环境
VMware
1:centos7:192.168.0.100/24 仅主机模式
2:未安装的centos7:内存大于2G,仅主机模式,不要连接镜像
配置
1:配置DHCP服务,为客户端提供ip
安装DHCP:yum -y install dhcp
复制模板:cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
修改配置文件:vim /etc/dhcp/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.20;
option routers 192.168.0.100;
next-server 192.168.0.100;
filename “pxelinux.0”;
}
重启服务:systemctl restart dhcpd
2:安装syslinux和tftp
安装:yum -y install syslinux tftp-server
编辑tftp配置文件:vim /etc/xinetd.d/tftp
复制引导文件到tftp站点中:cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
启动tftp站点:systemctl restart tftp
3:配置vsftp
安装:yum -y install vsftpd
进入ftp站点里:cd /var/ftp
创建挂载点:mkdir centos7
挂载镜像到ftp站点里:mount /dev/cdrom centos7/
进入镜像文件:cd centos7/images/pxeboot/
复制压缩内核和初始化文件到tftp站点里:cp initrd.img vmlinuz /var/lib/tftpboot/
启动vsftp:systemctl restart vsftpd
4:编辑启动菜单default配置文件
进入tftp站点:cd /var/lib/tftpboot/
创建配置文件目录:mkdir pxelinux.cfg
进入配置文件目录:cd pxelinux.cfg/
编辑配置文件vim default
5:装系统
可以在VMware中选择进入固件,也可以在开机时按F2
选择Boot,将网络装机选项移至最上端(用方向键移动,用加减号键排序),最后按F10保存退出(选YES)
出现boot按回车
到这里就结束了
如果报错:
1:重启一遍dhcp,tftp,vsftp,或者用status检查它们的状态
2:检查防火墙和selinux状态
3:检查内存大小,是否是2G以上
4:检查是否在仅主机模式
如有错误欢迎指正