PXE高效批量网络装机

什么是PXE

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

工作原理

  1. 计算机启动: 在计算机启动时,它会通过网络发送DHCP请求。

  2. DHCP分配IP地址: DHCP服务器响应并分配IP地址给计算机。

  3. DHCP提供PXE信息: DHCP服务器除了IP地址外,还提供PXE服务器的IP地址和引导文件路径。

  4. PXE服务器: PXE服务器响应PXE引导请求,提供引导文件。

  5. TFTP文件传输: 计算机使用TFTP协议从PXE服务器下载引导文件。

  6. 引导加载器: 引导文件中的引导加载器加载操作系统内核和其他引导文件。

  7. 操作系统启动: 引导加载器引导操作系统,计算机最终启动到操作系统环境。

实操(高效批量网路装机)

复制代码
yum install tftp-server.x86_64  dhcp syslinux vsftpd -y    //安装软件    

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example   /etc/dhcp/dhcpd.conf //生成dhcp 配置文件

vim   /etc/dhcp/dhcpd.conf                       //修改配置文件
subnet 192.168.17.0 netmask 255.255.255.0 {
  range 192.168.17.20 192.168.17.50;
  option routers 192.168.17.55;
  next-server 192.168.17.55;
  filename "pxelinux.0";
}


 
vim /etc/xinetd.d/tftp                                     //修改  tftp  配置文件  将yes 改为no
disable                 = no


准备四大文件
pxelinu.0
cp /usr/share/syslinux/pxelinux.0    /var/lib/tftpboot/


准备内核  驱动文件  
mount  /dev/sr0    /mnt
cd /mnt/isolinux/
cp vmlinuz  initrd.img    /var/lib/tftpboot/


准备手写配置文件
cd  /var/lib/tftpboot/
mkdir pxelinux.cfg
vim  pxelinux.cfg/default
default linux
timeout 600

   label  linux
          kernel vmlinuz
          append initrd=initrd.img   method=ftp://192.168.17.55/centos7

   label linux text
        kernel vmlinuz
        append text initrd =initrd.img method=ftp://192.168.17.55/centos7


准备yum仓库
mkdir /var/ftp/centos7
mount /dev/sr0  /var/ftp/centos7/

systemctl start dhcpd
systemctl start tftp.socket
systemctl start vsftpd




准备应答文件 自动安装操作系统
yum install system-config-kickstart -y      // 安装图形化界面  制作应答文件的工具


手动去添加应答文件过程  略


cd  /var/lib/tftpboot/
vim  pxelinux.cfg/default
default linux
timeout 600

   label  linux
          kernel vmlinuz
          append initrd=initrd.img   method=ftp://192.168.17.55/centos7  ks=ftp://192.168.17.55/centos7 

   label linux text
        kernel vmlinuz
        append text initrd =initrd.img method=ftp://192.168.17.55/centos7

服务端

复制dhcp文件的配置模板

编辑配置文件

编辑tftp的配置文件

将文件pxelinux.0到tftpboot路径下

挂载光盘镜像

下光盘镜像里创建一个配置文件

点开虚拟机进行系统配置(用超级管理员用户登录不然无法保存文件)

继续编写配置文件

相关推荐
Championship.23.246 小时前
Linux 3.0 锁机制与故障排查详解
linux·运维·服务器
风123456789~8 小时前
【Linux专栏】ls 排除某个文件
linux·运维·服务器
IpdataCloud8 小时前
担心IP暴露隐私?用安全IP查询工具自查,三步配置网络出口
网络·tcp/ip·安全·ip
xy34538 小时前
wireshark 如何捕获信息
网络·测试工具·渗透测试·wireshark
其实防守也摸鱼9 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
玖玥拾10 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
土星云SaturnCloud10 小时前
边缘计算驱动绿氢生产过程智能寻优:电解槽级实时优化技术解析
服务器·人工智能·ai·边缘计算
Darkwanderor10 小时前
对Linux的进程控制的研究
linux·运维·c++
Web极客码11 小时前
突破并发瓶颈:云端高性能架构如何赋能海外 AI Agent 矩阵的高效产出
服务器·人工智能·架构
一个有温度的技术博主11 小时前
【VulnHub 实战】DC-1 靶机渗透测试笔记(一):信息收集与主机发现
服务器·网络·笔记