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

挂载光盘镜像

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

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

继续编写配置文件

相关推荐
Avan_菜菜5 小时前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB1 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
zzzzzz3103 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220703 天前
如何搭建本地yum源(上)
运维
大树886 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠6 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质6 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz6 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工6 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信