配置PXE服务器批量安装Linux操作系统

虚拟机网络设置为仅主机模式,关闭虚拟机网卡的DHCP功能,虚拟机网卡网段为:192.168.184.0

关闭selinux和firewalld

DHCP

先配置静态ip

yum install dhcp
systemctl enable dhcpd

#修改dhcp配置文件
vim /etc/dhcp/dhcpd.conf

#修改内容如下------------------------------------
allow booting;
allow bootp;
ddns-update-style interim;
#ignore client-update; 这个报错

option domain-name "canway.net";
option domain-name-servers 192.168.184.10;

default-lease-time 600;
max-lease-time 7200;

log-facility local7;

subnet 192.168.184.0 netmask 255.255.255.0 {
  range 192.168.184.100 192.168.184.200;
  option routers 192.168.184.10;
  next-server 192.168.184.10;
  filename "pxelinux.0";
}
#配置文件内容如上-----------------------------------

systemctl start dhcpd
#如果重起不了检查配置文件

这时候DHCP就配置完成了,新建一台虚拟机,网卡选择仅主机模式,开机会由这台服务器来分配ip。

TFTP

yum install tftp-server
yum enable tftp
yum start tftp
yum install xinetd
vim /etc/xinetd.d/tftp  #改 disable=no
systemctl restart xinetd

#我们需要syslinux包里的一些文件,所以安装syslinux
yum install syslinux

#我们需要找到pxelinux.0文件的路径,使用
rpm -ql syslinux

#将pxelinux.0文件复制到/var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux.0

#我们还需要从系统镜像中复制几个文件如下:
#/cdrom/image/pxeboot/里面的initrd.img和vmlinuz
#/cdrom/isolinux/里面的vesamenu.c32和boot.msg
cp /mnt/cdrom/image/pxeboot/initrd.img /var/lib/tftpboot/initrd.img
cp /mnt/cdrom/image/pxeboot/vmlinuz /var/lib/tftpboot/vmlinuz
cp /mnt/cdrom/isolinux/vesamenu.c32 /var/lib/tftpboot/vesamenu.c32
cp /mnt/cdrom/isolinux/boot.msg /var/lib/tftpboot/boot.msg

#然后在/var/lib/tftpboot里面创建文件夹pxelinux.cfg
cd /var/lib/tftpboot
mkdir pxelinux.cfg

#复制isolinux.cfg文件并改名为default,放在pxelinux.cfg文件夹里
cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

修改default文件

把default vesamenu.c32改成default linux是为了开机自动安装,默认是那个选择安装还是选择检查安装包完整性那个,这样就自动选择安装了。

#default vesamenu.c32
default linux

修改label linux

把路径换成http的路径

# append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.4x20Server.x86_64 quiet
append initrd=initrd.img ks=http://192.168.184.10/ks.cfg

HTTP

yum install httpd
yum enable httpd
yum start httpd

#把ks.cfg复制过来,系统家目录有个默认的ks文件,自己可以定制修改。
cp -a ~/anaconda-ks.cfg /var/www/html/ks.cfg
chown apache:apache ks.cfg
chmod 777 ks.cfg

然后把光盘挂载过来或者复制过来

ks.cfg的cdrom那里改成url --url=http://192.168.184.10/cdrom