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路径下

挂载光盘镜像

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

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

继续编写配置文件

相关推荐
wanhengidc10 分钟前
云手机的硬件依赖性如何?
运维·服务器·智能手机·云计算
piaoroumi15 分钟前
UVC调试
linux·运维·前端
VekiSon21 分钟前
Linux系统编程——标准IO
linux·运维·服务器
kaikaile199527 分钟前
LDPC编解码与未编码信息的误码率比较
网络
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ1 小时前
aspect实现请求校验,但是WebSocket 端点类不能被 AOP 代理解决方案
网络·websocket·网络协议
Evan芙1 小时前
DNS服务器类型,解析答案,正反解析域,资源记录定义总结
运维·服务器
wanhengidc1 小时前
巨椰 云手机办公便利性高
运维·服务器·安全·智能手机·云计算
数字护盾(和中)1 小时前
从边界突破到物理破坏:APT 工控攻击链路与防御闭环
网络
Saniffer_SH1 小时前
【每日一题】PCIe答疑 - 接大量 GPU 时主板不认设备或无法启动和MMIO的可能关系?
运维·服务器·网络·人工智能·驱动开发·fpga开发·硬件工程
大白的编程日记.1 小时前
【计算网络学习笔记】Socket编程UDP实现简单聊天室
网络·笔记·学习