pxe架构
PXE(Preboot Execution Environment,预启动执行环境)是一种网络引导技术,允许计算机通过网络接口从网络服务器上获取启动所需的配置和软件,并进行启动。这种技术常用于无盘工作站、笔记本电脑的远程部署、系统维护或故障恢复等场景。
PXE 架构主要包括以下几个组件:
-
PXE 客户端:
- 这是指支持 PXE 引导功能的计算机或设备,通常内置在主板的网络适配器中。
- 当客户端开机时,它会尝试通过网络获取启动信息。
-
PXE 服务器:
- 提供 PXE 引导服务的服务器,通常是运行 DHCP (Dynamic Host Configuration Protocol) 和 TFTP (Trivial File Transfer Protocol) 服务的机器。
- DHCP 服务器负责为 PXE 客户端分配 IP 地址,并提供 TFTP 服务器的位置。
- TFTP 服务器则提供实际的引导文件和其他相关文件。
-
引导文件:
- 由 TFTP 服务器提供的小文件,包含了操作系统加载程序或引导加载程序。
- 它可以是一个简单的引导扇区,也可以是一个完整的 Linux 内核和根文件系统。
-
操作系统映像:
- 在某些情况下,可能需要通过 PXE 下载一个完整的操作系统映像到客户端,以便安装或更新操作系统。
PXE 架构的工作流程如下:
- 客户端请求 IP 地址:当支持 PXE 的客户端开机后,它会广播一个 DHCP 请求来获得 IP 地址和其他配置信息。
- DHCP 分配 IP 地址:DHCP 服务器响应客户端的请求,分配一个临时的 IP 地址,并告诉客户端 TFTP 服务器的位置以及要下载的引导文件名。
- 下载引导文件:客户端使用 TFTP 协议从 TFTP 服务器下载引导文件。
- 执行引导文件:客户端执行引导文件,这个文件可能会启动一个简单的操作系统或者直接加载一个操作系统内核。
- 加载操作系统:根据引导文件中的指令,加载操作系统映像或继续执行其他引导操作。
PXE 技术广泛应用于企业环境中,特别是在大规模部署操作系统和软件更新时非常有用。
一、流程
1、准备操作
1)首先查看虚机是否勾选自动分配dhcp地址
2)查看是否有图形界面
没有的话可以使用该指令进行下载
yum group install "Server with GUI" -y
并使用 init 5进行转换成图形界
init 5
2、安装图形化生成kickstart自动安装脚本工具、并启动
yum install system-config-kickstart
system-config-kickstart
在ks.cfg 添加下面几行:
vim ks.cfg
%packages
@base
httpd
%end
修改完后检查是否有语法错误:
ksvalidator ks.cfg
3、下载并配置http服务将iso镜像和ks.cfg文件上传到web服务上
yum install -y httpd
systemctl start httpd
将/dev/sr0 挂载到 /rhel7 上
mkdir /rhel7
mount /dev/sr0 /rhel7
将 /rhel7 软连接到 /var/www/html/
ln -s /rhel7 /var/www/html/
再将/root/ks.cfg 复制到 /var/www/html/
cp -p ks.cfg /var/www/html/
4、在server主机上的火狐浏览器进行验证
5、 安装并配置dhcp服务
# yum install dhcp
# \cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
# vim /etc/dhcp/dhcpd.conf
option domain-name "exam.com"; ## 公司名称
option domain-name-servers 114.114.114.114; ## 分发dnsdefault-lease-time 600; ## 超时时间
max-lease-time 7200; ## 租凭时间log-facility local7; ## 服务日志名称
subnet 192.168.160.0 netmask 255.255.255.0 { #子网掩码
range 192.168.160.10 192.168.160.20; #地址池
option routers 192.168.160.2; #网关next-server 192.168.160.136; ##找下一个服务(或文件)
filename "pxelinux.0"; ## 寻找到的文件名
}# systemctl start dhcpd
5、 部署引导加载程序syslinux和快速传输文件tftp
yum install -y syslinux tftp-server
systemctl enable --now tftp ## tftp服务自启并立即启动
cp -p /rhel7/isolinux/* /var/lib/tftpboot/ ##将镜像中引导 Linux 系统的文件复制到该目录下
cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ ##pxelinux 的主要引导文件复制到这里cd /var/lib/tftpboot/
mkdir pxelinux.cfg
cp isolinux.cfg pxelinux.cfg/default ##将该配置文件复制到pxelinux.cfg/default中# vim pxelinux.cfg/default
timeout 30 ## 设置超时时间
label linux
menu default ## 默认选择这第一个选项
menu label ^Install Red Hat shuanghua hahaha ## 设置显示的字符
kernel vmlinuz
append initrd=initrd.img repo=http://192.168.160.136/rhel7 ks=http://192.168.160.136/ks.cfg quiet ## 指定repo的地址和ks的地址 quiet表示静默label check
menu label Test this ^media & install Red Hat Enterprise Linux 7.9
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.9\x20Server.x86_64 rd.live.check quiet
6、客户机下载
1)新建虚拟机不需要选择镜像并且先进入bios系统
我们就可以进行模拟第一次安装系统,进入bios 选择第一次启动 ,并保存启动
我们要将他移到最上面,使用shift+就可以向上移动,最后进入系统,dhcp会进行为其分配地址,接着进行寻找网络源为自己安装系统。