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

挂载光盘镜像

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

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

继续编写配置文件

相关推荐
fruge2 小时前
Ubuntu服务器已下载Nginx安装包的安装指南
服务器·nginx·ubuntu
Do_GH3 小时前
【Linux】07.Ubuntu开发环境部署
linux·运维·ubuntu
勤源科技3 小时前
全链路智能运维中的实时流处理架构与状态管理技术
运维·架构
tryCbest3 小时前
Linux使用Docker部署项目后期更新
linux·运维·docker
孤独得猿3 小时前
聊天室项目开发——etcd的安装和使用
linux·服务器·c++·etcd
楚韵天工4 小时前
宠物服务平台(程序+文档)
java·网络·数据库·spring cloud·编辑器·intellij-idea·宠物
竹等寒5 小时前
Linux-网络安全私房菜(二)
linux·服务器·web安全
早睡冠军候选人5 小时前
Ansible学习----Ansible Playbook
运维·服务器·学习·云原生·容器·ansible
sulikey5 小时前
从实验出发深入理解Linux目录权限:r、w、x分别控制什么?能否进入目录到底由谁决定?
linux·运维·服务器·ubuntu·centos
疯狂吧小飞牛5 小时前
ip rule 策略路由
linux·网络·tcp/ip·运维开发