shell脚本能为我们带来很多便利,这里我就编写了一个一键部署pex的shell脚本
添加一块网卡并改为net1模式
查看一下自己新网卡的名称,我这里是ens36
然后更改ip值就行 和dhcp配置文件中的IP值以及/var/lib/tftpboot/pxelinux.0/default里的指向ftp的地址就行,都改成同一个
实在不理解的可以看我另一篇博客有详细说明:
PXE&&kickstart原理和配置_IT.cat的博客-CSDN博客
- #!/bin/bash
- #==========================================================================
- # User yz
- # PEX一键部署
- # date 2022.7.26
- #==========================================================================
- ###################关闭防火墙#############################
- systemctl stop firewalld
- systemctl disable firewalld
- setenforce 0
- #####################配置网卡#############################
- cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36
- sed -i '/GATEWAY/s/^/#/' /etc/sysconfig/network-scripts/ifcfg-ens36 #需要修改网卡名称
- sed -i 's/ens33/ens36/' /etc/sysconfig/network-scripts/ifcfg-ens36
- sed -i '/UUID/s/^/#/' /etc/sysconfig/network-scripts/ifcfg-ens36
- sed -i '/DNS/s/^/#/' /etc/sysconfig/network-scripts/ifcfg-ens36
- sed -i 's/192.168.130.152/192.168.59.100/' /etc/sysconfig/network-scripts/ifcfg-ens36
- # ^^ 需要修改IP地址
- systemctl restart network
- ###################安装软件###############################
- #检测网络
- ping -c 1 -i 0.1 www.baidu.com > /dev/null
- if [ $? -eq 0 ]
- then
- yum -y install vsftpd tftp xinetd dhcpd syslinux tftp-server > /dev/null
- #################配置dhcp服务##########################
- cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
- echo "ddns-update-style none;
- subnet 192.168.59.0 netmask 255.255.255.0 { #这里也需要修改成与新网卡同一网段的
- range 192.168.59.110 192.168.59.200;
- option routers 192.168.59.100;
- option domain-name-servers 114.114.114.114;
- next-server 192.168.59.100;
- filename\"pxelinux.0\";
- } " >> /etc/dhcp/dhcpd.conf
- ##################配置tftp服务##########################
- sed -i '/disable/s/yes/no/' /etc/xinetd.d/tftp
- ##################配置tftp需要的共享文件########################
- mount /dev/cdrom /mnt
- cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot
- cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot
- #################准备pxe引导镜像文件#######################
- cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
- #################手工配置dafault菜单文件##################
- mkdir /var/lib/tftpboot/pxelinux.cfg
- touch /var/lib/tftpboot/pxelinux.cfg/default
- echo " default auto
- prompt 0 #ftp的指向IP都需要改成新网卡IP
- label auto
- kernel vmlinuz
- append initrd=initrd.img method=ftp://192.168.59.100/centos7 ks=ftp://192.168.59.100/ks.cfg
- label linux text
- kernel vmlinuz
- append text initrd=initrd.img method=ftp://192.168.59.100/centos7 ks=ftp://192.168.59.100/ks.cfg
- label linux rescue
- kernel vmlinuz
- append rescue initrd=initrd.img method=ftp://192.168.59.100/centos7 ks=ftp://192.168.59.100/ks.cfg " >> /var/lib/tftpboot/pxelinux.cfg/default
- ##################配置ftp,准备centos安装源##############
- mkdir /var/ftp/centos7
- cp -rf /mnt/* /var/ftp/centos7
- #################配置无人值守######################
- #要先配置无人值守,再执行脚本
- yum -y install system-config-kickstart > /dev/null #安装system-config-kickstart工具
- #################开启服务############################# vsftpd tftp xinetd dhcpd
- systemctl start vsftpd tftp xinetd dhcpd
-
-
-
- else
- echo "网络出现问题无法安装,无法进行下一步"
- fi
配置完后还需要配置无人值守,这里前面的博客也有详细说明如何配置,可以直接按照kickstart那段开始配置
PXE&&kickstart原理和配置_IT.cat的博客-CSDN博客
配置完无人值守我们可以将ks.cfg文件保存下来,后续就不用单独再配置一遍无人值守操作直接拉文件来用就行
验证方法我上篇博客也有详细写 主要是创建虚拟机和无人值守文件存放位置
这里直接演示执行后的过程
到这里再继续等待即可,时间会比较长,要耐心点