PXE预启动执行环境

PXE是Intel开发的技术,允许工作站通过网络从远程服务器启动操作系统。它的工作原理是BIOS加载PXE客户端,然后下载启动软件包到内存执行。PXE启动过程包括安装、启动服务和配置共享文件,如启用DHCP服务和设置 PXE 引导配置。通过PXE,可以实现无盘工作站并高效地安装系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PXE

1 pxe是什么?疑问

        PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系统等。

2 pxe表现形式: 

PXE最直接的表现是,在网络环境工作站可以省去硬盘,但又不是通常所说的无盘站的概念,因为使用该技术的PC在网络方式下的运行速度要比有盘PC快3倍以上。当然使用PXE的PC也不是传统意义上的TERMINAL终端,因为使用了PXE的PC并不消耗服务器的CPU,RAM等资源,故服务器的硬件要求极低。

3 PXE启动原理

当计算机引导时,BIOS把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行

4 启动过程

PXE是RPL的升级品,它是Preboot Execution Environment的缩写。它们的不同之处在于RPL是 静态路由,而PXE是 动态路由。其通信协议采用TCP/IP,与Internet连接高效而可靠,PXE 无盘工作站的启动过程分析如下:
¨ 客户端个人电脑开机后, 在 TCP/IP Bootrom 获得控制权之前先做自我测试。
¨ Bootprom 送出 BOOTP/ DHCP 要求以取得 IP。
¨ 如果服务器收到个人电脑所送出的要求, 就会送回 BOOTP/DHCP 回应,内容包括
客户端的 IP 地址, 预设网关, 及开机映像文件。否则,服务器会忽略这个要求。
¨ Bootprom 由 TFTP 通讯协议从服务器下载开机映像文件。
¨ 个人电脑通过这个开机映像文件开机, 这个开机文件可以只是单纯的开机程式也可
以是操作系统。
¨ 开机映像文件将包含 kernel loader 及压缩过的 kernel,此 kernel 将支持NTFS root
系统。
¨ 远程客户端根据下载的文件启动机器。

下面让我们用PXE网络引导程序来安装一个虚拟机吧:得意

1.install  #安装

yum install httpd dhcp tftp-server syslinux -y
httpd        ##共享安装资源
dhcp        ##分配ip以及让客户主机获取pxelinux.0文件
pxelinux.0    ##预安装环境头文件,用来指定读取后续文件的程序
tftp-server    ##提供tftp协议,令客户主机可以读取到预安装环境
syslinux    ##提供pxelinux.0文件
2.启动服务:

systemctl stop firewalld
systemctl disable firewalld
systemctl start httpd
systemctl enable httpd
##启用tftp服务
vim /etc/xinetd.d/tftp
14         disable= no
systemctl restart xinetd
chkconfig --list
xinetd based services:
    chargen-dgram:     off
    chargen-stream:    off
    daytime-dgram:     off
    daytime-stream:    off
    discard-dgram:     off
    discard-stream:    off
    echo-dgram:        off
    echo-stream:       off
    tcpmux-server:     off
    tftp:              on        ##tftp服务开启
    time-dgram:        off
    time-stream:       off
2.1##启用dhcp服务

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
option domain-name "example.com";    ##客户主机域名
option domain-name-servers 172.25.254.254; ##客户主机获得到的dns
default-lease-time 600;            ##默认租约期
max-lease-time 7200;            ##最长租约期
log-facility local7;            ##日志级别
subnet 172.25.254.0 netmask 255.255.255.0 {    ##网段,子网掩码
  range 172.25.254.60 172.25.254.70;    ##ip地址池
  option routers 172.25.254.250;    ##客户主机获得到的网关
  filename "pxelinux.0";        ##客户主机获得到的预安装环境头文件
  next-server 172.25.254.100;        ##指定头文件所在主机的ip
}

systemctl start dhcpd
systemctl enable dhcpd
3.设定共享文件
##制作安装源
mkdir  /var/www/html/rhel7.0
mkdir  /iso
mv /root/rhel-server-7.0-x86_64-dvd.iso  /iso/
mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0/
vim /etc/rc.d/rc.local
mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0/
chmod +x /etc/rc.d/rc.local
##制作预安装环境

cp /var/www/html/rhel7.0/isolinux/*  /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
systemctl restart xinetd
##设定自动化部署
yum install system-conifig-kickstart
system-config-kickstart        ---->/var/www/html/rhel7.0.cfg

vim /var/lib/tftpboot/pxelinux.cfg/default

label autoinstall    ##选项标签
  menu label ^Autoinstall RHEL7.0    ##标题
  kernel vmlinuz            ##启动的内核文件
  append initrd=initrd.img repo=http://172.25.254.100/rhel7.0 ks=http://172.25.254.100/rhel7.0.cfg
         ##初始化镜像         ##安装资源                ##自动安装脚本
实验操作:
  
   PXE网络引导程序:
    1  yum install httpd dhcp tftp-server syslinux -y
    2  systemctl stop firewalld.service
    3  systemctl disable firewalld.service
    4  systemctl start httpd
    5  systemctl enable httpd
    6  vim /etc/xinetd.d/tftp
    7  systemctl restart xinetd.service
    8  chkconfig --list


有镜像操作:   制作预安装环境

    1  vim /etc/rc.d/rc.local     2  chmod +x /etc/rc.d/rc.local     3  df     4  scp /var/www/html/source7.0/isolinux/* root@172.25.254.132:/var/lib/tftpboot/     9  cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf    10  vim /etc/dhcp/dhcpd.conf    11  systemctl restart dhcpd    12  systemctl enable dhcpd    13  cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    14  mkdir /var/lib/tftpboot/pxelinux.cfg    15  cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default    16  systemctl restart xinetd    设定自动化部署    17  yum install system-conifig-kickstart    18  vim /var/lib/tftpboot/pxelinux.cfg/default

开启dhcp服务,并部署dhcp服务

制作安装源:

vim /var/lib/tftpboot/pxelinux.cfg/default


安装一个虚拟机:


此时该虚拟机需要从dhcp服务器上获取到一个动态ip,然后kickstart 会告诉他接着去访问什么文件,然后通过tftp协议从安装源里获取到镜像从而完成虚拟机的pxe安装








评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值