PXE批量自动装机Centos 7

设置静态IP

关闭防火墙

systemctl stop firewalld

iptables -F

setenforce 0

PXE部署

一部署FTP服务,安装包vsftpd

1建立共享文件夹 (可以拷贝光碟文件到centos7下,也可直接挂载)

mkdir /var/ftp/centos7

2启动FTP服务,设置开机自启 vsftpd

二部署TFTP服务,安装包tftp-server

1开启TFTP服务,要修改配置文件

vim /etc/xinetd.d/tftp

wait = no

disabled = no

2启动TFTP服务,设置开机自启

systemctl start tftp

systemctl enable tftp

(查看69端口,netstat -anupt | grep 69)

三准备相关文件以及PXE引导程序

1准备Linux内核、初始化镜像文件

cp /var/ftp/centos7/isolinux/vmlinuz(内核) initrd.img(镜像文件) /var/lib/tftpboot/

2准备kickstart配置文件

cp /root/anaconda-ks.cfg /var/ftp/ks.cfg

chmod 777 /var/ftp/ks.cfg

添加安装源cdrom修改为ftp://服务端IP/centos7

vim /var/ftp/ks.cfg

添加url --url=ftp://服务端IP/centos7 (安装源)

注解掉#cdrom

3准备PXE引导程序、启动菜单文件:

准备引导程序

安装syslinux

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

现在/var/lib/tftpboot下会有三个文件(initrd.img镜像文件、pxelinux.0引导程序、 vmlinuz内核)

准备启动菜单

cp /var/ftp/centos7/isolinux/isolinux.cfg /var/lib/tftpboot/

chmod 644 /var/lib/tftpboot/isolinux.cfg

4创建PXE启动菜单

mkdir /var/lib/tftpboot/pxelinux.cfg

mv /var/lib/tstpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

5修改PXE启动菜单,指定安装源位置PXE和ks.cfg文件位置

vim /var/lib/tftpboot/pxelinux.cfg/default

1 default linux (修改)

2 prompt 0 (添加)

3 timeout 600 (一般不用修改)

(label linux 修改65行)

65 append initrd=initrd.img inst.repo=ftp://服务端IP/centos7 inst.ks=ftp://服务端IP/ks.cfg (修改)

六部署DHCP服务

1安装包dhcp

2修改配置文件

cat /usr/share/doc/dhcp*/dhcpd.conf.example > /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf

7 option domain-name "pxe.yunban.cn";

8 option domain-name-servers 192.168.2.10;

10 default-lease-time 21600;

11 max-lease-time 43200;

创建DHCP的作用域,定义地址池,指定引导文件位置,以及tftp服务地址

27 subnet 192.168.2.0 netmask 255.255.255.0 {

28 range 192.168.2.10 192.168.2.100;

29 next-server 192.168.2.10;

30 filename "pxelinux.0";

31 }

设置主机声明,将本机网卡的MAC地址与IP地址进行绑定

65 host pxe.yunban.cn {

66 hardware ethernet 00:0c:29:08:9b:a5;

67 fixed-address 192.168.2.10;

68 }

3启动DHCP服务和开机自启dhcpd