Linux网络-PXE高效批量网络装机(命令+截图详细版)

目录

一.部署PXE远程安装服务

1.PXE概述

1.1.PXE批量部署的优点

1.2.要搭建PXE网络体系的前提条件

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

2.1.修改相关网络配置(仅主机模式)

2.2.关闭防火墙(老规矩)

2.3.保证挂载上

2.4.准备好配置文件并安装TFTP服务

修改配置文件

启动服务

检查状态

2.5.安装并启用dhcp服务(VMware虚拟机需注意关闭自带DHCP 上文有)

修改配置

启动并查看服务状态

2.6.准备PXE引导程序

2.7.准备Linux内核和初始化文件

2.8.安装FTP服务

2.9.准备CentOS 7 安装源

2.10.配置启动菜单文件

3.验证PXE网络安装

3.1.使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错

3.2.设置仅主机模式

3.3.进入安装界面(基本上完成)

3.4.设置密码 重启即可

二.实现Kickstart无人值守安装

1.准备安装应答文件

1.1.安装system-config-kickstart 工具

1.2.打开“Kickstart 配置程序”窗口

1.3.配置kickstart选项

基本配置

安装方法

引导程序

分区信息

网络配置

防火墙配置

安装后脚本

保存自动应答文件

配置安装包

2.验证无人值守安装

2.1.全自动(将prompt 1→0 上图)

2.2.等待安装结束即可


一.部署PXE远程安装服务

1.PXE概述

PXE(预启动执行环境,在操作系统之前运行)是由Intel公司开发的网络引导技术,工作在

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

作系统

1.1.PXE批量部署的优点

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

1.2.要搭建PXE网络体系的前提条件

客户端

  • 主板支持网络引导
  • 网卡支持PXE协议(现在基本都有)

服务端

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

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

PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务、FTP 服务,能够向客

户机裸机发送 PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件

2.1.修改相关网络配置(仅主机模式)

2.2.关闭防火墙(老规矩

systemctl disable --now firewalldsetenforce 0vim /etc/selinux/config

2.3.保证挂载上

mount /dev/sr0 /mntdf

2.4.准备好配置文件并安装TFTP服务

  • 是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP 端口69
  • xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务
 ls /etc/yum.repos.d/

yum install -y xinetd tftp-server

修改配置文件
 cd /etc/xinetd.d/lsvim tftp

protocol       = udp                         TFTP使用UDP协议   wait           = no                          no表示客户机可以多台一起连接,yes表示客户机只能一 台一台连接server_args    = -s /var/lib/tftpboot        指定TFTP根目录(文件存储路径)disable        = no                          no表示开启TFTP服务

启动服务
[root@localhost xinetd.d]# systemctl enable --now xinetd
[root@localhost xinetd.d]# systemctl enable --now tftp

检查状态
systemctl status tftpsystemctl status xinetd

2.5.安装并启用dhcp服务(VMware虚拟机需注意关闭自带DHCP 上文有

yum install -y dhcp

cd /usr/share/doc/dhcp-4.2.5/ls\cp -f dhcpd.conf.example /etc/dhcp/dhcpd.conf

修改配置
cd /etc/dhcp/lsvim dhcpd.conf

ddns-update-style none;                        禁用 DNS 动态更新next-server 192.168.80.101;                    指定 TFTP 服务器的地址filename "pxelinux.0";                         指定 PXE 引导程序的文件名


subnet 192.168.80.0 netmask 255.255.255.0 {    声明要分配的网段地址range 192.168.80.100 192.168.80.200;          设置地址池option routers 192.168.80.101;                默认网关地址指向TFTP服务器的IP地址
}

启动并查看服务状态
systemctl enable --now dhcpdsystemctl status dhcpd

2.6.准备PXE引导程序

yum install -y syslinux

cd /usr/share/syslinux/ls[root@localhost syslinux]# cp pxelinux.0 /var/lib/tftpboot/
[root@localhost syslinux]# ls /var/lib/tftpboot/
pxelinux.0

2.7.准备Linux内核和初始化文件

cd /mnt/lscd images/lscd pxeboot/lscp vmlinuz initrd.img /var/lib/tftpboot/ls /var//lib/tftpboot/

2.8.安装FTP服务

yum install -y vsftpd

2.9.准备CentOS 7 安装源

systemctl enable --now vsftpdcd /var/ftpmkdir centos7ls /mnt/mount /dev/sr0 /var/ftp/centos7/cd /var/ftp/centos7/lscd /var/lib/tftpboot/ls

2.10.配置启动菜单文件

cd /var/lib/tftpboot/lsmkdir pxelinux.cfglscd pxelinux.cfg/touch defaultlsvim defaultcd ..pwdls -R

default auto 							指定默认入口名称
prompt 1 								设置是否等待用户选择,“1”表示等待用户控制label auto								图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz							kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.80.101/centos7label text						        文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.80.101/centos7label rescue						    救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.80.101/centos7

3.验证PXE网络安装

3.1.使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错

3.2.设置仅主机模式

  • 开启虚拟机,在提示字符串“boot:”后直接按Enter键(或执行“auto”命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口
  • 若执行“linux text”命令,则进入文本安装入口
  • 若执行 “linux rescue”命令,则进入救援模式

3.3.进入安装界面(基本上完成)

3.4.设置密码 重启即可

二.实现Kickstart无人值守安装

1.准备安装应答文件

1.1.安装system-config-kickstart 工具

yum install -y system-config-kickstart

1.2.打开“Kickstart 配置程序”窗口

  • 通过桌面菜单“应用程序”-->“系统工具”-->“Kickstart” 打开
  • 执行 “system-config-kickstart” 命令打开

1.3.配置kickstart选项

基本配置
  • 默认语言设为“中文(简体)”
  • 时区设为“Asia/Shanghai”
  • 设置root密码
  • 高级配置中勾选“安装后重启”
     

安装方法
  • 选FTP
  • FTP服务器:ftp://192.168.80.101
  • FTP目录:centos7

引导程序

分区信息

网络配置

防火墙配置

安装后脚本

勾选“使用解释程序”:/bin/bashmkdir /etc/yum.repos.d/repo.bakmv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bakecho '[local]name=localbaseurl=ftp://192.168.80.10/centos7enabled=1gpgcheck=0' > /etc/yum.repos.d/local.repo

保存自动应答文件
  • 选择“Kickstart 配置程序”窗口的“文件”-->“保存”命令,选择指定保存位置,文件名为ks.cfg
  • 默认保存在/root/ks.cfg
  • cp /root/ks.cfg /var/ftp/ks.cfg
配置安装包

vim anaconda-ks.cfg

复制后在最后一行插入

vim ks.cfg

复制

cp ks.cfg /var/ftpcd /var/ftp/lscd /var/lib/tftpboot/lscd pxelinux.cfg/ls

修改引导菜单文件

vim default

ks=ftp://192.168.80.101/ks.cfg

2.验证无人值守安装

2.1.全自动(将prompt 1→0 上图)

2.2.等待安装结束即可

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

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

相关文章

呆滞物料规范管理了,问题就好办了

对于制造企业来说,库存是生存和发展的重要保障,过高的库存会占用企业大量的资金和管理成本,影响企业的正常生产,然而多数中小制造企业还在用人工干预管理,如何控制呆滞物料成为仓储管理的一大难题。 什么是呆滞料 呆滞…

为什么不建议在 Vue <style> 中使用 scoped?

前言 亲爱的小伙伴&#xff0c;你好&#xff01;我是 嘟老板。我们使用 Vue 开发页面时&#xff0c;经常需要在 <style> 标签下编写样式。不知你是否留意&#xff0c;在 <style> 标签下有一个属性经常出现 - scoped。你知道它起到什么作用吗&#xff1f;原理是怎样…

[Java EE] 多线程(九):ReentrantLock,Semaphore,CountDownLatch与线程安全的集合类(多线程完结)

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏:&#x1f355; Collection与数据结构 (91平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 &#x1f9c0;Java …

PE文件(四)FileBuffer-ImageBuffer作业

C语言实现如下功能 2.编写一个函数&#xff0c;将RVA的值转换成FOA 将文件加载到内存时&#xff0c;已知一个数据在内存中的地址&#xff0c;将此地址转化成文件在硬盘上时的相对于文件起始地址的文件偏移地址。即将虚拟内存偏移地址转换成文件偏移地址。 说明&#xff1a;这里…

记一次DNS故障导致用户无法充值的问题(上)

背景&#xff1a; 刚刚过去了五一劳动节&#xff0c;回来后一上班接到客服运营团队反馈的节日期间的问题&#xff0c;反馈有部分用户无法充值。拿到的反馈资料有&#xff1a; 无法充值操作视频、问题时间、手机机型、手机网络情况。 1、从视频中看到用户点击支付后没有任何反…

Linux系统使用Docker安装青龙面板并实现远程访问管理面板

文章目录 一、前期准备本教程环境为&#xff1a;Centos7&#xff0c;可以跑Docker的系统都可以使用。本教程使用Docker部署青龙&#xff0c;如何安装Docker详见&#xff1a; 二、安装青龙面板三、映射本地部署的青龙面板至公网四、使用固定公网地址访问本地部署的青龙面板 青龙…

聊聊 ASP.NET Core 中间件(三):如何创建自己的中间件?

前言 本质上&#xff0c;中间件类也是一个普通的 .NET 类&#xff0c;它不需要继承任何父类或者实现任何接口。 但是有几个约定&#xff1a; 需要有一个构造方法构造方法至少要有一个 RequestDelegate 类型的参数&#xff0c;用来指向下一个中间件。需要定义一个名字为 Invo…

嵌入式linux学习第一天

参考正点原子Linux开发文档。记录下知识点。 Shell 基本操作 前面我们说 Shell 就是“敲命令”&#xff0c;那么既然是命令&#xff0c;那肯定是有格式的&#xff0c;Shell 命令的格式 如下&#xff1a; command -options [argument] command: Shell 命令名称。 options&…

雷军-2022.8小米创业思考-6-互联网七字诀之专注:有所为,有所不为;克制贪婪,少就是多;一次解决一个最迫切的需求

第六章 互联网七字诀 专注、极致、口碑、快&#xff0c;这就是我总结的互联网七字诀&#xff0c;也是我对互联网思维的高度概括。 专注 从商业角度看&#xff0c;专注就是要“把鸡蛋尽量放在一个篮子里”。这听起来似乎有些不合理&#xff0c;大家的第一反应可能是“风险会不会…

JUC-synchronized练习-交替打印ABC

今天来练习一下synchronized 简单来利用synchronized实现一个字符串的交替打印 主要的实现设置一个全局的变量state&#xff0c;线程执行通过不断累加state&#xff0c;根据state对三取余的结果来判断该线程是否继续执行还是进入等待。并通过synchronized锁住一个共享变量loc…

js 图片渐变

1. 点击图片&#xff0c;使其渐变为另一张图片 通过定义keyframes来创建一个淡入淡出的动画效果。当图片被点击时&#xff0c;先添加淡出动画使图片透明度从0渐变到1&#xff0c;然后在1秒后切换图片源并添加淡入动画使新图片透明度从0渐变到1&#xff0c;实现图片渐变效果。 …

自动化机器学习——贝叶斯优化

自动化机器学习——贝叶斯优化 贝叶斯优化是一种通过贝叶斯公式推断出目标函数的后验概率分布&#xff0c;从而在优化过程中不断地利用已有信息来寻找最优解的方法。在贝叶斯优化中&#xff0c;有两个关键步骤&#xff1a;统一建模和获得函数的优化。 1. 统一建模 在贝叶斯优…

.双链表.

题目&#xff1a; 实现一个双链表&#xff0c;双链表初始为空&#xff0c;支持 55 种操作&#xff1a; 在最左侧插入一个数&#xff1b;在最右侧插入一个数&#xff1b;将第 k&#x1d458; 个插入的数删除&#xff1b;在第 k&#x1d458; 个插入的数左侧插入一个数&#xf…

新型中医揿针如何降血糖呢?

点击文末领取揿针的视频教程跟直播讲解 “新型针贴”专用揿针是为“埋针疗法”特制治的一种特殊针具&#xff0c;它是古代针刺留针方法的发展。具体来说&#xff0c;它是将特制针具刺入皮内&#xff0c;固定后留置一定时间&#xff0c;利用其持续微弱的刺激作用来治疗疾病的一…

做抖音小店需要注意什么?这几点很多人不知道,看完防踩坑

大家好&#xff0c;我是电商笨笨熊 抖音小店虽然推出了一段时间&#xff0c;但是依旧有新手玩家陆陆续续加入其中&#xff1b; 对于很多新手来说&#xff0c;只看到了其中红利&#xff0c;但却没有看到其中包含的一些运营小细节&#xff0c;且这些细节决定你店铺未来发展&…

【redis】Redis数据类型(四)Set类型

目录 Set类型介绍使用场景 Set类型数据结构set的单个元素的添加过程IntSet哈希表内存结构 常用命令SADD示例 SREM示例 SMEMBERS示例 SISMEMBER示例 SCARD示例 SMOVE示例 SPOP示例 SRANDMEMBER示例 SINTER示例 SINTERSTORE示例 SUNION示例 SUNIONSTORE示例 SDIFF示例 SDIFFSTORE…

每日一题(PTAL2):列车调度--贪心+二分

选择去维护一个最小区间 代码1&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int n;cin>>n;int num;vector <int> v;int res0;for(int i0;i<n;i){cin>>num;int locv.size();int left0;int rightv.size()-1;while(left<…

Go语言fmt包深度探索:格式化输入输出的利器

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 &#x1f3ad; 引言一、基础输出函数fmt.Print与fmt.Println&#x1f4cc; fmt.Print&#xff1a;纯粹输出&#xff0c;不带换行&#x1f4cc; fmt.Println&#xff1a;输出后自动添加换行符 二、格式化输出fmt.Printf&…

在Java中如何有效地处理内存泄露

在Java中&#xff0c;处理内存泄露有多种方法&#xff0c;以下是其中三种常见的方法及其原理和适用场景&#xff1a; ## 1. 合理使用垃圾回收机制 Java中的垃圾回收机制&#xff08;Garbage Collection&#xff0c;GC&#xff09;是一种自动化的内存管理技术&#xff0c;它可以…

代码随想录day19day20打卡

二叉树 1 二叉树的最大深度和最小深度 最大深度已经学习过了&#xff0c;实质就是递归的去判断左右子节点的深度&#xff0c;然后对其进行返回。 附加两个学习的部分&#xff1a; &#xff08;1&#xff09;使用前序遍历的方法求解 int result; void getdepth(TreeNode* nod…