PXE无人值守批量装机操作步骤

目录

PXE

PXE所需环境

开机过程

部署PXE有人值守操作步骤

一. 配置环境

FTP

DHCP和TFTP

二. 测试

部署无人值守操作步骤

一. 环境配置

二. 测试

总结

1. 实现PXE远程装机所需要的组件

2. PXE网络引导安装过程


PXE

PXE:Preboot eXecution Environment(预启动执行环境)

PXE是一个规范或标准,通过网络进行计算机引导的机制。PXE利用了现有的网络协议(例如 DHCP 和 TFTP)来实现其功能

PXE所需环境

  1. 一个PXE的客户端需要网卡具备引导(pxe)功能
  2. iso系统镜像文件(存放到FTP相应目录下)
  3. FTP(文件传输协议)
    1. 用于存放iso镜像文件
  1. DHCP(动态主机配置协议)
    1. 即使一个主机没有操作系统,也要分配一个IP地址,让该主机能够连接到FTP
    2. 一个主机的网卡把MAC地址广播发给dhcp,dhcp通过已知MAC地址,再通过 RARP 反向地址转换协议,分配IP地址
  1. TFTP(简单文件传输协议;Trivial File Transfer Protocol)
    1. 工作机制比FTP更精简,适合传输体量小的文件
    2. 在PXE过程中主要存放内核文件、初始化镜像文件、引导程序、引导配置文件(由安装介质在装机时存储到内存中)

开机过程

  1. 按下电源
  2. 开机自检(post)
  3. 按照bios预设(光驱、硬盘、优盘、网卡)进行引导
  4. 加载引导程序
  5. 加载初始化镜像文件
  6. 加载内核
  7. 加载系统文件
  8. 加载systemd(init)进程(守护进程)
  9. 生成进程树

部署PXE有人值守操作步骤

系统环境:装有桌面的CentOS 7系统

有人值守:开启需要批量装机的主机,手动配置系统参数

一. 配置环境

FTP

先使用Xshell连接操作

修改仓库配置文件

yum仓库的唯一标识必须使用 development,保存并退出

为了方便实验关闭防火墙、内核安全机制,并且安装 FTP 的服务端软件包;yum -y install ftp 是安装FTP服务的客户端软件包

进入 ftp 服务的目录,创建一个存放镜像文件的目录,拷贝光盘目录下所有文件到 /var/ftp/centos7 目录下,因为拷贝内容有目录所以加-r,f:强制覆盖

开启FTP服务并设为开机自启

DHCP和TFTP

安装dhcp服务软件包

因为在配置DHCP时需要指定TFTP相关数据所以也把TFTP安装出来

编辑TFTP配置文件

不禁用TFTP服务,修改disable为no,保存并退出

因为TFTP受xinetd(超级服务守护进程)监听管理。如果没有访问,xinetd就让TFTP就休眠,如果有访问,xinetd就把TFTP唤醒

启动TFTP服务,顺便也可以设置开机自启

cd到pxeboot目录下,可以看到放置到TFTP的PXE远程装机的文件(初始化镜像文件、内核文件)

  • initrd.img:初始化镜像文件,帮系统找到硬盘
  • vmlinuz:内核文件,启动各种进程
  • TRANS.TBL:当前目录下有什么文件,记录在本文件中,光盘目录下的每个目录都有一个该文件

拷贝所需的两个文件到TFTP服务的根目录下

有了初始化镜像文件和内核文件还需要引导程序,所以安装所需软件包

cd到引导程序的安装目录

拷贝引导程序到TFTP的目录下

为了指导该引导程序工作,需要指定客户端的引导选项;创建一个目录,在该目录下创建一个配置文件

将下方代码添加到该文件中

default auto # 默认调用auto
# prompt:是否等待用户录入命令并回车
# 如果为1:用户可以手动选择不同的引导选项。
# 如果为0:用户无法手动输入选项或修改引导参数。
prompt 1
label auto
        kernel vmlinuz # 指定要加载的内核文件
        # 指定安装源为FTP上的centos7目录,适合无人值守的安装场景
        append initrd=initrd.img method=ftp://192.168.10.201/centos7

label linux text
        kernel vmlinuz
        # 安装时使用文本模式,适合手动操作安装
        append text initrd=initrd.img method=ftp://192.168.10.201/centos7

label linux rescue
        kernel vmlinuz
        # 使用 rescue 参数启动救援模式
        append rescue initrd=initrd.img method=ftp://192.168.10.201/centos7

编辑dhcp配置文件

添加下方代码到该文件

启动dhcp服务

二. 测试

新建虚拟机

随便找一个目录存放该虚拟机

由于该主机还没有安装系统,也就说明硬盘没有分区,所以在安装时所有文件都放置到内存中,所以这里要把内存设置为2GB以上

完成,启动该虚拟机

提示无法连接虚拟设备,选择是

启动后的界面显示了很多信息

直接回车,系统会从配置的TFTP下载初始化镜像文件和内核文件

下载完所需文件后,会自动引导系统安装。

进入系统安装界面

值得一提的是,在使用PXE安装时,在自定义系统选项的安装源会自动寻找到FTP下载源的位置

至此,部署有人值守实验结束

部署无人值守操作步骤

无人值守:只用开启需要批量装机的主机

在有人值守环境配置的基础上,还需要一个应答文件,包含了安装操作系统所需的各种参数和配置选项,使用该文件还需要较高的带宽

这些参数可以指定如何分区硬盘、选择安装的软件包、设置管理员密码、配置网络设置等。通过预先配置好这些选项,可以实现在没有用户交互的情况下完成整个安装过程。

一. 环境配置

安装所需软件包

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

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

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

添加分区

创建3个分区

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

修改防火墙配置

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

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

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

修改引导程序配置文件,修改prompt为0,并指定应答文件位置

二. 测试

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

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

总结

1. 实现PXE远程装机所需要的组件

    • iso中的系统文件(放到FTP中)
    • FTP
    • DHCP(RARP为客户端分配地址;指定TFTP的IP;指定引导程序pxelinux.0)
    • TFTP(内核文件、初始化镜像文件、引导程序、引导配置文件)

2. PXE网络引导安装过程

  1. 开机后,BIOS按预设顺序选择PXE作为启动选项
  2. 主机通过DHCP协议请求获取IP地址和其他网络配置信息
  3. DHCP服务器响应并分配IP地址后,主机使用TFTP协议从PXE服务器下载PXE引导程序(pxelinux.0)
  4. 主机加载PXE引导程序。该引导程序根据预定规则寻找配置文件(pxelinux.cfg/default),由该配置文件决定如何继续引导操作系统安装过程
  5. 根据引导程序的配置文件,接着从TFTP服务器下载初始化镜像文件(Initrd.img)和内核文件(vmlinuz)
  6. 引导程序将下载的内核文件和初始化镜像文件加载到计算机的内存中,并在内存中启动安装程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/723555.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

印刷企业数字工厂管理系统规划方案

一、引言 随着科技的快速发展,数字化、智能化已成为制造业发展的重要趋势。对于印刷企业而言,数字化不仅是提升生产效率、降低成本的关键,更是适应市场变化、增强竞争力的必然选择。因此,本规划方案旨在构建一套完善的印刷企业数…

功能测试 之 单模块测试----抢购模块

1.先测后台,再测前台 面试题1: 当你发现研发实现的结果与需求不一致时怎么办? 需求评审的时候:需要确认所有输入类型的校验是针对单独的输入框做的还是在最终提交时校验 抢购模块:需求跟实现的内容不一致 (跟产品和研发一起确认。研发为什…

现在的ai是否和当年的5g一样被夸大了

AI写作、AI绘画对普通人影响也很大,为此也成就了一大批人。这是一个大趋势,AI能极大提高工作效率,这点毋庸置疑。不仅如此,对于普通人来说AI也对我们有很大的帮助,用AI回答遇到的问题,写一写文章什么的&…

003.Linux SSH协议工具

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉&…

储备教师和正式教师的区别是什么?

当谈论教育行业的未来,是否曾想过,那些被称为"储备教师"的群体,与我们熟知的"正式教师"之间,有何本质的区别? 储备教师,顾名思义,是学校为了应对未来可能的教学需求而提前招…

【C语言 || 排序】希尔排序

文章目录 前言1.希尔排序1.1 直接插入排序1.2 直接插入排序的实现1.2.1 直接插入排序的代码实现 1.3 直接插入排序的时间复杂度1.4 希尔排序1.4.1 希尔排序概念1.4.1 希尔排序的代码实现 前言 1.希尔排序 1.1 直接插入排序 在写希尔排序之前,我们需要先了解直接插入…

Boost 网络库

asio 网络编程的基本流程创建 socket绑定acceptor连接指定的端点服务器接受连接 网络编程的基本流程 服务端 1)socket----创建socket对象。 2)bind----绑定本机ipport。 3)listen----监听来电,若在监听到来电,则建…

Java 开发面试题精选:RocketMQ 一篇全搞定

前言 RocketMQ作为一个高性能、高可用的分布式消息和流处理平台,广泛应用于分布式系统中的解耦、异步通信和数据流处理场景。这篇文章我精选了一些关于RockerMQ面试题目,这些问题涵盖了RocketMQ的所有关键知识点,从基本概念到高级应用&#…

堪称2024最强的前端面试场景题,让419人成功拿到offer

前言 2024年的秋季招聘还有两个月就即将到来,很多同学开始思考前端面试中场景题的重要性。这里我提供一些见解和建议来帮助大家准备即将到来的面试。 首先,理解面试中场景题的必要性是至关重要的。与算法或理论问题不同,场景题更贴近实际工…

从网络配置文件中提取PEAP凭据

我的一位同事最近遇到了这样一种情况:他可以物理访问使用802.1X连接到有线网络的Windows计算机,同时保存了用于身份验证的用户凭据,随后他想提取这些凭据,您可能认为这没什么特别的,但是事情却有点崎岖波折…… 如何开…

利用AI云防护实现高效负载均衡

在当今高度数字化的世界里,保证网站和应用的高可用性和响应速度对企业的业务连续性和用户体验至关重要。传统的负载均衡技术虽然能够分发流量,但在面对突发流量、DDoS攻击或资源动态调整时往往力不从心。本文将探讨如何借助AI云防护服务,不仅…

使用芯片为ZYNQ—7020,基于野火FPGA ZYNQ开发板

使用芯片为ZYNQ—7020,基于野火FPGA ZYNQ开发板 肤色模型简介 YCrCb也称为YUV,主要用于优化彩色视频信号的传输。与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB要求三个独立的视频信号同时传输)。其…

轻松获取指定日期所在周的周一和周日

哈喽,大家好呀,好久不见!今天是一篇浅记。根据传入日期自动获取所在周一和周日… 正常基操方法,根据传入日期自动获取所在周一和周日。注意传入日期是周日的情况哈,需要往前推7天才是周一。 楼主方法中已处理&#xf…

为何Proteus用户争相拥抱SmartEDA?揭秘背后的强大吸引力!

在电路设计与仿真领域,Proteus一度以其稳定性能和丰富功能赢得了众多用户的青睐。然而,近年来,越来越多的Proteus用户开始转向SmartEDA,这一新兴电路仿真软件正迅速崭露头角,成为行业内的翘楚。那么,究竟是…

数据模型——饮食记录

数据模型——饮食记录 本次实验完成饮食记录的数据模型,如下图所示 该饮食记录模型与上次的记录项数据模式定义处理方式相同,我们首先分析其数据结构,我们发现首先有早餐、午餐、晚餐等记录类型数据模型,其包括了id、类型名称、类…

几个小实验

小实验 shh远程管理 ssh是一种安全通道协议,只能用来实现字符界面的远程登录。远程复制,远程文本传输。 ssh对通信双方的数据进行了加密。 用户名和密码登录 密钥对认证方式(可以实现免密登录) ssh 22 网络层 传输层 数据传…

龙虎斗(2018)c++

题目描述 输入 输出 样例输入,输出 输入 #1 输出 #1 6 2 2 3 2 3 2 3 4 6 5 2 输入 #2 输出 #2 6 …

最新技术:跨境电商源码,应对多国市场需求,让您轻松开展全球业务!

随着全球化进程的不断推进,跨境电商已成为企业拓展国际市场的重要途径。为了满足不同国家和地区消费者不断增长的需求,跨境电商源码应运而生,为企业提供了便捷高效的全球化业务发展方案。 一、全球化运营的关键 跨境电商源码的核心功能在于…

GaussDB技术解读——GaussDB架构介绍(五)

GaussDB架构介绍(四)从云原生关键技术架构&关键技术方案两方面对GaussDB云原生架构进行了解读,本篇将从关键技术方案的事务存储组件、SQL引擎组件、DCS组件、实时分析组件等方面继续介绍GaussDB云原生架构。 目录 事务存储组件 1、本地…

零基础入门学用Arduino 第四部分(三)

重要的内容写在前面: 该系列是以up主太极创客的零基础入门学用Arduino教程为基础制作的学习笔记。个人把这个教程学完之后,整体感觉是很好的,如果有条件的可以先学习一些相关课程,学起来会更加轻松,相关课程有数字电路…