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

PXE批量安装操作系统

PXE批量安装操作系统

  • 系统环境rhedhat7.9
  • 关闭vmware内的dhcp服务

kickstart自动安装脚本的制作

在rhel7系统中提供图形的kickstart制作方式
在rhel8中已经把图形的工具取消,并添加到rhn网络中
在rhel8中如果无法通过rhn网络制作kickstart,可以使用模板生成#通过模板生成kickstart文件#
在已经装好的rhel8中,/root/anaconda-ks.cfg 就是安装当前系统时回答的所有问题的答案
生成的kickstart,此文件为kickstart模板

安装/开启系统图形化界面

已经安装过图形化界面的可使用以下命令调出
init 5未安装
yum groups list
yum install -y "Server with GUI"

安装并配置kickstart

查询kickstart
[root@node1 ~]# yum search kickstart
system-config-kickstart.noarch : A graphical interface for making kickstart files安装软件
[root@node1 ~]# yum install -y system-config-kickstart调用软件
[root@node1 ~]# system-config-kickstart 具体设置操作如下所示:

image-20240804213211321

image-20240804213528170

注:本机ip为192.168.84.131,后续均为192.168.84.131不是132此脚本基于web进行因此需安装web服务,并将共享的ISO镜像挂载到默认的访问目录
#下载并启动appache服务
[root@node1 ~]# yum install -y httpd
[root@node1 ~]# systemctl start --now httpd.service 
[root@node1 ~]# systemctl enable --now httpd.service #创建挂载点的软连接
[root@node1 ~]# ln -s /media/ISO/ /var/www/html/
[root@node1 ~]# ls /var/www/html/ISO/
addons  extra_files.json  isolinux    Packages                 RPM-GPG-KEY-redhat-release
EFI     GPL               LiveOS      repodata                 TRANS.TBL
EULA    images            media.repo  RPM-GPG-KEY-redhat-beta

image-20240804213639217

image-20240804213923184

image-20240804214046209

image-20240804214151674

image-20240804214302310
在这里插入图片描述

image-20240804214948612

在这里插入图片描述

image-20240804215326443
由于上述软件包选择时系统未能做出相应,因此若想添加安装的软件包,可后续编辑ks.cfg文件,可参考anaconda-ks.cfg文件
image-20240804215752634
文件内容正确性检查
[root@node2 ~]# ksvalidator ks.cfg 

自动安装脚本进行测试

image-20240804221132228 image-20240804221233450
可以正常访问,则代表自动化脚本生成成功

搭建DHCP服务测试kackstart脚本

搭建步骤

1、安装DHCP服务器,为其他主机分配IP地
[root@node1 ~]# yum search dhcp
dhcp-common.x86_64 : Common files used by ISC dhcp client and server
[root@node1 ~]# yum install -y dhcp2、查看DHCP的软件包,生成dhcp配置文件
[root@node1 ~]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf[root@node1 ~]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#[root@node1 ~]# \cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf 3、编辑配置文件,27、28注释,35之后的删除
[root@node1 ~]# vim /etc/dhcp/dhcpd.conf 7 option domain-name "rabbit.com";
8 option domain-name-server 114.114.114.114;32 subnet 192.168.84.0 netmask 255.255.255.0 {
33   range 192.168.84.140 192.168.84.150;
34   option routers 114.114.114.114;
35 }4、重启dhcp服务
[root@node1 ~]# systemctl enable --now dhcpd
image-20240804223517413
注:上述应为:option domain-name-servers 114.114.114.114 (手误多删了个s)
image-20240804223734687

测试搭建

  • 新建一个虚拟机
image-20240804224358458 image-20240804224634491 image-20240804231746539

安装成功

搭建pxe网络安装环境实现服务器自动部署

pxe简介

  • PXE:Pre-boot Excution Environment,预启动执行环境

  • PXE是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。

  • 若要搭建PXE网络体系,必须要满足以下条件:

    • 客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。

    • 网络中有一台DHCP服务器,以便为客户机分配地址、指定引导文件位置 。

  • 服务器通过TFTP(Trivial File Transfer Protocol)简单文件传输协议提供引导镜像文件的下载

pxe工作流程

image-20240805094541206

操作流程

1、安装pxelinux
[root@node1 ~]# yum install syslinux.x86_64 -y
image-20240805095233007
2、
(查看帮助文档的具体操作步骤)
[root@node1 ~]# rpm -ql syslinux.x86_64
[root@node1 ~]# more /usr/share/doc/syslinux-4.05/pxelinux.txt安装tftp server
(共享pxelinux.0数据文件的网络服务)
[root@node1 ~]# yum install -y tftp-server.x86_64
[root@node1 ~]# systemctl --now enable tftp[root@node1 ~]# rpm -ql tftp-server.x86_64
/var/lib/tftpboot		#tftp默认访问目录创建/tftpboot目录,将pxelinux.0和初始页面加载数据文件复制到指定访问目录
[root@node1 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@node1 ~]# cp /media/ISO/isolinux/* /var/lib/tftpboot/创建/tftpboot/pxelinux.cfg目录
[root@node1 tftpboot]# mkdir pxelinux.cfg[root@node1 ~]# cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

image-20240805101035423

修改默认访问配置文件
[root@node1 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default注:修改完成后要wq!强制保存退出

image-20240805103116917

修改dhcp服务的配置文件
[root@node1 ~]# vim /etc/dhcp/dhcpd.conf注:配置完要重启服务

image-20240805103601284

测试

1、移除虚拟机的cd/dvd驱动器
2、点击电源开关右侧选择,下拉选择打开电源时进入固件
3、将网络模式调为第一行
4、保存退出,启动虚拟机注:1、关闭虚拟机的dhcp服务2、测试完成后,调回硬盘启动,否则下次仍会进行网络安装从而陷入循环
image-20240805104027924

image-20240805220025261

安装成功!!!!!

相关文章:

PXE批量安装操作系统

PXE批量安装操作系统 系统环境rhedhat7.9关闭vmware内的dhcp服务 kickstart自动安装脚本的制作 在rhel7系统中提供图形的kickstart制作方式 在rhel8中已经把图形的工具取消,并添加到rhn网络中 在rhel8中如果无法通过rhn网络制作kickstart,可以使用模板…...

float32转float16、snorm/sunorm8/16 学习及实现

1、基础 彻底搞懂float16与float32的计算方式-CSDN博客 例1:float32 0x3fd00000 32b0 011_1111 _1 101_0000_0000_0000_0000_0000 sign0 exp8b0111_1111 h7f d127 >0ffset 127-127 0 mantissa b101_0000_0000_0000_0000_0000(补1,1.1010…...

小型养猫空气净化器怎么选?小型养猫空气净化器产品评测

家养四只猫猫,对于各个角落的猫毛,感觉家里已经被猫毛占领了。感受一下40度高温的养猫人,给掉毛怪疏毛浮毛飘飘,逃不过的饮水机,各个角落,多猫拉臭传来的异味。 一、养猫带来的麻烦 掉毛:每到换…...

数学建模--二分法

目录 二分法的基本原理 应用实例 求解方程根 查找有序数组中的元素 注意事项 Python代码示例 ​编辑 延伸 二分法在数学建模中的具体应用案例有哪些? 如何选择二分法的初始区间以确保收敛速度和精度? 在使用二分法求解方程时,如何…...

如何使用 Puppeteer 绕过 Akamai

摘要: 本文深入探讨了在面对Akamai强大防护下的网页抓取挑战时,如何运用Puppeteer这一强大的Node.js库,通过模拟真实用户行为、动态请求处理等策略,高效且隐蔽地收集数据。我们将一步步揭开Puppeteer绕过Akamai的神秘面纱&#x…...

【硬件知识】车规级开发等级——AEQ-100和ISO26262标准

文章目录 一、定义二、区别1.应用场景2.使用方法 总结 一、定义 AEQ-100(Automotive Electronics Council Q100)是一个由汽车电子委员会(AEC)制定的标准,主要用于保证汽车电子元件的可靠性。它是一个关于汽车级半导体…...

Qt | QStackedBarSeries(堆叠条形图)+QPercentBarSeries(堆叠百分比条形图)

点击上方"蓝字"关注我们 01、QBarSet 1. 首先,需要创建一个名为QBarSet的类。 2. 在QBarSet类中,定义所需的属性和方法。 3. 属性可能包括条形的名称、颜色、值等。 4. 方法可能包括添加条形、删除条形、计算总和等。 5. 确保QBarSet类能够与QBar类协同工作,…...

C++——多态经典案例(一)组装电脑

案例:小明打算买两台组装电脑,假设电脑零部件包括CPU、GPU和内存组成。 一台电脑使用intel的CPU、GPU和内存条 一台电脑使用Huawei的CPU、GPU和Intel的内存条 分析:使用多态进行实现 将CPU、GPU和内存条定义为抽象类,内部分别定义…...

从传统监控到智能化升级:EasyCVR视频汇聚平台的一站式解决方案

随着科技的飞速发展和社会的不断进步,视频监控已经成为现代社会治安防控、企业管理等场景安全管理中不可或缺的一部分。而在视频监控领域,EasyCVR视频汇聚平台凭借其强大的多协议接入能力,在复杂多变的网络环境中展现出了卓越的性能和广泛的应…...

Windows下,已知程序PID,取得其窗口句柄HWND

我需要实现这么一个功能:在知道某个程序的PID的情况下,最大化并且置顶显示这个程序的窗口。经过一番资料的查找,并且借助了一些科技的力量,找到了解决办法: struct FindWindowData {DWORD processId;HWND hWnd; };BOO…...

Java获取exe文件详细信息:产品名称,产品版本等

使用Maven项目&#xff0c;在pom.xml文件中注入&#xff1a; <dependency><groupId>com.kichik.pecoff4j</groupId><artifactId>pecoff4j</artifactId><version>0.4.1</version></dependency> 程序代码&#xff1a; import …...

ORB-SLAM2运行环境搭建

操作系统&#xff1a;Ubuntu20.04 1.安装Eigen3 推荐大家安装版本 3.2.10 链接&#xff1a;https://eigen.tuxfamily.org/index.php?titleMain_Page mkdir build cd build cmake .. sudo make install2.安装Pangolin 推荐安装0.5版本 链接&#xff1a;https://github.com…...

Nginx高频核心面试题2

目录 高级问题1. **Nginx中如何实现URL重写&#xff1f;**2. **如何在Nginx中设置基本的HTTP身份验证&#xff1f;**3. **如何限制Nginx中的请求速率&#xff1f;**4. **如何在Nginx中设置自定义错误页面&#xff1f;**5. **Nginx的worker_processes和worker_connections参数有…...

全面提升PDF编辑效率,2024年五大顶级PDF编辑器推荐!

在这个数字化飞速发展的时代&#xff0c;PDF文件已经成为我们日常工作和学习中不可或缺的一部分。然而&#xff0c;面对PDF文件的编辑和管理&#xff0c;许多人仍然感到困惑和无助。今天&#xff0c;就让我们一起探索几款高效、易用的PDF编辑器&#xff0c;它们将彻底改变你的工…...

代码随想录算法训练营第二十天|235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点

写在前边的话 235. 二叉搜索树的最近公共祖先 题目链接 力扣题目链接 题目难度 中等 看到题目的第一想法 看到题目的第一想法&#xff0c;除了昨天做过的普通二叉树的最近祖先的解法利用回溯从底向上搜索&#xff0c;我会想到使用迭代法&#xff0c;但我好像不太会使用到二…...

视频美颜SDK与直播美颜插件在实时视频中的应用

视频美颜技术作为提升视频质量的重要手段&#xff0c;已经成为了许多视频和直播应用中不可或缺的一部分。本篇文章&#xff0c;笔者将探讨视频美颜SDK与直播美颜插件在实时视频中的应用&#xff0c;并分析其在用户体验和技术实现方面的重要性。 一、视频美颜SDK的应用场景 视…...

【Linux】yum(工具篇)

文章目录 前言&#xff1a;什么是软件包yum 的介绍yum源yum源的配置第三方源的配置官方源的配置镜像站点安装wget包备份本地yum源配置网易yum源重新生成yum缓存 前言&#xff1a;什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程…...

3GPP入门

官网地址 3GPP – The Mobile Broadband Standard 协议下载链接 Directory Listing /ftp/specs/archive 总纲 重点series Signalling protocols ("stage 3") - user equipment to network24 series信令Radio aspects25 series3G 基础LTE (Evolved UTRA), LTE-Adva…...

FFmpeg内存对齐简述

目录 引文 行字节数的计算 ffmpeg中的align ffmpeg中的linesize 内容参考 引文 在ffmpeg的使用过程中有时会发现align这个参数&#xff0c;那么这个参数代表什么意思&#xff0c;不同的值会产生什么影响呢&#xff0c;详见下文。 行字节数的计算 理解内存对齐之前首先要…...

手机号码归属地查询接口如何对接?(一)

一、什么是手机号码归属地接口&#xff1f; 通过手机号查询归属地信息、是否虚拟运营商等。 二、手机号码归属地接口适用哪些场景&#xff1f; 例如&#xff1a;市场营销领域 &#xff08;1&#xff09;精准营销&#xff1a;企业可以通过手机号归属地查询接口了解客户的大致…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...

消息队列系统设计与实践全解析

文章目录 &#x1f680; 消息队列系统设计与实践全解析&#x1f50d; 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡&#x1f4a1; 权衡决策框架 1.3 运维复杂度评估&#x1f527; 运维成本降低策略 &#x1f3d7;️ 二、典型架构设计2.1 分布式事务最终一致…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践

在 Kubernetes 集群中&#xff0c;如何在保障应用高可用的同时有效地管理资源&#xff0c;一直是运维人员和开发者关注的重点。随着微服务架构的普及&#xff0c;集群内各个服务的负载波动日趋明显&#xff0c;传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...