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

PXE自动装机

一、PXE概述

PXE:c/s架构,允许客户端通过网络从远程服务器(服务端)下载引导镜像,加载安装文件,实现自动化安装操作系统。

c/s 架构:服务端和客户端都可以是多台。

无人值守:安装选项不需要人为干预,可以自动化实现。

PXE的优点:

  1. 规模化,同时装配多台服务器,20台左右为佳,再多容易卡;
  2. 自动化
  3. 远程实现,不需要光盘、U盘等介质。

PXE的安装条件

硬件:网卡要支持PXE协议,主板要支持网络引导。

软件:服务端要有DHCP:可以在客户机启动时,自动分配IP地址。TFTP:简单文件传输协议,传小文件,引导镜像文件很小,使用TFTP。VSFTP:文件传输协议,传大文件,安装文件。

二、PXE安装流程

test1 :root@20.0.0.10作为服务端

2.1 安装TFTPxinetd服务

注意(TFTP软件名 tftp-server)

xinetd服务:网络守护进程服务程序,用来管理轻量级的网络服务。管理TFTP的文件传输,TFTP是一个后台进程,使用的是UDP协议,端口69

systemctl stop firewalld
setenforce 0
yum -y install tftp-server xinetd
systemctl start tftp
systemctl enable tftp
systemctl start xinetd.service
systemctl enable xinetd.service

vim /etc/xinetd.d/tftp管理tftp服务配置

#编辑文本内容
wait = no
#修改成 no :可以并行安装多台客户机
disable = no
#修改成 no: 后台启动tftp重启两个服务
systemctl restart tftp
systemctl restart xinetd

2.2 配置DHCP

先安装dhcp服务

yum -y install dhcp

​ 对dhcp服务进行配置:复制dhcp样板配置文件,覆盖dhcp实际的配置文件

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
#对dhcpd.conf进行以下设置
#解注释下一行内容
ddns-update-style none;
#禁用DNS动态更新
#新增下两行内容
next-server 20.0.0.10;
#指定tftp的服务器,用于引导网络设备
filename "pxelinux.0";
#指定了网络引导时客户端应该请求的文件名pxelinux.0#配置地址池
subnet 20.0.0.0 netmask 255.255.255.0 {range 20.0.0.60 20.0.0.80;option routers 20.0.0.10;
}
#注意,网关选择本机IP地址20.0.0.10!!!
#配置完成,重启dhcp服务
systemctl restart dhcpd

#注意,网关选择本机IP地址20.0.0.10!!!

2.3 准备PXE的引导程序

通过光盘镜像把光盘目录下/images/pxeboot/目录中的文件vmlinuzinitrd.mrg复制到目录/var/lib/tftpboot/下。

vmlinuz :Linux系统的内核文件

initrd.mrg :初始化镜像文件,引导加载的模块文件

/mount /dev/cdrom /mnt/
cd /mnt/images/pxeboot/
cp vmlinuz /var/lib/tftpboot/
cp initrd.mrg /var/lib/tftpboot/#安装PXE的引导程序syslinux
yum -y install syslinux
cd /usr/share/syslinux
cp pxelinux.0 /var/lib/tftpboot/

pxelinux.0:在dhcp配置中设置的,网络引导时客户端应该请求的文件pxelinux.0

2.4 VSFTPD配置

安装vsftpd服务

yum -y install vsftpd
cd /var/ftp
mkdir centos7
cp -rf /mnt/* /var/ftp/centos7
#把光盘镜像的内容全部复制到目标目录/var/ftp/centos7
#重启vsftpd服务
systemctl restart vsftpd

2.5 配置启动菜单文件

mkdir /var/lib/tftpboot/pxelinux.cfg 
cd /var/lib/tftpboot/pxelinux.cfg 
vim default
#写入下列启动菜单内容
default auto 
#指定安装程序的入口,使用这个文件作为安装程序的入口,自动选择。
prompt 0
#是否等待用户选择,0不等待用户输入,自动完成。1需要手动输入。label auto
#图形化界面的默认安装入口
kernel vmlinuz
#加载内核文件,vmlinuz
append initrd=initrd.img method=ftp://20.0.0.10/centos7 ks=ftp://20.0.0.10/ks.cfg
#指定初始化文件initrd.img。
#指定method=安装源的位置。
#指定kickstart文件位置,用于无人值守自动化安装。(见下文)label linux text
#字符界面,最小化安装
kernel vmlinuz
append initrd=initrd.img method=ftp://20.0.0.10/centos7label linux rescue
#救援模式的引导入口
kernel vmlinuz
append initrd=initrd.img method=ftp://20.0.0.10/centos7#配置完成

2.6 无人值守配置流程

安装服务 system-config-kickstart

yum -y install system-config-kickstart
#运行这个程序
system-config-kickstart

注:system-config-kickstart不能用xshell打开,需要xmanager软件;也可以可以用mobaxteam软件打开;或者直接在虚拟机上打开。

配置流程图略,配置完成后成对应的kickstrat配置文件ks.cfg,保存到/root,文件内容如下:

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --plaintext 123
# Use network installation
url --url="ftp://20.0.0.10/centos7"
# System language
lang zh_CN
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled
# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=512
part /home --fstype="xfs" --size=4096
part swap --fstype="swap" --size=4096
part / --fstype="xfs" --grow --size=1

文件指定了自动化安装的各项配置。

可在文件最后添加安装后自动执行的脚本,进行各项配置。

复制ks.cfg/var/ftp,无人值守配置完成。

2.7 客户端安装

test2 :作为客户机(内存至少4G,否则不能启动PXE)

打开客户机,等待自动化安装完成。

相关文章:

PXE自动装机

一、PXE概述 PXE:c/s架构,允许客户端通过网络从远程服务器(服务端)下载引导镜像,加载安装文件,实现自动化安装操作系统。 c/s 架构:服务端和客户端都可以是多台。 无人值守:安装选…...

MQ之初识kafka

1. MQ简介 1.1 MQ的诞生背景 以前网络上的计算机(或者说不同的进程)传递数据,通信都是点对点的,而且要实现相同的协议(HTTP、 TCP、WebService)。1983 年的时候,有个在 MIT 工作的印度小伙突发…...

linux驱动学习(七)之混杂设备

需要板子一起学习的可以这里购买(含资料):点击跳转 一、混杂设备 混杂设备也叫杂项设备,是对普通的字符设备(struct cdev)的一种封装,设计目的就是为了简化字符设备驱动设计的流程。具有以下特点: 1) 主设备号为10&a…...

【数据结构与算法 | 堆篇】力扣215, 703

1. 力扣215 : 数组中的第k个最大元素 (1). 题 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解…...

项目经理进入职场都会经历的三个阶段

对于项目经理而言,进入职场是一个不断学习和成长的过程。在这个过程中,项目经理通常会经历三个主要阶段,每个阶段都有其独特的特点和挑战。 一、基础建设与学习阶段 对于新入行的项目经理来说,最初的阶段主要是基础技能的积累和…...

消防设施工程乙级资质全解析:申请条件与流程“

消防设施工程乙级资质全解析:申请条件与流程 消防设施工程乙级资质,作为衡量企业从事特定规模消防设施设计能力的重要标尺,对于想要在消防工程领域拓展业务的企业而言至关重要。本文将全面解析申请消防设施工程乙级资质所需的条件、流程及相…...

【C语言】03.分支结构

本文用以介绍分支结构,主要的实现方式为if语句和switch语句。 一、if语句 1.1 if语句 if (表达式)语句表达式为真则执行语句,为假就不执行。在C语言中,0表示假,非0表示真.下图表示if的执行过程: 1.2 else语句 当…...

uniapp手机屏幕左滑返回上一页支持APP,H5

核心&#xff1a;touchstart"touchStart" touchend"touchEnd" 代码示例&#xff1a; <template><view class"payPasswordSetting" touchstart"touchStart" touchend"touchEnd"></view> </template&g…...

【Java毕业设计】基于JavaWeb的洗衣店管理系统

文章目录 摘要ABSTRACT目 录1 概述1.1 研究背景及意义1.2 国内外研究现状1.3 拟研究内容1.4 系统开发技术1.4.1 SpringBoot框架1.4.2 MySQL数据库1.4.3 MVC模式 2 系统需求分析2.1 可行性分析2.2 功能需求分析 3 系统设计3.1 功能模块设计3.2 系统流程设计3.3 数据库设计3.3.1 …...

使用sqlldr向oracle导入大量数据

&#xff08;1&#xff09;在Oracle主机安装oracle客户端 sqlldr&#xff0c;在命令行输入sqlldr&#xff0c;若有help指导即已经安装了&#xff1b; &#xff08;2&#xff09;创建一个xxx.ctl文件 这个文件是执行导入数据的语句&#xff0c;其中包含需要导入的数据&#x…...

Milvus LIKE操作符

在Milvus中&#xff0c;虽然LIKE操作符被用于模糊匹配字符串&#xff0c;但其支持的模式匹配能力有限。根据你收到的错误信息&#xff0c;Milvus目前只支持两种类型的LIKE模式匹配&#xff1a; 前缀匹配&#xff0c;例如LIKE ab%&#xff0c;这意味着任何以ab开头的字符串都会…...

iQOO neo 5精简内置组件

无他!系统自带了太多组件,都用不到,连打开都不曾打开过。 下午整理一篇精简组件的列表,各自按照各自的需要进行精简哦。别盲目跟风,要不然手机使用会出问题。 精简步骤 使用任意刷机工具,开启手机的开发权限,然后adb连接 删除组件列表如下: pm uninstall --user 0…...

为什么给网站安装SSL证书之后还是有被提示不安全?

分为两种情况一种是安装了付费证书之后还是显示无效&#xff0c;另一种是安装了免费SSL证书的。 付费SSL证书&#xff1a;直接找厂商帮助解决遇到的问题&#xff0c;一般都是有专业的客服来对接这些的。 免费SSL证书&#xff1a;出现这种情况的原因会有很多。因为免费SSL证书的…...

创建Frame单例,实现WPF页面跳转

需求&#xff1a; 有一个F0View主页面入口&#xff0c;三个子页面&#xff08;First.xaml/Second.xaml/Third.xaml&#xff09;用Frame默认加载第一个页面 First.xaml。实现三个页面之间顺序跳转&#xff0c;并且每个页面只初始化一次。 实现&#xff1a; 1&#xff0c;将三…...

正宇软件助力江西数字人大建设,高效解决群众“急难愁盼”问题

近日&#xff0c;赣州市南康区群众通过“江西数字人大”小程序成功解决道路塌陷等民生问题&#xff0c;引发社会广泛关注。这一成功案例不仅彰显了“数字人大”在解决群众“急难愁盼”问题中的重要作用&#xff0c;也凸显了江西地区近年来在数字化人大建设方面的显著成效。正宇…...

打造AIPC轻量化方案 360AI浏览器及360AI搜索全新发布

“搜索这20多年来没有发生变化&#xff0c;我们希望这次能来一场革命。”6月6日&#xff0c;360AI新品发布会暨开发者沟通会在京举办。会上&#xff0c;三六零&#xff08;股票代码&#xff1a;601360.SH&#xff0c;以下简称360&#xff09;集团发布全新360AI搜索及360AI浏览器…...

《effective c++》学习笔记

从今天开始看《effective c》这本书&#xff0c;把学到的东西当做笔记记下来&#xff0c;算是督促自己学习吧&#xff0c;也算是和大家一起分享一点东西&#xff0c;理解不当的地方&#xff0c;请谅解。&#xff08;每天更新三个条款&#xff09;。 一&#xff1a;让自己习惯C…...

11.盛水最多的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff1a;你不能倾斜容器。 示例 1&a…...

通过在idea上搭建虚拟hadoop环境使用MapReduce做词频去重

idea上的MapReduce ​ 一般在开发中&#xff0c;若是等到环境搭配好了再进行测试或者统计数据&#xff0c;数据处理等操作&#xff0c;那会很耽误时间&#xff0c;所以一般都是2头跑&#xff0c;1波人去在客户机上搭建环境&#xff0c;1波人通过在idea上搭建虚拟hadoop环境&am…...

AI技术变革与企业服务创新

1、AI的技术变革 1&#xff09;AI市场规模 2&#xff09;AI大模型发展历程 3&#xff09;AIGC发展背景 4&#xff09;AIGC技术能力 AIGC的技术架构逻辑上分为基础层、技术层、能力层、应用层、终端层五大板块&#xff0c;其中核心技术层涵盖AI技术群和大模型的融合创新&#…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...