PXE高效能批量网络装机

Posted 2567xl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PXE高效能批量网络装机相关的知识,希望对你有一定的参考价值。

PXE简介

PXE:Pre-boot Excution Environment,预启动执行环境

PXE 是由 Intel 公司开发的网络引导技术,工作在 Client / Server 模式,允许客户机通过网络从远程服务器

下载引导镜像,并加载安装文件或者整个操作系统。

若要搭载 PXE 网络体系,必须要满足以下条件:

●客户机的网卡支持 PXE 协议(集成 BOOTROM 芯片),且主板支持网络引导。

●网络中有一台 DHCP 服务器,以便为客户机分配地址、指定引导文件位置。

服务器通过TFTP(Trivial File Transfer Protocol)简单文件传输协议提供引导镜像文件的下载。

一、环境准备

1.1、硬件环境准备

角色

主机名/域名

IP地址

服务

备注

服务器

pxe.yunban.cn

192.168.2.10/24

ftp/tftp/dhcp/pxe/syslinux

 

客户端

 

自动获取

 

 

1.2、软件环境准备

软件名称

类型

版本

备注

CentOS

操作系统

7.0或以上版本

 

vsftp

应用软件

3.0或以上版本

 

dhcp

应用软件

4.0或以上版本

 

syslinux

应用软件

  5.2或以上版本

 

tftp-server

应用软件

5.2或以上版本

 

1.3、注意事项

1)        为每台服务器安装操作系统,服务器安装CentOS 7.0系统,主机名与设计保持一致;

2)        如果是使用VM安装,则为每台服务器安装好VMware Tools;

3)        为所有服务器主机分配好IP地址,可以选择禁用IPv6,使用IPv4环境(集体实验环境下,网络可以选择连接到VMnet1);

4)        所有服务器均处于局域网中,项目部署全程关闭iptables

二、服务器初始状态准备

1、IP地址配置如下:

 技术图片

2、主机名、防火墙以及selinux状态如下

 技术图片

三、部署FTP服务

1、安装FTP服务,并将安装源复制到/var/ftp/centos7目录下:

[root@pxe ~]# mount /dev/sr0 /media

[root@pxe ~]# yum -y install vsftpd

[root@pxe ~]# rpm -q vsftpd

vsftpd-3.0.2-10.el7.x86_64

[root@pxe ~]# mkdir /var/ftp/centos7

[root@pxe ~]# cp -ar /media/* /var/ftp/centos7/

[root@pxe ~]# du /var/ftp/centos7/

2508   /var/ftp/centos7/EFI/BOOT/fonts

6028   /var/ftp/centos7/EFI/BOOT

6032   /var/ftp/centos7/EFI

85652  /var/ftp/centos7/images/pxeboot

91924  /var/ftp/centos7/images

86028  /var/ftp/centos7/isolinux

286188 /var/ftp/centos7/LiveOS

3832540    /var/ftp/centos7/Packages

13236  /var/ftp/centos7/repodata

4315992    /var/ftp/centos7/

2.启动FTP服务,并设置为开机自启动

[root@pxe ~]# systemctl start vsftpd

[root@pxe ~]# systemctl enable vsftpd

Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

四、部署TFTP服务

1、安装TFTP服务

[root@pxe ~]# yum -y install tftp-server

[root@pxe ~]# rpm -q tftp-server

tftp-server-5.2-12.el7.x86_64

2、修改配置文件,开启TFTP服务,默认是关闭的

[root@pxe ~]# vim /etc/xinetd.d/tftp

10         wait                    = no

14         disable                 = no

3、启动TFTP服务,并设置为开机自启动。

[root@pxe ~]# systemctl start tftp

[root@pxe ~]# systemctl enable tftp

Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.

[root@pxe ~]# netstat -anput|grep 69

udp6       0      0 :::69                   :::*                                1/systemd

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

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

[root@pxe ~]# cd /var/ftp/centos7/isolinux/

[root@pxe isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot/

[root@pxe isolinux]# ll /var/lib/tftpboot/

总用量 42644

-r--r--r-- 1 root root 38508192 1月  25 23:22 initrd.img

-r-xr-xr-x 1 root root  5156528 1月  25 23:22 vmlinuz

2、准备kickstart配置文件

以本机/root/anaconda-ks.cfg为模板,部署其余服务器的操作系统

[root@pxe isolinux]# cd /root

[root@pxe ~]# cp /root/anaconda-ks.cfg /var/ftp/ks.cfg

[root@pxe ~]# chmod 777 /var/ftp/ks.cfg

[root@pxe ~]# ll /var/ftp/ks.cfg

-rwxrwxrwx 1 root root 955 1月  25 23:26 /var/ftp/ks.cfg

将添加安装源cdrom修改为ftp://192.168.2.21/centos7

[root@pxe ~]# vim /var/ftp/ks.cfg

5 url --url=ftp://192.168.2.10/centos7(指定安装源)

6 #cdrom(第六行注释点)

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

[root@pxe ~]# yum -y install syslinux

[root@pxe ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

[root@pxe ~]# ls /var/lib/tftpboot/

initrd.img  pxelinux.0  vmlinuz

[root@pxe ~]# cp /var/ftp/centos7/isolinux/isolinux.cfg /var/lib/tftpboot/

[root@pxe ~]# chmod 644 /var/lib/tftpboot/isolinux.cfg

[root@pxe ~]# ll /var/lib/tftpboot/

总用量 42676

-r--r--r-- 1 root root 38508192 1月  25 23:22 initrd.img

-rw-r--r-- 1 root root     3032 1月  25 23:33 isolinux.cfg

-rw-r--r-- 1 root root    26771 1月  25 23:32 pxelinux.0

-r-xr-xr-x 1 root root  5156528 1月  25 23:22 vmlinuz

4、创建pxe启动菜单

[root@pxe ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

[root@pxe ~]# mv /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

[root@pxe ~]# ll -R /var/lib/tftpboot/

/var/lib/tftpboot/:

总用量 42672

-r--r--r-- 1 root root 38508192 1月  25 23:22 initrd.img

-rw-r--r-- 1 root root    26771 1月  25 23:32 pxelinux.0

drwxr-xr-x 2 root root       20 1月  25 23:36 pxelinux.cfg

-r-xr-xr-x 1 root root  5156528 1月  25 23:22 vmlinuz

 

/var/lib/tftpboot/pxelinux.cfg:

总用量 4

-rw-r--r-- 1 root root 3032 1月  25 23:33 default

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

[root@pxe ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

1 default linux

2 prompt 0

3 timeout 600

65   append initrd=initrd.img inst.repo=ftp://192.168.2.10/centos7 inst.ks=ftp://192.168.2.10/ks.cfg

六、部署DHCP服务

1、安装DHCP服务

[root@pxe ~]# yum -y install dhcp

[root@pxe ~]# rpm -q dhcp

dhcp-4.2.5-42.el7.centos.x86_64

2、修改DHCP配置文件

[root@pxe ~]# cat /usr/share/doc/dhcp*/dhcpd.conf.example > /etc/dhcp/dhcpd.conf

[root@pxe ~]# vim /etc/dhcp/dhcpd.conf

IPv4 DNS设置首选地址为本机地址,并设置默认租约为6小时,最长租约为12小时

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

启动DHCP服务器

[root@pxe ~]# systemctl start dhcpd

[root@pxe ~]# systemctl enable dhcpd

Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.

七、开启客户端测试

  创建客户机:

 技术图片

此时客户机获取到ip地址,并加载内核文件、初始化镜像文件。

 技术图片

客户机正在安装系统。

 技术图片

技术图片

系统安装成功

 技术图片

==========================================================================================

PS:rpm 地址及 epel

http://rpm.pbone.net/
http://rpmfind.net/

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

以上是关于PXE高效能批量网络装机的主要内容,如果未能解决你的问题,请参考以下文章

PXE高效能批量网络装机

PXE高效能批量网络装机

Linux系统——PXE高效能批量网络装机

Linux网络服务第六章PXE高效能批量网络装机

效率太高! 批量装机用哪个? PXE高效批量网络装机

PXE高效批量网络装机实现Kickstart无人值守安装