pxe的简介
centos下的pxe是一种远程引导安装技术,它可以同时为多台主机进行系统安装,可以节省很多成本,比如:
1.假如你有一个安装系统的光盘或U盘,一台主机或许不麻烦,但世界上人那么多,所需要安装系统的电脑不就很多了吗?如果是像这样一个一个安装,那效率就太低了。
2.反之用多个光盘或U盘安装系统,这样可能快一点,但这样需要很多人以及很多光盘或U盘,这就需要大量的资金来支持
而pxe就可以解决这些问题
pxe的配置
前言:本实验为centos7.4版本,其他版本就不知道能不能配置成功了
环境:
首先搭建好环境:关闭防火墙和selinux(建议实验环境下),只需配置一台pxe服务器端ip为192.168.0.10
安装所需要的软件(我用的是yum进行安装的)
dhcp:为安装的客户端分配ip地址,网关ip等
syslinux:共享pxe引导程序文件
xinetd:管理其它服务器
vsftpd:用于传输安装信息
tftp:用于传输小型的安装文件
yum -y install dhcp vsftpd xinetd syslinux tftp tftp-server
配置步骤
1.先复制dhcp配置文件的模板cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
再编辑dhcp的配置文件 vi /etc/dhcp/dhcpd.conf
删除其他的配置参数(根据具体情况来配置),只留下:
subnet 192.168.0.0 netmask 255.255.255.0 { 网段和子网掩码
range 192.168.0.100 192.168.0.200; 分配ip地址范围
option routers 192.168.0.254; 网关
next-server 192.168.0.10; 指定下一个服务(这里为tftp)的ip(也是下一跳ip信息)
filename "pxelinux.0"; 指定pxe引导文件名
}
配置好后重启dhcpd服务:systemctl restart dhcpd
2.配置tftp vi /etc/xinetd/tftp(修改这两个即可)
server_args =-s /tftpboot 设置目录位置
disable =no 开启tftp服务
修改完后重启xinetd和tftp服务:systemctl restart xinetd,systemctl restart tftp
3.在/目录里面创建tftpboot,在其中创建pxelinux.cfg目录
4.挂载/dev/sr0到/var/ftp/pub/aaa(aaa为自己创建的目录)
5.复制一些文件到/tftpboot目录下
cp /usr/share/syslinux/pxelinux.0 /tftpboot
cp /var/ftp/pub/aaa/images/pxeboot/vmliuz /tftpboot/ 外核文件
cp /var/ftp/pub/cdrom/images/pxeboot/initrd.img /tftpboot/ 内核文件
cp /var/ftp/pub/cdrom/isolinux/vesamenu.c32 /tftpboot/
cp /var/ftp/pub/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
并且要给default权限:chmod 777 default
6.编辑/tftpboot/pxelinux.cfg/default文件
修改为:
...
label linux
me...
ker...
append...stage2=ftp://192.168.0.10/pub/aaa inst.ks=ftp://192.168.0.10/pub/ks.cfg
这定义了安装光盘(aaa)和引导安装文件(ks.cfg)的位置
7.将/root/anacondaks.cfg文件复制到/var/ftp/pub/ks.cfg(同样要给权限)
8.编辑ks.cfg:
#Use CDROM installation media
url --url=ftp://192.168.0.10/pub/cdrom 从ftp下载安装文件
#use graphical install
text 用文本形式安装
#run the Setup Agent on first boot
firstboot - -disable关闭首先启动
reboot
ignoredisk --only-use=sda...network --boot...--onboot=on --ipv6=auto --no-activate(onboot=on指明系统启动时是否激活网卡)
...
编辑好后重启vsftpd
9.最后就可以创建新的centos7.4虚拟机(我使用的是VMware15.5的)进行测试了
(注:内存要够大,比如2G,并且不用挂光盘)