PXE网络批量装机(centos7)
目录
前言
一、实验拓扑图
二、PXE的组件
三、配置PXE装机服务器
1、设置防火墙、selinux
2.安装、启动vsftp
3、拷贝系统文件到/var/ftp用于装机
4、配置tftp
5、准备pxelinx.0文件、引导文件、内核文件
6、配置本机IP
7、配置DHCP服务
8、创建default文件
四、配置中继
1.添加网卡
2、配置网卡
3、添加路由功能
4、测试pxe 与中继的通联
五、新建测试主机用来测试装机效果
1、新建一台网卡2网段主机
2、新建一台网卡3网段的主机
六、配置无人值守的pxe装机
1、图形化配置
拷贝:从/root/anaconda-ks.cfg文件中拷贝软件安装字段到ks.cfg
2、修改default文件
3、验证
总结
前言
PXE(Preboot Execution Environment)装机是一种通过网络引导和安装操作系统的方法。它允许计算机在没有本地存储设备(如硬盘或光盘驱动器)的情况下,通过网络从远程服务器或网络共享位置加载操作系统安装文件并完成安装过程。
PXE装机通常用于大规模部署和远程管理计算机,特别适用于服务器和客户机环境。它可以大大简化操作系统的安装和配置过程,提高部署效率和一致性,并减少人工操作的需求。
PXE装机的基本工作原理如下:
1. 客户机(待安装的计算机)通过网络启动,并发送DHCP请求以获取IP地址和其他配置信息。
2. DHCP服务器回应并提供一个IP地址和PXE启动服务的相关配置。
3. 客户机使用TFTP(Trivial File Transfer Protocol)从PXE服务器下载引导程序(如pxelinux.0)。
4. 引导程序加载并启动,提供菜单和选项,允许用户选择所需的操作系统安装。
5. 客户机选择安装选项后,引导程序从PXE服务器下载适当的操作系统安装文件(如内核、初始化内存盘(initrd)和安装程序)。
6. 客户机使用下载的文件进行操作系统安装过程。
PXE装机的配置包括设置和维护PXE服务器、创建引导文件、设置DHCP服务器和TFTP服务器等。它通常与其他自动化工具(如Kickstart文件)结合使用,以实现自动化和批量化的操作系统部署。
一、实验拓扑图

条件:按照上述要求我们准备好设备,设置防火墙、selinux、添加各自的网卡
目的:实现不同网段的有人值守与无人值守装机
二、PXE的组件
- vsftpd/httpd/nfs负责提供系统的安装文件
- tftp负责提供系统安装前的引导文件与内核文件
- dhcp负责提供客户端的IP地址分配与pxe引导文件,及pxe服务器地址
三、配置PXE装机服务器
1、设置防火墙、selinux
systemctl stop firewalld.service
systemctl enable firewalld.service
setenforce 0
2.安装、启动vsftp
######配置本地yum
cd /etc/yum.repos.d
mkdir back
mv CentOS-* back
vim local.repo
###插入
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
###挂载sr0,安装vsftpd
mount /dev/sr0 /mnt
yum -y install vsftpd
systemctl start vsftpd
3、拷贝系统文件到/var/ftp用于装机
cd /var/ftp
mkdir centos7
cp -r /mnt/* /var/ftp/centos7
sync
4、配置tftp
###安装
yum install -y tftp-server
###修改配置文件
vim /etc/xinit.d/tftp
###修改处
disable=no
###启动
systemctl start tftp
5、准备pxelinx.0文件、引导文件、内核文件
###准备pxelinux.0文件
yum install -y syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
###准备引导文件、内核文件
cd /mnt/images/pxeboot
cp initrd.img vmlinuz /var/lib/tftpboot
6、配置本机IP

vim /etc/sysconfig/network-scripts/ifcfg-ens33
###改为
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.253
PREFIX=24
GATEWAY=192.168.100.254
###保存退出,重启网络、ip a 查看
systemctl restart network
ip a
7、配置DHCP服务
yum -y install dhcp
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
##删除前3段的subnet字段,修改剩下的字段
subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.1 192.168.100.252;#option domain-name-servers ns1.internal.example.org;#option domain-name "internal.example.org";option routers 192.168.100.254;option broadcast-address 192.168.100.255;default-lease-time 600;max-lease-time 7200;next-server 192.168.100.253;filename "pxelinux.0";
}
subnet 192.168.200.0 netmask 255.255.255.0 {range 192.168.200.1 192.168.200.252;#option domain-name-servers ns1.internal.example.org;#option domain-name "internal.example.org";option routers 192.168.200.254;option broadcast-address 192.168.200.255;default-lease-time 600;max-lease-time 7200;next-server 192.168.100.253;filename "pxelinux.0";
}
###启动DHCP服务
systemctl start dhcpd
8、创建default文件
cd /var/lib/tftpboot
mkdir pxelinux.cfg
cd pxelinux.cfg
vim default
###插入内容
default auto #默认安装标签
prompt 1 #等待用户确认,1表示等待,0表示不等待
label auto #定义标签kernel vmlinuz #指定内核append initrd=initrd.img method=ftp://192.168.100.253/centos7 #指定引导镜像文件与系统安装文件
有人值守的方式已经基本配置好了
四、配置中继
1.添加网卡

2、配置网卡
###设置防火墙、selinux
systemctl stop firewalld.service
setenforce 0
###
cd /etc/sysconfig/network-scripts
vim ifcfg-ens33
##改为
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.254
PREFIX=24
###############################################
vim ifcfg-ens37
##改为
OTPROTO=static
NAME=ens37
DEVICE=ens37
ONBOOT=yes
IPADDR=192.168.200.254
PREFIX=24
3、添加路由功能
####安装DHCP
yum -y install dhcp
dhcrelay 192.168.100.253
vim /etc/sysctl.conf
####文末插入
net.ipv4.ip_forward = 1
###保存退出
sysctl -p
4、测试pxe 与中继的通联

五、新建测试主机用来测试装机效果
1、新建一台网卡2网段主机



都选下一步
使用网卡2

开机,连接成功,按下回车开始安装


2、新建一台网卡3网段的主机
创建方式同上,我就不啰嗦了。这里把网卡改成3就好

开机验证
回车+耐心等待

测试完毕,结果ok
六、配置无人值守的pxe装机
1、图形化配置
##使用图形界面配置
yum install -y system-config-kickstart.noarchsystem-config-kickstart
执行完上述命令后会出现图形化界面
下面开始配置






脚本看你的需求
保存


查看保存文件的位置
拷贝:从/root/anaconda-ks.cfg文件中拷贝软件安装字段到ks.cfg
vim anaconda-ks.cfg
##复制以下字段插入到ks.cfg
%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@development
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
chrony
kexec-tools%end
拷贝
cp ks.cfg /var/ftp
2、修改default文件
vim /var/lib/tftpboot/pxelinux.cfg/default
###修改
default auto
prompt 0
label autokernel vmlinuzappend initrd=initrd.img method=ftp://192.168.100.253/centos7 ks=ftp://192.168.100.253/ks.cfg
3、验证
创建一台192.168.100.0网段的新主机开机
创建一台192.168.200.0网段的新主机开机
等待一会它已经自己连接上了,开始装系统了。我们什么也不用做,等待就好


终于好了,输入我们在图形化设置中设置的密码登录root账户

查看192.168.100.0段的新主机

查看192.168.200.0段的新主机

总结
本次实验成功的对不同网段的新主机进行了有人值守的PXE装机和无人值守的PXE装机,通过实验结果来看基本达到了预期的目的。本次实验中的步骤大致分为配置PXE服务器和中继设备,最主要的就是我们pex服务器的设置:
vsftpd/httpd/nfs负责提供系统的安装文件
tftp负责提供系统安装前的引导文件与内核文件
dhcp负责提供客户端的IP地址分配与pxe引导文件,及pxe服务器地址
相关文章:
PXE网络批量装机(centos7)
目录 前言 一、实验拓扑图 二、PXE的组件 三、配置PXE装机服务器 1、设置防火墙、selinux 2.安装、启动vsftp 3、拷贝系统文件到/var/ftp用于装机 4、配置tftp 5、准备pxelinx.0文件、引导文件、内核文件 6、配置本机IP 7、配置DHCP服务 8、创建default文件 四、配…...
P1104 生日
题目描述 cjf 君想调查学校 OI 组每个同学的生日,并按照年龄从大到小的顺序排序。但 cjf 君最近作业很多,没有时间,所以请你帮她排序。 输入格式 输入共有 n 1 n 1 n1 行, 第 1 1 1 行为 OI 组总人数 n n n; …...
计算机网络复习大纲
第一章 计算机网络概述 一,网络发展的形态 了解:当前网络的组成形态: 二,计算机网络的定义 掌握 网络的物理组成实体 网络的工作方式 网络组建的目的 三,通过网络定义 我们如何学习网络 物理实体如何构成&…...
Linux:进程(概念)
学习目标 1.认识冯诺依曼系统 2.认识操作系统概念与定位 (系统调用接口) 3.理解进程的概念(PCB) 4.理解进程的状态(fork创建进程,僵尸进程及孤儿进程) 5.了解进程的调度(优先级,竞争性ÿ…...
智能机器人:打造自动化未来的关键技术
文章目录 1. 智能机器人的基本概念2. 智能机器人的关键技术2.1 机器视觉2.2 机器学习与深度学习2.3 传感器技术 3. 智能机器人的应用领域3.1 制造业3.2 医疗保健3.3 农业3.4 服务业 4. 智能机器人的未来趋势4.1 自主决策能力的提升4.2 协作与互操作性4.3 个性化定制4.4 环境感知…...
大数据(七):Pandas的基础应用详解(四)
专栏介绍 结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》 再推荐一下最近热更的:《大厂测试高频面试题详解》 该专栏对…...
【1day】万户协同办公平台 ezoffice未授权访问漏洞学习
注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录...
适配器模式:如何让不兼容的接口变得兼容
在软件开发中,我们经常会遇到这样的情况:我们需要使用一个现有的类或者接口,但它与我们系统的目标接口不兼容,而我们又不能修改它。这时候,我们该怎么办呢?大多数情况下我们都可以使用适配器模式来解决这个…...
sentinel熔断报java.lang.reflect.UndeclaredThrowableException
背景:内部要进行应用jdk&springboot升级,因此也需要将Spring Cloud Hystrix 替换成alibaba sentinel。 依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</a…...
工业4G路由器的户外组网与无人值守场景应用
工业4G路由器是专为不便电缆布线的工业或日晒雨淋网络不畅的户外环境所设计的网络设备。它能够在没有光纤宽带的情况下使用插卡的方式提供4G或无线WiFi的网络支持。具备工业级防水功能,能够在户外环境下进行网络部署,并实现无人值守运行。工业4G路由器还…...
中移粤港澳大湾区创新研究院、南湖研究院类脑实验室面试(部分)
中移粤港澳大湾区创新研究院 reids热key的高并发量,导致此redis节点的cpu使用率爆满,有什么优化方案?高并发情况下为了保证平台正常运行,怎么设置平台的监控和告警 南湖研究院类脑实验室 笔试通过后,面试无后续...
API 自动化测试难点总结与分享
API自动化测试的难点包括: 接口的参数组合较多,需要覆盖各种可能的情况。接口的状态和数据关联较多,需要验证返回结果是否符合预期。接口的并发访问和性能测试较为复杂,需要合理规划和调度测试策略。接口的安全性和权限控制较为重…...
【每日一题】补档 ABC309F - Box in Box | 三维偏序 | 树状数组 | 中等
题目内容 原题链接 给定 n n n 个箱子,问是否存在一个箱子 x x x 是否可以放到另一个箱子 y y y 里。 需要满足 h x < h y , w x < w y , d x < d y h_x<h_y,w_x<w_y,d_x<d_y hx<hy,wx<wy,dx<dy。 箱子可以随意翻转。 …...
异步编程 - 13 高性能线程间消息传递库 Disruptor
文章目录 Disruptor概述Disruptor中的核心术语Disruptor 流程图 Disruptor的特性详解基于Disruptor实现异步编程 Disruptor概述 Disruptor是一个高性能的线程间消息传递库,它源于LMAX对并发性、性能和非阻塞算法的研究,如今构成了其Exchange基础架构的核…...
(DXE_DRIVER)PciHostBridge
UEFI-PciHostBridge 1、PciHostBridge简介 PciHostBridge: 提供PCI配置空间,IO,MEM空间访问接口以及统一维护平台相关的PCI资源,提供gEfiPciHostBridgeResourceAllocationProtocolGuid,创建RootBridge等为PciBusDxe提供服务; 2、PciHostBridge 配置空间 PCI桥可管理其下PCI子…...
SpringMVC的增删改查的案例
目录 前言: 1.总体思路: 2.前期准备 3.前台页面 前言: 我们今天来学习研究SpringMVC的增删改查,希望这篇博客能够帮助正在学习,工作的你们!!! 1.总体思路: 首先我们得…...
golang入门笔记——nginx
文章目录 Nginx介绍Nginx的安装Nginx文件Nginx反向代理负载均衡nginx动静分离URLRewrite防盗链nginx高可用配置安全性Nginx限流Nginx缓存集成Lua脚本OpenRestry Nginx介绍 Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强&#x…...
最新报告!TikTok 市场小家电大商机,GMV破亿的爆款如何复制?
近期,新锐小家电品牌Gaabor空气炸锅在东南亚卖爆了,单款商品GMV短时间内突破两亿,在印尼、泰国、马来西亚、菲律宾、越南均开设本土TikTok 小店,增长势头还在持续。 但Gaabor并不是个例。 整个东南亚家电市场规模增长迅速&#…...
功能定义-紧急制动系统
功能简介 紧急制动系统的触发过程如上图所示: 安全距离报警:当两车距离较近时,会给予驾驶员相应提示 预报警:当两车存在碰撞风险但风险较低【Danger Level1】时,会给予驾驶员提示【提示相比之前更为明显】 制动预填充&…...
Map与Set的区别
map与set是一种进行搜索的数据结构。 一 Map map存储的是key-value的键值对。 1 map中的常见方法 方法作用put(key,value)向map中存放key-value键值对get(key)根据key值得到value值getOrDefault(key,value)获取值为key的value,若不存在,则将key值对应…...
OFA-Image-Caption模型服务监控与告警体系搭建
OFA-Image-Caption模型服务监控与告警体系搭建 你辛辛苦苦把那个能看懂图片并生成描述的OFA模型部署上线了,业务方用得很开心,每天处理着成千上万的图片。但某天深夜,你突然被电话吵醒:“服务挂了!所有图片都卡住了&a…...
问题解决:AI股票分析师启动失败?自查脚本与Ollama服务加载
问题解决:AI股票分析师启动失败?自查脚本与Ollama服务加载 1. 引言 你满怀期待地部署了那个“AI股票分析师”镜像,点击启动,然后……页面一片空白,或者提示服务不可用。这种感觉就像准备大展拳脚时,发现工…...
M2LOrder模型管理实战:Python脚本自动扫描/opt目录并生成模型索引表
M2LOrder模型管理实战:Python脚本自动扫描/opt目录并生成模型索引表 1. 项目背景与需求 在实际的AI模型部署和维护过程中,我们经常会遇到模型文件分散存储、版本混乱、信息不透明的问题。M2LOrder情感识别系统就是一个典型的例子,它包含了9…...
STM32duino S2-LP无线驱动库:Sub-1GHz低功耗可靠通信实现
1. 项目概述STM32duino X-NUCLEO-S2868A2 是一款面向 STM32 平台的 Arduino 兼容库,专为驱动意法半导体(STMicroelectronics)推出的 X-NUCLEO-S2868A2 扩展板而设计。该扩展板核心搭载 S2-LP 超低功耗 Sub-1GHz 射频收发器芯片(型…...
别再死记ResNet结构了!用PyTorch手搓一个ResNet-50,从零理解残差连接
从零构建ResNet-50:用PyTorch拆解残差网络的秘密 深度学习领域最令人着迷的突破之一,莫过于残差网络(ResNet)的诞生。2015年,何恺明团队提出的这一架构不仅横扫ImageNet竞赛,更彻底改变了我们对深度神经网络…...
毕业设计实战:基于SpringBoot+Vue+MySQL的智慧党建系统设计与实现指南
毕业设计实战:基于SpringBootVueMySQL的智慧党建系统设计与实现指南 在开发“基于SpringBootVueMySQL的智慧党建系统”毕业设计时,曾因活动报名记录表未通过党员ID与党建活动ID双外键关联踩过关键坑——初期仅单独设计报名记录表的报名编号字段ÿ…...
告别模糊概念:用ESP32 iperf例程和电脑热点,5分钟搞定无线模块压力测试
5分钟极简方案:用ESP32和电脑热点构建无线性能测试环境 在嵌入式开发中,无线模块的性能测试往往需要复杂的网络环境支持。但现实情况是,大多数开发者并不具备专业的测试设备或实验室环境。想象一下这样的场景:你正在咖啡厅调试一个…...
从随机采样到精准决策:蒙特卡罗方法在复杂系统建模中的实践
1. 蒙特卡罗方法:用随机性破解复杂世界的密码 想象你是一位古代数学家,手里只有一把沙子和一块画着方格的石板。现在要计算一个不规则形状的湖泊面积,你会怎么做?最原始的方法可能是把沙子均匀撒在石板上,然后数出落在…...
AI教材生成大揭秘!工具选择与低查重教材编写的实用干货
在教材编写的过程中,许多编辑者常常会感到遗憾:尽管正文章节已经经过了反复打磨,但因为缺乏必要的配套资源,整体教学效果却受到影响。课后练习的设计需要具有层次感,但缺乏灵活的想法;教学课件希望能做到形…...
让ai成为你的vue开发搭档,用快马智能优化代码性能与结构
让AI成为你的Vue开发搭档,用快马智能优化代码性能与结构 最近在开发一个Vue3项目时,遇到了几个性能瓶颈问题。作为一个前端开发者,性能优化是绕不开的话题。幸运的是,借助AI辅助开发工具,这些问题都能得到更高效的解决…...




