PXE高效批量网络装机

一.PXE概述

PXE批量部署的优点

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

PXE(Preboot eXcution Environment)

  • 预启动执行环境,在操作系统之前运行

服务端

  • 运行DHCP服务,用来分配地址、定位引导程序
  • 运行TFTP服务,提供引导程序下载

客户端

  • 网卡支持PXE协议
  • 主板支持网络引导

二.搭建PXE远程安装服务器

1.yum install -y xinetd tftp-server安装xinetd 和tftp-server

2.修改tftp的配置文件
vim /etc/xinet.d/tftpprotocol=udp                         #TFTP默认使用UDP协议wait=no                              #no表示客户机可以多台一起连接,yes表示客户机只能一台一 台连接server_args=-s /var/lib/tftpboot     #指定TFTP根目录(引导文件的存储路径)disable=no                           #no表示开启TFTP服务

启动xinetd和tftp-server服务,并设立开机自启

3.安装并启用DHCP服务yum install -y dhcp

4.修改dhcp配置文件cd /usr/share/doc/dhcp-4.2.5/\cp -f dhcpd.conf.example /etc/dhcp/dhcpd.confddns-update-style none;						#禁用 DNS 动态更新
next-server 192.168.86.100; 					#指定 TFTP 服务器的地址
filename "pxelinux.0";						#指定要下载的 PXE 引导程序的文件subnet 192.168.86.0 netmask 255.255.255.0 {			#声明要分配的网段地址range 192.168.86.101 192.168.86.200;				#设置地址池option routers 192.168.86.100;						#默认网关地址指向TFTP服务器的IP地址
}

开启dhcp服务并设立开机自启

5.准备Linux内核、初始化镜像文件mount /dev/sr0 /mnt
cd /mnt/images/pxeboot						
cp vmlinuz /var/lib/tftpboot/		 #复制 Linux系统的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/     #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

6.准备PXE引导程序
yum -y install syslinux								  #PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/	#复制 PXE引导程序 到TFTP根目录下

7.安装FTP服务,准备CentOS 7 安装源yum -y install vsftpdmkdir /var/ftp/centos7cp -rf /mnt/* /var/ftp/centos7/

8.配置启动菜单文件
默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
mkdir /var/lib/tftpboot/pxelinux.cfg		  vim /var/lib/tftpboot/pxelinux.cfg/default	
default auto 							#指定默认入口名称
prompt 1 								#设置是否等待用户选择,“1”表示等待用户控制label auto								#图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz							#kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.80.10/centos7label linux text						#文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.80.10/centos7label linux rescue						#救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.80.10/centos7

三.实现 Kickstart 无人值守安装

1.准备安装应答文件
(1)安装system-config-kickstart 工具

(2)打开“Kickstart 配置程序”窗口

配置需要安装的软件包

复制配置内容到ks.cfg中

将ks.cfg放入ftp根目录

编辑引导菜单文件 default,添加 ks 引导参数
vim /var/lib/tftpboot/pxelinux.cfg/default	
default auto 							
prompt 0 								#设置是否等待用户选择,“0”表示不等待用户控制label auto								
kernel vmlinuz							#kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.80.10/centos7 ks=ftp://192.168.80.10/ks.cfg
#添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径

随后就可以实现自动安装 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【从零开始学架构 前言】整体的学习路线

本文是《从零开始学架构》的第一篇学习笔记,在工作6年左右的这个时间点需要有一些先行的理论来指导即将面临的复杂实践,以便在真正面临复杂实践的时候能有所参照。 主要从以下几个方面和顺序来进行学习 架构基础:从架构设计的本质、历史背景…

最详细的IP SSL证书介绍及申请渠道

JoySSL官网 注册码230918 在互联网的广阔舞台上,每个参与其中的设备都需要一个独一无二的标识——IP地址,以实现精准的通信和数据交换。随着网络安全重要性的日益凸显,如何验证和信任这些IP地址的真实性成为了一个核心问题。正是在这样的背景…

(数据分析方法)相关性分析

目录 一、定义 二、相关关系分类 三、数据可视化(散点图) 四、相关分析 4.1 量化指标 4.1.1 相关系数 4.1.1.1 皮尔森(Pearson)相关系数 4.1.1.2 斯皮尔曼(Spearman)相关系数 4.1.1.3 肯达尔(Kendall&#xff…

JavaScript中的RegExp和Cookie

个人主页:学习前端的小z 个人专栏:JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 🔆RegExp 🎲 1 什么是正则表达式 🎲2 创建…

【go项目01_学习记录04】

学习记录 1 集成 Gorilla Mux1.1 为什么不选择 HttpRouter?1.2 安装 gorilla/mux1.3 使用 gorilla/mux1.4 迁移到 Gorilla Mux1.4.1 新增 homeHandler1.4.2 指定 Methods () 来区分请求方法1.4.3 请求路径参数和正则匹配1.4.4 命名路由与链接生成 1 集成 Gorilla Mu…

springboot+vue+elementui实现校园互助平台大作业、毕业设计

目录 一、项目介绍 二、项目截图 管理后台 1.登录(默认管理员账号密码均为:admin) 2. 用户管理 ​编辑 3.任务管理 互助单(学生发布) 行政单(教师发布) ​编辑 审核(退回需…

【无标题】不锈钢轴承能耐高温多少度:开启润滑技术新纪元

江苏鲁岳SIAIF品牌的不锈钢耐高温轴承的具体耐高温性能会因轴承的型号、材料、制造工艺等因素而有所不同。然而,一般来说,不锈钢轴承的耐高温性能较高,可以在高温环境下正常工作。 根据相关资料,SIAIF不锈钢耐高温轴承可以在-60℃…

Linux基本指令(下下)

各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 本篇博客续我之前的Linux指令(下&a…

数据库提权

1.此时实验需要用到的软件: (1)phpStudy该程序包集成最新的ApachePHPMySQL phpMyAdminZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境.该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等.总之学习PHP只需…

C#队列(Queue)的基本使用

概述 在编程中&#xff0c;队列&#xff08;Queue&#xff09;是一种常见的数据结构&#xff0c;它遵循FIFO&#xff08;先进先出&#xff09;的原则。在C#中&#xff0c;.NET Framework提供了Queue<T>类&#xff0c;它位于System.Collections.Generic命名空间下&#x…

基于.NET WinForms 数据CURD功能的实现

使用开发工具 VS 2022 C#&#xff0c;数据库MS SQL SERVER 2019 &#xff0c;基于NET WinForms&#xff0c;实现数据记录的创建(Create)、更新(Update)、读取(Read)和删除(Delete)等功能。主要控件包括&#xff1a;DataGridView&#xff0c;SqlDataApater &#xff0c; DataTab…

MATLAB绘制蒸汽压力和温度曲线

蒸汽压力与温度之间的具体关系公式一般采用安托因方程&#xff08;Antoine Equation&#xff09;&#xff0c;用于描述纯物质的蒸汽压与温度之间的关系。安托因方程的一般形式如下&#xff1a; [\log_{10} P A - \frac{B}{C T}] 其中&#xff0c; (P) 是蒸汽压&#xff08…

OpenNJet下载安装及入门实战教程

一、什么是OpenNJet OpenNJet是一款开放原子开源基金会孵化及运营的开源项目。OpenNJet采用C语言实现。是一款高性能、轻量级的WEB应用及代理软件。    OpenNJet 应用引擎是高性能、轻量级的WEB应用与代理软件。作为云原生服务网格的数据平面&#xff0c;NJet具备动态配置加载…

02_SpringBoot程序快速启动

目录 打包命令启动启动成功测试结果 打包 点击package打包命令&#xff0c;会生成target目录&#xff0c;目录下会有生成的jar包 命令启动 打开cmd命令窗口&#xff0c;进入子项目的target目录下,输入命令后&#xff0c;回车… java -jar .\note-boot-core-1.0-SNAPSHOT.j…

【强训笔记】day11

NO.1 思路&#xff1a;枚举&#xff0c;设一号大礼包的数量为x&#xff0c;二号大礼包的数量为y&#xff0c;用循环枚举一号大礼包的个数得到二号大礼包的数量&#xff0c;使得某一时刻axby的值最大。 代码实现&#xff1a; #include<iostream>using namespace std;lo…

耐高温轴承:免维护技术的里程碑,润滑领域迎来新篇章

选择适合的耐高温轴承产品型号需要考虑多个因素&#xff0c;包括使用环境、温度要求、负荷大小、转速高低、润滑方式等。以下是一些选择耐高温轴承产品型号的建议&#xff1a; 江苏鲁岳根据使用环境和温度要求选择轴承材料&#xff1a;不同的轴承材料具有不同的耐高温性能。例…

AI原生实践:测试用例创作探索

测试用例作为质量保障的核心&#xff0c;影响着研发-测试-发布-上线的全过程&#xff0c;如单元测试用例、手工测试用例、接口自动化用例、UI 自动化用例等&#xff0c;但用例撰写的高成本尤其是自动化用例&#xff0c;导致了用例的可持续积累、更新和迭代受到非常大制约。长久…

10.Java对象内置结构

文章目录 Java对象内置结构1.Java对象的三个部分1.1.对象头1.2.对象体1.3.对齐字节 2.对象结构中核心字段的作用2.1.MarkWord(标记字)2.2.Class Pointer(类对象指针)2.3.Array Length(数组长度)2.4.对象体2.5.对齐字节 3.Mark Word的结构信息3.1.不同锁状态下的Mark Word字段结…

【Redis】RDB持久化和AOF 持久化

分布式缓存 单点 Redis 的问题 数据丢失&#xff08;持久化&#xff09;并发能力不如集群&#xff08;主从集群、读写分离&#xff09;Redis宕机导致服务不可用&#xff08;Redis哨兵&#xff09;存储能力差&#xff08;分片集群&#xff09; Redis 持久化 RDB 持久化 什么…

centos7安装真的Redmine-5.1.2+ruby-3.0.0

下载redmine-5.1.2.tar.gz&#xff0c;上传到/usr/local/目录下 cd /usr/local/ tar -zxf redmine-5.1.2.tar.gz cd redmine-5.1.2 cp config/database.yml.example config/database.yml 配置数据连接 #编辑配置文件 vi config/database.yml #修改后的内容如下 product…