pxe高效批量网络装机

103 阅读3分钟

dPXE高效批量网络装机

什么是 pxe

PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。

pxe是通过网卡引导启动

1.1实现的硬件条件

1.BIOS支持

2.网卡支持(现在基本都已支持)

3.需要在bios中开启开关,服务器一般没打开(bmc界面里打开)

4.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置 网卡自带DHCP功能 dhcp 指明分配的ip地址

vsftpd tftp

5.服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载 udp()协议 网卡自带这个功能(不支持其他的远程共享服务)

自带的站点(/var/lib/tftp?) initrd.img(驱动) vmlinuz(内核) pxelinux.cfg/default(引导文件) pxelinux.0(小型的grub程序) tftp 指明?

实现过程

1.网卡需要查找相关的dhcp服务器(获取地址时间)

2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)

3.网卡使用tftp客户端吧引导程序加载到内存中来

4.bios执行引导程序

5.引导程序会去TFTP去查找配置文件

6.根据配置文件去引导安装系统

7.系统安装过程

image-20220323021636569.png

搭建过程

TFTP服务

1.TFTP(简单文件传输协议内核和引导文件

是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。

2.vsftp:安装系统镜像文件获取方式 ftp文件传输的一种。

3 syslinux

它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘

4 DHCP服务

给客户端分配ip地址,子网掩码,路由。

操作过程

  1. 分配给同一局域网内新加机器的地址(配置文件) dhcp 分配地址 指明tftp 服务器的地址
  2. tftp服务端开启 udp 配置 默认关闭
  3. 安装syslinux 取得 pxelinux.0 文件
  4. 安装vsftpd服务挂载软件安装源(mount /dev/sr0 /var/ftp/centos7)
  5. 将四大文件拷入 (/var/lib/tftpboot )
  • initrd.img 
  • pxelinux.0  (类似grub)
  • pxelinux.cfg/default (手写) 
  • vmlinuz

6.将服务开启,关闭防火墙,selinux

搭建PXE远程服务器步骤

1.yum install tftp-server vsftpd syslinux dhcp -y 下载软件 2. 将配置文件模板复制到dhcp目录下

[root@localhost ~]# cat /etc/dhcp/dhcpd.conf 
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example                 //配置文件模板在此目录下
#   see dhcpd.conf(5) man page

[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf      //将模板文件覆盖掉配置文件
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
vim /etc/dhcp/dhcpd.conf

1714994290994.png 3.修改tftp-server 配置文件

image.png

1714995507119.jpg 4 vsftpd服务挂载软件安装源(mount /dev/sr0 /var/ftp/centos7)

cd /var/ftp
mkdir centos7
mount /dev/sr0 /var/ftp/centos7/

5 将四大文件拷入 (/var/lib/tftpboot )

 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    //拷贝到站点文件里

image.png

image.png

重启服务systemctl restart dhcpd vsftpd tftp.socket

关防火墙systemctl stop firewalld.service

setenforce 0

6 安装kickstart

yum install system-config-kickstart -y

image.png

image.png

image.png

image.png

image.png

image.png

image.png image.png image.png

保存

image.png

image.png

重启服务systemctl restart dhcpd vsftpd tftp.socket 完成