pxe高效批量网络装机 以及安装教程

系统装机的三种引导模式

1.pe

2光驱

3.网卡

 打开本机桌面 可以看见背景图片

查看配置文件内容  文件时引导选项的功能

pxe原理:

先根据dhcp找到IP地址、和引导程序的地址,还提供客户机tftp地址,因为tftp是小文件,容量小,并且网卡支持,vsftpd是大文件,容量大,网卡不支持。网卡使用tftp客户端引导,引导程序加载到内存当中,bios执行引导程序,引导程序回去tftp上查找配置文件,根据配置文件去安装系统。 

1.DHCP服务

用于自动分配IP地址、子网掩码、默认网关、DNS服务器等网络参数给启动的客户端计算机。在PXE场景下,DHCP服务器还会提供一个特殊选项,其中包含TFTP服务器的IP地址以及引导文件名,这样客户端就知道去哪里下载引导程序。

2.TFTP服务

TFTP是一种简单且安全的文件传输协议,适用于无盘工作站或者系统初始化环境。PXE客户端根据DHCP获取到的信息,通过TFTP从指定的服务器下载预启动执行环境的引导程序(pxelinux.0)及后续的内核镜像、initrd等安装所需文件

3.FTP服务

因为TFTP不支持断点续传等高级功能,对于大文件传输效率较低,而HTTP(S)或FTP则更稳定高效

4.syslinux

在PXE环境中,TFTP服务器上通常会提供一个由Syslinux提供的名为pxelinux.0的引导加载程序。当客户端通过PXE启动时,会下载这个文件并执行

 

 安装时,必须要有pxelinux.0 (小型的grub文件) 、pxelinux.cfg(引导文件)   vmlinuz (内核)    initrd.img(驱动) 四大文件

第一步 先关闭防火墙 跟防护

 

现修改dhcp配置文件内容

先看dhcpd.conf的配置文件

将模版复制到配置文件中

配置文件的内容 

 

 

切记在配置文件中  后面一定加; 符号 不然不成功 

其次修改vsftpd服务

 

 

 然后修改tftp的配置文件

 

 启动tftp系统

 

要通过tftp共享文件,所以要把所有文件放在tftp的家目录下 家目录为(/var/lib/tftpboot) 

先查看已挂在qiudaoyu的文件内容

 

 现在找pxelinux.0的文件 装syslinux会提供pxelinux   所以要在syslinux找

现在还缺最后一个 pxelinux.cfg引导文件

 

 

 最后在vm里面 新建一块虚拟机   内存一定要大于2G 然后重新启动

​​​​​​​

Kickstart 无人值守安装

 下载图形化工具

然后进入虚拟机 

打开kickstart工具

 

基本配置 

 

安装方法

 

 引导装载程序选项

 

分区信息

 

点击添加

 

 

 

防火墙配置 : 禁用

 

显示配置   取消勾选  不安装图形界面  因为是直接到字符界面的

 

 

最后保存  保存的路径很重要!!!

 

 

双击点开 var   然后保存在ftp中

 

打开xshell

 

在tftp的家目录下面 添加ks.cfg的配置文件

 最后重启虚拟机

 

cobbler的工作原理

关闭防火墙 关闭防护

 因为在光盘上 没有cobbler软件 所以要先下载额外源

下载cobbler  dhcp   因为cobbler唯独不提供dhcp  所以要在dhcp 

 开启 cobbler  http  tftp   dhcpd 的服务,会显示有问题

利用 cobbler  check命令,检查cobbler服务器的配置和运行状态 可以看见有9个状态  我们选其中三个修改一下即可

 

1.服务器字段设置    
Cobbler需要将/etc/cobbler/settings文件中的 server字段设置为非 'localhost' 的值
。应设置为PXE客户端能够访问到的实际主机名或IP地址。
2.next_server字段设置    
同样在/etc/cobbler/settings 文件中,将 next_server字段设置为PXE网络上启动服务
器的真实IP地址,而不是 '127.0.0.1'(本地回环地址)。
3.SELinux状态    由于系统启用了SELinux,需要按照Cobbler Wiki页面的指导来确保Cobbler在当前SELinux环境中正常工作。
4.TFTP服务配置    
需要在 /etc/xinetd.d/tftp 文件中将 'disable' 参数改为 'no',以启用并允许通过xinetd启动TFTP服务。
5.缺少网络引导加载器    检查 /var/lib/cobbler/loaders 目录下是否包含所有架构所需的引导加载器文件。若仅支持x86/x86_64架构,确保已安装最新版本的syslinux包,并确认pxelinux.0、menu.c32等文件存在。
6.启动rsyncd服务    使用systemctl工具启用并启动rsyncd.service,以便Cobbler可以管理镜像同步等相关功能。
7.debmirror包未安装    若要管理和部署Debian系统及其仓库,需安装debmirror软件包。
8.默认密码安全    默认的模板密码设置仍为 'cobbler',为了安全性,请更改此密码。可以使用提供的openssl命令生成一个新的加密密码,并将其替换到 /etc/cobbler/settings 文件中的 default_password_crypted 字段。
9.电源管理工具缺失    发现没有安装用于电源管理(如重启、关机)的fencing工具。如果需要使用这些可选功能,请安装cman或fence-agents相关包。 

 

 首先来生成一个加密秘密 然后复制

 输入101G  切换到101行 将加密密码 复制上去

 

 

 

 

将298行的pxe 值 0 改为1  防止重复安装系统

 

修改dhcp配置文件

 

 

 

 将里面的内容配置好即可

next-server  与cobbler配置文件中的next-server相对应  不用改

 重启服务

再重启之前 输入 cobbler sync   命令同步

看见末尾task complet  并且没有报错信息 就表示成功 

 

 

下载安装文件’

下载安装系统需要的文件 从光盘里面下载   首先挂载

下载用x86—64 因为文件较大

 

 最后测试一下

到虚拟机中

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

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

相关文章

如何用H5+CSS+JS写一个简单的招聘网站

大家好,我是猿码叔叔,一个 Java 语言开发者。应网友要求,写一个简单的招聘页面。由于技术原因,页面相对简单,朋友们可以选择性的阅读,如果对您有帮助,也可直接拿去使用,因为接下来除…

[足式机器人]Part2 Dr. CAN学习笔记- 最优控制Optimal Control Ch07-2 动态规划 Dynamic Programming

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - 最优控制Optimal Control Ch07-2 动态规划 Dynamic Programming 1. 基本概念2. 代码详解3. 简单一维案例 1. 基本概念 Richoard Bell man 最优化理论: An optimal policy has the …

宏景-zp_options-get_org_tree-SQL注入漏洞-未公开Day漏洞复现

0x01阅读须知 技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的…

电脑分区是使用MRB还是GPT呢?看了这篇文章,心理就有底了

在Windows 10或Windows 11上设置一个新磁盘,系统会询问你是要使用MBR(主引导记录)还是GPT(GUID分区表)。今天,我们将解释GPT和MBR之间的区别,并帮助你为PC或Mac选择合适的。 GPT带来了许多优点…

linux下vsc的自动切换输入法解决方案

前言 个人使用的是Linux开发加上vsc编辑器,这两个东西一加中国开发者大致上就消失不见了,眼馋idea那个Smartinput很久了,赶上放假了,有空搞搞,如果后期有心情会做的通用点 安装 商店搜索SmartInputLinux安装 使用…

Spring Boot 3.2.2整合MyBatis-Plus 3.5.5依赖不兼容问题

问题演示 导依赖 当你启动项目就会 抛出该异常 java.lang.IllegalArgumentException: Invalid value type for attribute factoryBeanObjectType: java.lang.String 问题原因 mybatis-plus 中 mybatis 的整合包版本不够导致的 解决方案 排除掉mybatis-plus 中 mybatis 的整合…

【Vue3】3-3 : 组件之间是如何进行互相通信的

本书目录:点击进入 一、组件之间为什么要做通信 二、组件之间通信方式 2.1、父传子:由传递属性实现 stage 1:申明 (即定义) stage 2:注册 stage 3:使用 【示例】:父组件将 tit…

Swift抓取某网站律师内容并做排名筛选

有个很要好的朋友,今天找我说他的朋友欠他钱,因为工程上面的事情,所以一直没拿到款。想让我找个靠谱的律师帮他打官司,因为这个也不是我的强项,也没有这方面的经验。随即从律师网站爬取对应律师口碑以及成功案例&#…

记录一下uniapp 集成腾讯im特别卡(未解决)

uniapp的项目运行在微信小程序 , 安卓 , ios手机三端 , 之前这个项目集成过im,不过版本太老了,0.x的版本, 现在需要添加客服功能,所以就升级了 由于是二开 , 也为了方便 , 沿用之前的webview嵌套腾讯IM的方案 , 选用uniapp集成ui ,升级之后所有安卓用户反馈点击进去特别卡,几…

数据结构代码实现 —— 单链表【Java】

单链表的概述及性质等在篇不做赘述,有需要可移步以下文章: 《数据结构 C语言版 严蔚敏 第2版》:线性表https://blog.csdn.net/weixin_43551213/article/details/134048025 以下仅展示使用 Java 实现单链表 结点结构定义: publ…

中科院罗小舟团队提出 UniKP 框架,大模型 + 机器学习高精度预测酶动力学参数

作者:李宝珠 编辑:三羊 中国科学院深圳先进技术研究院罗小舟团队提出了,基于酶动力学参数预测框架 (UniKP),实现多种不同的酶动力学参数的预测。 众所周知,生物体内的新陈代谢是通过各种各样的化学反应来实现的。这…

USB转SPI USB转IIC 串口转SPI串口转IIC SPI I2C模块

一款支持USB转SPI、USB转I2C、USB转GPIO、USB转PWM、USB转ADC的模块。提供上位机工具,开发协议。 资料下载,链接:https://pan.baidu.com/s/1sw3RCMwjhrMO4qzUBq9bjA 提取码:qzjp 概述 串口转多协议模组为了客户调试一些功能…

Linux搭建主从DNS服务器

DNS简介: DNS(Domain Name System)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。 DNS产生的原因: 互联网的不同计算机之间通信是通过IP地址来进行…

【软件测试】学习笔记-网站高可用架构设计

顾名思义,网站高可用指的就是,在绝大多的时间里,网站一直处于可以对外提供服务的正常状态。业界通常使用有多少个“9”来衡量网站的可用性指标,具体的计算公式也很简单,就是一段时间内(比如一年&#xff09…

Mybatis原理 - 标签解析

很多开源框架之所以能够流行起来,是因为它们解决了领域内的一些通用问题。但在实际使用这些开源框架的时候,我们都是要解决通用问题中的一个特例问题,所以这时我们就需要使用一种方式来控制开源框架的行为,这就是开源框架提供各种…

Redis原理篇(String)

一.编码方式 String 有三种编码方式 1.RAW编码 type是类型,表示该类型是String类型 encoding是编码方式,表示当前是String的RAW编码方式 ptr指针指向一个SDS(动态字符串)对象 2.EMBSTR编码 当要存的字符串长度小于44个字节时&…

ElasticSearch 7.x现网运行问题汇集3

问题描述 某现网ElasticSearch 故障,很长时间unassgined_shards的数量都不减少。 原因分析与解决方案: 先了解整体状态,使用Postman请求,如下几个请求命令: GET /_cat/indicesGET /_cat/shardsGET /_cluster/health…

《Python数据分析技术栈》第03章 03 可视化各级数据(Visualizing various levels of data)

03 可视化各级数据(Visualizing various levels of data) 《Python数据分析技术栈》第03章 03 可视化各级数据(Visualizing various levels of data) Whenever you need to analyze data, first understand if the data is stru…

【图解数据结构】顺序表实战指南:手把手教你详细实现(超详细解析)

🌈个人主页:聆风吟 🔥系列专栏:图解数据结构、算法模板 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 一. ⛳️线性表1.1 🔔线性表的定义1.2 🔔线性表的存储结构 二. ⛳️顺序表…

解决Windows下Goland的Terminal设置为Git Bash失败

路径不要选错了: 如果还是不行: 把bash路径加进去试试 goland设置Terminal