目录
一、PXE原理
PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel设计的协议,它允许计算机通过网络启动。这个协议工作在Client/Server模式下,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统。PXE更好地解决了以下问题:
- 自动化:PXE允许自动安装和配置操作系统,减少了手动操作的工作量。
- 远程实现:通过网络远程安装操作系统,无需物理介质,方便管理远程服务器。
- 规模化:特别适用于大规模服务器部署,可以同时装配多台服务器。
- 安全化:无盘系统
严格来说,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启动:当终端进入网卡启动时,会发送一个特殊的PXE启动请求到本地网络上的DHCP服务器。
- DHCP服务:DHCP服务器收到PXE启动请求后,会向计算机发送DHCP响应,DHCP响应包含了计算的网络配置信息,以及PXE引导服务器的IP地址——TFTP Server(Trivial File Transfer Protocol)。
- TFTP传输:计算机收到DHCP响应后,会使用TFTP从Server下载引导文件——pxelinux.0(legacy启动)或者bootx64.efi(UEFI启动)。
- 加载引导文件:计算机加载并执行从TFTP下载的引导文件。引导文件通常是一个小型的Linux内核,能够连接到PXE服务器并获取操作系统镜像。
- 获取配置信息:引导文件连接到PXE服务器后,会通过TFTP发送请求以获取更多的配置信息。
- 获取操作系统镜像:PXE服务器根据计算机的请求,将系统镜像发送给计算机。
- 操作系统加载:一旦操作系统映像文件下载完成,计算机会加载并执行该映像文件。此时,计算机将完全从网络上运行操作系统,而无需本地硬盘上的安装。
二、PXE服务器的搭建
2.1 CentOS下PXE服务器的搭建
本文将在IP地址为10.20.43.10的centos系统下搭建PXE服务器,为另外一台计算机分配IP,并安装操作系统。
准备工作:
(1)如果没有网络或网络情况差可以先配置yum本地源
(2)关闭防火墙
systemctl stop firewalld.service #暂时关闭,重启失效
systemctl disable firewalld.service #永久关闭
(3)关闭selinux服务
vim /etc/selinux/config