Centos 8部署pxe自动安装(dhcp+httpd+tftp+kickstart)
在有一些需要同时安装大部分一样的主机的时候,一台一台的去安装的化会显得十分的麻烦,pxe就很好的解决了这个问题,我们只需要将网络环境配置好,就能进行无人守值安装。
网络环境 | NAT |
pxe | 192.168.110.222 |
客户机 | NAT |
1.安装dhcp给客户端 返回ip地址
yum -y install dhcp-server
修改配置文件 (/etc/dhcp/dhcpd.conf)
cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
subnet 192.168.110.0 netmask 255.255.255.0 {
range 192.168.110.100 192.168.110.200;
option routers 192.168.110.2;
next-server 192.168.110.222; //指定下一跳获取到的ip
filename "pxelinux.0"; //获取的文件名称
}
2.安装tftp传输安装文件、内核、菜单文件等给 PXE-client
yum -y install tftp-server syslinux
cd /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 ./
cp /media/isolinux/* ./ //media是我挂载磁盘的地方
mkdir ./pxelinux.cfg
cp ./isolinux.cfg ./pxelinux.cfg/default
systemctl restart tftp
3.编辑default菜单文件,只需要修改其中的label linux 块就好了
label linux
menu label ^install CentOS Linux 8
kernel vmlinuz
append initrd=initrd.img repo=http://192.168.110.222/centos ks=http://192.168.110.222/ls.cfg
给该文件权限
chmod 777 ./pxelinux.cfg/default
4.配置http服务,提供磁盘和ks.cfg文件
yum -y install httpd
mkdir /var/www/html/centos
mount /dev/sr0 /var/www/html/centos
cp /root/anaconda-ks.cfg /var/www/html/ks.cfg
systemctl restart httpd
5.编辑ks.cfg实现自动安装
将graphical 下面的repo注释掉
将cdrom改成install (在下面接着添加)
url --url=http://192.168.110.222/centos
reboot
将autopart 修改成 autopart --type=lvm
将clearpart --none --initlabel 改成clearpart --all --initlabel
systemctl restart dhcpd tftp httpd
chmod 777 /var/www/html/ks.cfg
systemctl stop firewalld
setenforce 0
6.新建一台虚拟机看效果(注意要和pxe服务器在同一个网段)
这里选择第一个安装,后面加上全自动的了,上面加reboot是为了在安装完成后重新启动虚拟机,达到效果。
到这pxe配置成功,只需要等待安装成功和重启后就能正常使用了。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码