当前位置: 首页 > news >正文

PXE批量装机

目录

PXE介绍

实现步骤

PXE服务器设置

PXE引导程序和镜像准备

无人值守安装配置

计算机启动和安装

优势和应用场景

pxe

开机过程

exp服务器

PXE实验步骤

1.修改仓库配置文件

关闭防火墙

安装FTP服务端

安装TFTP

提供引导程序

1.安装软件包

创建配置文件

详情介绍

安装DHCP

1.安装软件包 yum -y install dhcp

2.修改DHCP用户参数

启动配置文件

一. 环境配置

二. 测试


PXE介绍

PXE批量装机是指利用PXE(Preboot Execution Environment,预启动执行环境)技术,通过网络从一个中心服务器批量安装多台计算机的操作系统。这种方法通常用于企业或大型组织,以便快速、一致地部署大量计算机,同时减少人工操作和管理成本。

实现步骤

实现PXE批量装机通常需要以下步骤和组件:

  1. PXE服务器设置

    • DHCP服务器配置:在网络中设置一个DHCP服务器,它能够识别并响应来自PXE启动的计算机的请求。
    • TFTP服务器配置:配置一个支持TFTP(Trivial File Transfer Protocol)的服务器,用于存储PXE引导程序和操作系统镜像文件。
  1. PXE引导程序和镜像准备

    • PXE引导程序:在TFTP服务器上存放PXE引导程序,当计算机启动时,它会通过网络下载这个程序到计算机的内存中执行。
    • 操作系统镜像:准备好要安装的操作系统镜像文件,放置在TFTP服务器上。这些镜像可以是完整的操作系统安装文件或者无人值守安装所需的文件。
  1. 无人值守安装配置

    • 操作系统安装脚本:为了实现批量无人值守安装,通常需要编写自动化脚本或使用特定的配置工具(如Kickstart、Preseed等),以便自动化安装过程中的设置和配置。
  1. 计算机启动和安装

    • 启动计算机:通过BIOS或UEFI设置,确保计算机能够通过网络启动(PXE启动)。
    • PXE启动过程:计算机启动时,会发送PXE引导请求到网络中的DHCP服务器和TFTP服务器。DHCP服务器会分配IP地址和PXE服务器的地址,计算机接收到这些信息后会从TFTP服务器下载PXE引导程序。
    • 操作系统安装:一旦PXE引导程序加载到计算机的内存中,它会执行相应的引导过程,最终通过网络获取操作系统镜像文件并安装到计算机的本地存储设备中。

优势和应用场景

PXE批量装机的主要优势包括:

  • 效率和一致性:可以快速、同时地安装多台计算机,确保操作系统和配置的一致性。
  • 减少人工成本:自动化的安装过程减少了手动干预的需求,降低了管理和维护的成本。
  • 远程管理:可以远程管理和控制安装过程,无需直接物理访问每台计算机。

PXE批量装机适用于需要频繁更新或大规模部署操作系统的场景,如企业IT部门、数据中心、教育机构等。通过合理的配置和管理,可以有效地提升系统部署和管理的效率。

pxe

  1. iso系统镜像
  2. FTP
  3. DHCP
  4. TFTP(简单文件传输协议)内核文件、初始化镜像文件、引导程序、引导配置文件

开机过程

  1. 按下电源
  2. 开机自检(bios)
  3. 按照bios中设置的引导设备进行引导设备(光驱、硬盘、优盘、网卡)

TFTP

  1. 加载引导程序
  2. 加载初始化镜像文件
  3. 加载内核
  4. 进程树 systemd(init) (守护进程) (systemctl start)
  5. 装系统(系统文件)FTP

exp服务器

dhcp服务

客户端没有系统,网卡支持exp(没有ip地址),rarp (反向地址解析)

PXE实验步骤

1.修改仓库配置文件

vim /etc/yum.repos.d/CentOS-Media.repo进去修改

关闭防火墙

systemctl stop firewalld

setenforce 0

安装FTP服务端

yum -y install vsftpd

进入到 cd /var/ftp根目录

创建一个目录 mkdir /cenos7

拷贝文件 cp -rf /media/cdrom/* /var/ftp/centos7/

启动永久服务 systemctl enable vsftpd

安装TFTP

1.安装软件包 yum -y install tftp-server

打开tftp服务 vim /etc/xinetd.d/tftp

启动tftp服务 systemctl start tftp

systemctl enable tftp

cat TRANS.TBL下面拷贝cp vmlinuz initrd.img /var/lib/tftpboot/

提供引导程序

1.安装软件包

yum -y install syslinux

cd /usr/share/syslinux/下然后ls查看一下找到

拷贝这个文件到 cp pxelinux.0 /var/lib/tftpboot/下

创建配置文件

mkdir pxelinux.cfg创建一个文件cd到这个文件中vim default中编写

详情介绍
ault auto
这行指定了默认的引导选项。在这里,设定为"auto",意味着如果客户端没有选择特定的引导选项,系统将自动选择"auto"标签下的配置。
prompt 1
这行设置了在PXE引导时是否显示引导菜单。设置为1表示显示菜单,允许用户选择引导选项。
label auto
定义了一个名为"auto"的引导选项标签。
kernel vmlinuz
指定了内核文件的路径和文件名为"vmlinuz"。这是Linux操作系统内核的可执行文件。
append initrd=initrd.img method=
ftp://192.168.10.201/centos7
指定了引导时的附加参数。具体含义如下:
initrd=initrd.img: 指定了initrd镜像文件的路径和文件名为"initrd.img"。initrd是一个用于引导过程中加载必要驱动和文件系统的临时根文件系统。
**method=ftp://192.168.10.201/centos7**: 指定了安装介质的位置。在这里使用FTP协议从192.168.10.201服务器上的"/centos7"路径获取安装文件。
label linux text
定义了一个名为"linux text"的引导选项标签,与上面的"auto"类似,但是在这里加入了"text"参数。
append text initrd=initrd.img method=
ftp://192.168.10.201/centos7
与"auto"标签类似,但是在这里添加了"text"参数,这意味着系统将以文本模式进行安装。
label linux rescue
定义了一个名为"linux rescue"的引导选项标签。
append rescue initrd=initrd.img method=
ftp://192.168.10.201/centos7
指定了在救援模式下引导的参数。类似于前面的选项,但这里使用了"rescue"参数来指示启动救援模式

安装DHCP

1.安装软件包 yum -y install dhcp
2.修改DHCP用户参数

进入到vim /etc/dhcp/dhcpd.conf中

  1. subnet 192.168.10.0 netmask 255.255.255.0 {
    • 这部分指定了子网的配置,使用了192.168.10.0作为子网的起始IP地址,255.255.255.0作为子网掩码,这意味着该子网包含从192.168.10.1到192.168.10.254的所有IP地址。
  1. range 192.168.10.200 192.168.10.250;
    • 定义了DHCP服务器分配给客户端的IP地址范围。在这个例子中,DHCP服务器会分配192.168.10.200到192.168.10.250之间的IP地址给客户端设备。
  1. next-server 192.168.10.201;
    • 指定了PXE引导时使用的TFTP服务器的IP地址。这个IP地址(192.168.10.201)是PXE客户端在启动过程中从中获取启动文件的服务器地址。
  1. filename "pxeliux.0";
    • 指定了PXE引导文件的名称。在PXE启动过程中,客户端将从TFTP服务器上下载并执行名为"pxeliux.0"的文件。
启动配置文件

systemctl start dhcpd

一. 环境配置

安装所需软件包

在安装过Xmanager的前提下,输入system-config-kickstart命令

调出应答程序的图形化管理界面,如果你的操作系统没有桌面,应答程序的图形化管理界面是调不出来的

现在就可以配置装机时的系统参数了

添加分区

创建3个分区

需要注意的是,最后的 / 根分区需要选择使用磁盘上全部未用空间,也会在分区表中显示大小为1

修改防火墙配置

如果软件包选择的界面是空白的就要检查仓库文件的仓库标识是否为development

假如要安装一个带桌面的系统,勾选如下选项

去相应命令检查该文件是否生成

二. 测试

像有人值守的操作步骤一样新建虚拟机

进入系统不需要进行人为操作,自动安装好系统。至此实验结束

相关文章:

  • Flink DataSource介绍
  • 【html】用html+css实现银行的账户信息表格
  • Java面试——认证与授权
  • 【ARMv8/ARMv9 硬件加速系列 2 -- ARM NEON 加速运算介绍】
  • 浔川AI社宣布正式开创“浔川AI助手”——浔川AI社
  • 矩阵补全IGMC 学习笔记
  • ubuntu中如何使用supervisor管理进程
  • 毕业设计——可视化实验仿真平台
  • 【Ruby简单脚本01】查看wifi密码
  • 产品Web3D交互展示有什么优势?如何快速制作?
  • 构建 Linux 内核指南
  • 给wordpress添加限制游客浏览数量功能
  • 分布式事务在Java中的实现与优化
  • 密码(6)
  • 筛质数(暴力法、埃氏筛、欧拉筛)
  • 2017届校招提前批面试回顾
  • Android Studio:GIT提交项目到远程仓库
  • go语言学习初探(一)
  • Java 最常见的 200+ 面试题:面试必备
  • java中的hashCode
  • java中具有继承关系的类及其对象初始化顺序
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 电商搜索引擎的架构设计和性能优化
  • 码农张的Bug人生 - 初来乍到
  • 深入浅出Node.js
  • 十年未变!安全,谁之责?(下)
  • 原生js练习题---第五课
  • 阿里云API、SDK和CLI应用实践方案
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 从如何停掉 Promise 链说起
  • 移动端高清、多屏适配方案
  • #define、const、typedef的差别
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #NOIP 2014#Day.2 T3 解方程
  • #QT(一种朴素的计算器实现方法)
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (13)DroneCAN 适配器节点(一)
  • (C++)八皇后问题
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (ZT)一个美国文科博士的YardLife
  • (分类)KNN算法- 参数调优
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转载)Linux网络编程入门
  • ****三次握手和四次挥手
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .gitignore文件---让git自动忽略指定文件
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)