DAY31 PXE批量装机

228 阅读3分钟

什么是PXE

PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE 协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。

PXE的原理

  1. bios加载 pxe rom 后,rom 中的 pxe client 先发起 dhcp 请求,智能网卡充当 pxe server,在校验报文的 mac 地址无误后,返回 ip、tftp服务器地址、引导文件名称

  2. pxe client 随即发起 tftp 请求,获取到引导文件,如 pxelinux.0

  3. 内存中执行 pxelinux.0,明确下一步去请求 pxelinux.cfg

  4. tftp 请求并解析 pxelinux.cfg,获悉内核和根文件信息,分别为 vmlinuz 和 initramfs,有版本区分

  5. tftp 请求内核和根文件,内存中引导启动

PXE装机需要的四大文件

  • pxelinux.0:引导程序。(来自syslinux程序)
  • default:引导程序的配置文件。(需要手写,可参考光盘 isolinux 目录下的 isolinux.cfg 文件)
  • vmlinuz:内核文件。(从光盘中获取,位于 isolinux 目录下)
  • initrd.img: 系统启动镜像文件。(从光盘中获取,位于 isolinux 目录下)

PXE具备以下三个优点:

1.规模化:同时装配多台服务器;

2.自动化:安装系统、配置各种服务;

3.远程实现:不需要光盘、U 盘等安装介质。

若要搭建 PXE 网络体系,必须满足以下几个前提条件:

1.客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从 Network 或 LAN 启动即可。

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

3.服务器要通过 TFTP服务(简单文件传输协议)来提供引导镜像文件的下载。

PXE自动装机实验:

第一步:服务端安装必须软件包 dhcp、tftp-server、vsftpd、syslinux,服务端虚拟网卡设置仅主机

  yum install dhcp tftp-server.x86_64 vsftpd syslinux -y

image.png

第二步:配置dhcp服务

image.png

模板导入后,我们进入文件编辑

         vim /etc/dhcp/dhcpd.conf

image.png

第三步:配置TFTP服务配置文件

 vim /etc/xinetd.d/tftp

image.png

第四步:配置centos安装源,并将文件考入目录中

image.png

image.png

第五步:配置启动菜单文件

image.png

image.png

image.png

第六步:关闭防火墙,启动服务

image.png

第七步:安装并配置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

image.png

第八步:在default添加ks参数

image.png

第九步:添加虚拟机测验

image.png

image.png

image.png

重新启动空白机,我们发现不需要更改参数也可以启动了