06 PXE高效批量网络装机

1、部署PXE远程安装服务

在大规模的Linux应用环境中(如Web集群、分布式计算等),服务器往往并不配装备光驱设备。

在这种情况下,传统的USB光驱、移动硬盘等安装方法显然已经难以满足需求。

那么如何为数十台服务器裸机快速安装系统呢?

基于PXE技术的网络装机方法,并结合Kickstart配置实现无人值守就可以解决这个问题。

PXE——预置安装环境

这样的服务器批量部署方法具备以下三个优点:

  • 规模化(可同时装配多台服务器)
  • 自动化(安装系统、配置各种服务)
  • 远程实现(不需要光盘、U盘等安装介质)

注:PXE工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。

补充:要搭建PXE网络体系,必须满足的条件有:

  • 客户机的网卡支持PXE协议,且主板支持网络引导;(硬件要求)
  • 网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件的位置;
  • 服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载

在上述条件中,第一个条件是硬件要求,目前绝大多数服务器和大多数PC都能提供此支持,

只需要在BIOS设置中允许从Network或LAN启动即可。

补充: 要想实现PXE远程装机,需要的环境有:

  • iso系统镜像(所需的操作系统——里面有系统的一些数据文件,包括常见的软件包等)
  • FTP

系统镜像放在PXE服务器的FTP里面,即把iso操作系统文件放在FTP相应的目录下,这样一来,远程的服务器就可以找到PXE里面的远程的系统文件了。

利用FTP去下载保存到PXE服务器上得操作系统得各种文件。

  • pxe服务器上的DHCP服务。当一个服务器还没有操作系统的时候,这个服务器是没有IP地址的,

注:那没有IP地址怎么去FTP里面找东西呢?

这里DHCP的作用是,在服务器还没有操作系统的时候,就直接给服务器的网卡分配一个IP地址。

上面这个过程走了一个协议(rarp协议——反向地址解析)

正常的地址解析是:通过IP地址获取你的MAC地址,

反向地址解析是:已知MAC地址(广播的方式),来获取IP地址。

  • TFTP(简单文件传输协议),它的工作机制比FTP要更精简,它不需要繁杂的配置,只需要把它安装出来就可以使用

注:TFTP里面要放置的文件有:

内核文件、初始化镜像文件、引导程序、与引导有关的配置文件

所以说,远程的客户端启动的时候要先利用DHCP获取到对应得IP地址,然后就可以去找TFTP把初始化镜像文件、内核文件拿到手,再借助引导程序和引导配置文件去启动安装的进程。只要启动起来了,就可以正常地安装你的操纵系统了。

1.1 搭建PXE远程安装服务器

(1)准备Centos7安装源

Centos7的网络安装源通过HTTP、FTP、NFS协议发布。

若采用FTP协议发布安装源,可以在服务器上部署一个YUM软件仓库:

(2)安装并启用TFTP服务

TFTP服务是由tftp-sever软件包提供的,配置文件位于/etc/xinetd.d/tftp。

配置的时候只需要将disable=yes改为disable=no,然后启动TFTP服务即可。如下图:

(3)准备Linux内核、初始化镜像文件

用于PXE网络安装的Linux内核、初始化镜像文件可以从Centos7系统光盘获得,分别为vmlinuz

和initrd.img,它们位于文件夹images/pxeboot下。

找到上述的两个文件并将其复制到tftp服务的根目录下。如下图:

(4)准备PXE引导程序

用于PXE网络安装的引导程序为pxelinux.0,是由软件包syslinux提供的。

先安装好软件包syslinux,然后将文件pxelinux.0也复制到tftp服务的根目录下。如下图:

(5)安装并启用DHCP服务

由于PXE客户机通常是尚未装系统的裸机,因此为了与服务器取得联系并正确下载相关引导文件,需要预先配置好DHCP服务来自动分配地址并告知引导文件的位置。

例如,PXE服务器的IP地址为192.168.4.254,DHCP地址池为192.168.4.100~192.168.4.200。可以参考下图来搭建DHCP服务器:

注:从上述过程中可以看到,与一般DHCP服务不同的是,配置文件中增加了netx-server(用来指定TFTP服务器的地址)和filename(PXE引导程序的文件名)这两行记录。

(6)配置启动菜单文件

启动菜单文件用来指导客户机的引导过程,包括如何调用内核、如何加载初始化镜像。

注:默认的启动菜单文件为default,放置在tftp根目录的pxelinux.cfg子目录下。可以参考下图手动建立启动菜单:

上述配置记录中,定义了三个引导入口,分别为图形安装(默认)、文本安装、救援模式。

其中,prompt用来设置是否等待用户选择。

label——用来定义并分隔启动项 kernel和append用来定义引导参数

注:引导入口的个数及内容根据需要自行定义。例如,实现无人值守时,只需要一个入口就够了。

1.2、验证PXE网络安装

搭建好PXE远程安装服务器之后,就可以用客户机进行安装测试了。

如果服务器配置正确,网络连接、PXE支持等都没有问题,则客户机重启后将自动配置IP地址,

然后从TFTP服务器中获取引导程序pxelinux0,并根据引导菜单配置提示用户指定启动入口。如下图:

注:如果在提示字串boot:后直接按Enter键,将会进入默认的图形安装入口;

若执行linux text命令,则进入文本安装入口;

若执行linux rescue命令,则进入救援模式。

2、实现Kickstart无人值守安装

2.1 准备安装应答文件

在Centos7系统中安装system-config-kickstart工具之后,即可通过图形化向导工具来配置安装应答文件。

2.2 配置安装应答参数

通过桌面菜单应用程序”→“系统工具”→“Kickstart”即可打开“Kickstart 配置程序”窗口。

在配置窗口中,可以根据需要针对基本配置、安装方法、引导装载程序选项、分区信

息、网络配置等各种安装设置进行指定,如下图:

2.3 保存自动应答文件

选择“Kickstart 配置程序”窗口的“文件”→“保存”命令,指定目标文件夹、文件名,将配

置好的应答参数保存为文本文件,如/root/ks.cfg。

以后若要修改此应答配置,可以在

“Kickstart 配置程序”窗口中打开进行调整,或者直接用 VI 等文本编辑工具进行修改。

3、实现批量自动装机

有了自动安装的应答文件之后,只要将其放置 PXE 安装服务器的 FTP 目录下,并适当

修改引导菜单,就可以实现基于网络的批量自动装机了。

3.1 启动自动应答文件

在 PXE 远程安装服务器中,将上面建立的应答文件复制到/var/ftp/centos7 目录下,

使客户机能够通过 ftp://192.168.4.254/centos7/ks.cfg 访问;然后编辑引导菜单文件 default,

添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径。

3.2 验证无人值守安装

启用自动应答安装之后,当客户机每次以 PXE 方式引导时,将自动下载 ks.cfg 应答配

置文件,然后根据其中的设置安装 CentOS 7 系统,而无须手工干预,这样就可以同时为多台客户机安装系统了。如下图所示:

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

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

相关文章

坚持刷题|反转链表

文章目录 题目思考实现1. 迭代方式实现链表翻转2. 递归方式实现链表翻转 Hello,大家好,我是阿月。坚持刷题,老年痴呆追不上我,今天继续链表:反转链表 题目 LCR 024. 反转链表 思考 翻转链表是一个常见的算法问题&a…

小主机折腾记录27

1.买了一个9600k,3根台电 4G 2666 极光A40,一根台电8G2666 极光A40,一根国惠8G2666,一个惠普3热管散热器 测试结果如下 1)三根台电 4G2666 相互兼容,频率2667显示正常,显示为美光颗粒&#xff0…

YOLOv8改进 | 卷积模块 | 用坐标卷积CoordConv替换Conv

💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录:《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有40篇内容,内含各种Head检测头、损失函数Loss、B…

搜维尔科技邀您共赴2024第四届轨道车辆工业设计国际研讨会

会议内容 聚焦“创新、设计、突破”,围绕“面向生命健康、可持续发展的轨道交通系统” 为主题,从数字化、智能化、人性化、绿色发展等方面,探索轨道交通行业的设计新趋势及发展新机遇。 举办时间 2024年7月10日-12日 举办地点 星光岛-青岛融…

STM32F4 STD标准库串口接收中断+空闲中断例程

STM32F4 STD标准库串口接收中断空闲中断例程 🔖工程基于STM32F446 ✨用惯了STM32CubeMX傻瓜式配置,突然改用标准库写代码,初始化外设内容,总是丢三落四的。 📗串口初始化配置 void uart_init(uint32_t bound) {//GPIO…

分析师:是什么导致山寨币在本轮周期表现不佳?

在加密货币领域,山寨币的过度分散化问题逐渐凸显,成为本轮周期内其表现疲软的核心因素。经过深入研究,我发现这种分散化对加密货币市场的整体健康造成了严重威胁。然而,令人遗憾的是,目前看来,我们尚未找到…

Java基础 - 练习(三)打印空心菱形

Java基础练习 打印空心菱形&#xff0c;先上代码&#xff1a; public static void diamond() {//控制行数for (int i 1; i < 4; i) {//空格的个数for (int k 1; k < 4 - i; k) {System.out.print(" ");}//控制星星个数的时候和行有关for (int j 1; j <…

【第20章】Vue实战篇之Vue Router(路由)

文章目录 前言一、使用Vue-Router1.安装2. 创建路由器实例3. 注册路由器插件4. 根组件 二、访问路由器1.理论2.使用3. 展示 三、嵌套路由(子路由)1. 准备文件2. 配置路由3. 菜单配置4. 展示 总结 前言 Vue Router 是 Vue.js 的官方路由。它与 Vue.js 核心深度集成&#xff0c;…

【机器学习】第2章 线性回归及最大熵模型

一、概念 1.回归就是用一条曲线对数据点进行拟合&#xff0c;该曲线称为最佳拟合曲线&#xff0c;这个拟合过程称为回归。 2.一个自变量 叫 一元线性回归&#xff0c;大于一个自变量 叫 多元线性回归。 &#xff08;1&#xff09;多元回归&#xff1a;两个x&#xff0c;一个…

BUU CODE REVIEW 11 代码审计之反序列化知识

打开靶场&#xff0c;得到的是一段代码。 通过分析上面代码可以构造下面代码&#xff0c;获取到序列化之后的obj。 <?php class BUU {public $correct "";public $input "";public function __destruct() {try {$this->correct base64_encode(u…

森林之下延迟高如何处理 森林之下联机卡顿的解决方法

森林之下是一款结合了农场模拟、恐怖生存的游戏&#xff0c;玩家需要管理一个被“闹鬼的树林”包围的农场&#xff0c;种植农作物&#xff0c;拯救、驯服、饲养动物&#xff0c;探索被诅咒的森林&#xff0c;并且收集物品来破除诅咒。这款游戏目前已经开放了demo&#xff0c;不…

基础模型服务商SiliconCloud,新注册用户赠送 14 元的配额(约 1 亿 token)

注册链接&#xff1a;https://cloud.siliconflow.cn?referrerclx1f2kue00005c599dx5u8dz 开源模型可以自己部署&#xff0c;对服务器的要求还是挺高&#xff0c;以及学习成本、部署过程成本都是比较高&#xff0c;硅基流动SiliconFlow提供了另一个方式&#xff0c;可以像使用…

Java new HashMap 指定容量,代码怎么写? 学习源码小记

之前针对 创建map 指定容量&#xff0c;写过一篇吐槽教学文章&#xff1a;HashMap 使用的时候指定容量&#xff1f;你真的用明白了吗&#xff1f;&#xff08;值得一阅&#xff09;_new hashmap<>(4);-CSDN博客 因为我们经常要通过代码做一些数据的分组&#xff0c;比如查…

Unity2D游戏制作入门 | 14( 之人物实装攻击判定 )

上期链接&#xff1a;Unity2D游戏制作入门 | 13 ( 之人物三段攻击 )-CSDN博客 上期我们聊到给人物添加三段攻击的动画&#xff0c;通过建立新的图层动画当我们按下攻击按键就会自动切换进攻击的动画&#xff0c;如果我们连续按下攻击键&#xff0c;我们还可以进行好几段的攻击…

Simulink代码生成: 基本数据类型

文章目录 1 引言2 Simulink中的基本数据类型3 数据类型实例3.1 浮点类型3.2 整数类型3.3 布尔类型 3 数据类型使用的注意点3.1 浮点数等于比较3.2 整形数溢出3.3 布尔类型的位域 4 关于定点数的说明5 总结 1 引言 正如C语言中为变量区分了不同的数据类型一样&#xff0c;Simul…

三个“消失” 折射债市新变化

资金分层现象逐步消失&#xff1b;低位的DR007利率已不常见&#xff1b;债市中一度盛行的“滚隔夜”也在逐渐减少。 当前&#xff0c;债券市场正在出现一系列显著变化&#xff1a;资金分层现象逐步消失&#xff1b;低位的DR007利率已不常见&#xff1b;债市中一度盛行的“滚隔…

天润融通:AI助手助力Klarna实现多语言客户服务革新

AI 助手可以在客户服务上发挥多大的作用&#xff1f;瑞典一家金融科技公司Klarna的尝试用数据说明了一切。 作为一家全球领先的“先买后付” (BNPL) 服务提供商&#xff0c;Klarna的业务覆盖全球45个国家&#xff0c;拥有1.5亿活跃用户&#xff0c;每天交易量达到200万笔。 为…

DuDuTalk:智能电子录音工牌在销售场景的应用价值

在快速变化的市场环境中&#xff0c;销售团队面临着日益激烈的竞争和不断变化的客户需求。为了提升销售效率、优化客户体验并加强团队协作&#xff0c;越来越多的企业开始采用智能电子录音工牌作为销售场景中的关键工具。本文将从多个方面探讨智能电子录音工牌在销售场景中的应…

为微信小程序项目添加eslint

背景 在使用vscode开发微信小程序的过程中&#xff0c;修改js的时候发现没有报错提示&#xff0c;让我很不习惯&#xff0c;所以想为微信小程序项目添加eslint配置 编码实战 为微信小程序配置ESLint可以遵循以下步骤&#xff1a; 安装ESLint及其相关插件 首先&#xff0c;…

VSG/VSA 矢量信号模拟/分析软件

_Ceyear思仪 _ VSG/VSA 矢量信号模拟/分析软件 苏州新利通仪器仪表 在现代无线通信中&#xff0c;IQ调制属于标准配置&#xff0c;经常应用于通信系统的信号调制和解调环节。IQ调制的应用简化了通信设备的硬件结构&#xff0c;同时提高了频谱资源的利用效率&#xff0c;提…