PXE 的定义
PXE (Preboot Execute Environment) 是一种引导方式,而非安装方式。它工作在 Client/Server 网络模式下,允许工作站通过网络从远程服务器下载操作系统映像并启动。要使用 PXE 安装系统,计算机需配备支持 PXE 的网卡,其 ROM 中包含 PXE Client。当计算机启动时,BIOS 加载 PXE Client,PXE Client 通过网络从远端服务器下载文件并在本地运行。
PXE 协议分为 client 和 server 端,运行时需要配置 DHCP 和 TFTP 服务器。DHCP 服务器为 PXE Client(待安装系统的主机)分配 IP 地址,并在配置时需启用相应的 PXE 设置。PXE Client 通过内置的 TFTP Client,从 TFTP 服务器下载启动所需的文件。
PXE 使用所需条件
- 客户端的网卡必须要支持 PXE 功能,并且开机选择从网卡启动,进入 PXE 程序。
- PXE 服务器必须要提供至少含有 DHCP 以及 TFTP 的服务。
- DHCP 服务提供客户端网络,并且告知 TFTP 所在的位置。
- FTP 提供客户端 boot loader 及 kernel file 下载路径。
PXE 工作流程图

Kickstart 的定义
- Kickstart 是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为 ks.cfg 的文件。如果在安装过程中(不只局限于生成 Kickstart 安装文件的机器)出现要填写参数的情况,安装程序首先会去查找 Kickstart 生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果 Kickstart 文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取 ks.cfg 文件,然后就去忙自己的事情。等安装完毕,安装程序会根据 ks.cfg 中的设置重启系统,并结束安装。
- 目的是为了 减少系统安装的过程中的人机交互,提高安装效率
Kickstart 工作流程图

部署环境
- 客户端可以是裸机,客户端和服务器,必须处于同一 广播域
- 客户端的网卡,必须拥有 PXE ROM (preboot execution Enviroment)芯片,远程引导技术。
- 客户端的 BIOS 开启网络启动功能,并将网络引导作为首选启动项。
使用一台服务器搭建,实现全自动化部署
dhcp + tftp + http + kickstart
系统的安装方式可以选择 HTTP、FTP、 NFS,这里介绍 HTTP 方式的安装
配置网卡
DHCP 网口需要配置静态 IP,以下示例为 CentOS 7 基础配置。
shell
1 | TYPE=Ethernet |
关闭防火墙以及 SELinux
shell
1 | 停止防火墙服务 |
安装配置 DHCP 服务
shell
1 | 安装 dhcp 服务 |
shell
1 | cat <<EOF >> /etc/dhcp/dhcpd.conf |
shell
1 | 启动 dhcp 服务并设置自启 |
安装配置 TFTP 服务
shell
1 | 安装 tftp 与 xinetd |
shell
1 | 重启 xinetd 服务并设置自启 |
安装 HTTPD 服务
默认服务路径为 /var/www/html
shell
1 | yum install httpd -y |
shell
1 | 启动 http 服务并设置自启 |
安装 syslinux 加载器
shell
1 | yum install syslinux -y |
引导与安装文件准备
shell
1 | 创建主目录 |
修改 ks 文件中的安装文件获取方式
默认值为 cdrom
shell
1 | Use CDROM installation media |
需要修改为从 http 服务器获取
shell
1 | Use CDROM installation media |
开始安装
将服务器或物理机的引导选项设置为 PXE 启动即可
自定义脚本执行
待完善···
- 本文链接: https://mikuac.com/pxe/
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
0/500