PXE 装机(五十)

news2024/12/30 1:31:26

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、PXE是什么

二、PXE的组件

三、配置vsftpd

四、配置tftp

五、准备pxelinx.0文件、引导文件、内核文件

​六、配置dhcp

七、创建default文件

八、配置pxe无人值守安装

九、开启客户端验证

总结



前言

PXE装机(Preboot Execution Environment)是一种无需使用光盘、U盘或其他物理介质,通过网络进行计算机系统安装的方法。它主要依赖于网络引导协议和网络引导服务器。

在PXE装机过程中,计算机首先在开机时通过BIOS或UEFI启动,并通过网络接口卡(NIC)发送一个特定的网络请求,寻找可用的PXE服务器。一旦找到PXE服务器,计算机会通过网络接收来自PXE服务器的引导程序。

PXE服务器通常会配备一个操作系统镜像库,其中包含了多个操作系统的安装镜像。一旦引导程序加载完成,计算机就可以在网络上选择合适的操作系统镜像,并通过网络下载到计算机内存中进行安装。

PXE装机的好处是节省了大量的物理介质和手动安装操作的时间和工作量。它尤其适用于需要批量安装计算机系统的场景,如企业级IT部门、数据中心等。

要使用PXE装机,需要满足以下条件:

  1. 一台或多台能够提供PXE服务的服务器,通常使用专用的PXE服务器软件。

  2. 网络环境,包括一个可用的网络接口卡和网络连接,以及正确配置的子网、网关和DNS服务器。

  3. 安装镜像库,包含了要安装的操作系统的镜像文件。

  4. 客户端计算机上的BIOS或UEFI配置,需启用PXE网络引导选项。

一旦满足了以上条件,就可以通过PXE装机系统来自动化和简化计算机系统的安装过程。


提示:以下是本篇文章正文内容,下面案例可供参考

一、PXE是什么

批量装机系统,网络安装linux操作系统。需要客户端的网卡支持pxe网络启动。

Kickstart:是一种无人值守的安装方式,提前定义好Linux安装过程的配置文件,名为 ks.cfg,这个文件预先定义了安装要求从而进行自动化安装;

PXE:预启动执行环境 是由Intel公司开发的最新技术,工作与C/S的网络模式,支持从 远端下载镜像,并由此支持通过网络启动操作系统;

二、PXE的组件

1. vsftpd/httpd/nfs

负责提供系统的安装文件

2. tftp

负责提供系统安装前的引导文件与内核文件

3. dhcp

负责提供客户端的IP地址分配与pxe引导文件,及pxe服务器地址

三、配置vsftpd

关闭防火墙与selinux

配置本地yum源

配置本机静态IP

安装vsftpd

启动vsftpd

拷贝系统文件到/var/ftp/

四、配置tftp

安装tftp-server

 yum install -y tftp-server

启动tftp

vim /etc/xinit.d/tftp

disable=no

systemctl start tftp

五、准备pxelinx.0文件、引导文件、内核文件

准备pxelinux.0文件

yum install -y syslinux

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

准备引导文件、内核文件

cd  /光盘挂载路径/images/pxeboot/

cp initrd.img vmlinuz /var/lib/tftpboot

六、配置dhcp

安装dhcp服务

yum install -y dhcp

配置dhcp配置文件

cd /etc/dhcp/

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

vim dhcpd.conf

找到subnet字段,分别把2行、4行、5行对应的行数subnet全部删除。保留一下subnet:

subnet 192.168.100.0 netmask 255.255.255.0 {

  range 192.168.100.10 192.168.100.20;

  option domain-name-servers ns1.internal.example.org;

  option domain-name "internal.example.org";

  option routers 192.168.100.254;

  option broadcast-address 192.168.100.255;

  default-lease-time 600;

  max-lease-time 7200;

   next-server 192.168.100.254;

      filename "pxelinux.0";

}

启动dhcp服务

systemctl start dhcpd

七、创建default文件

更改挂载

cd /var/lib/tftpboot

mkdir pxelinux.cfg

cd pxelinux.cfg

vim default

default auto 默认安装标签

prompt 1 等待用户确认,1表示等待,0表示不等待

label auto 定义标签

        kernel vmlinuz 指定内核

        append initrd=initrd.img method=ftp://192.168.100.254/pub 指定引导镜像文件与系统安装文件

测试

重新建一个虚拟机——设置网络适配器为vmnet2——开机

加载完成后会显示以下界面,说明交互式完成

八、配置pxe无人值守安装

配置ks文件

(1)修改配置文件

vim /root/anaconda-ks.cfg

(2)使用图形界面配置

yum install -y system-config-kickstart.noarch

system-config-kickstart

弹出kickstart的配置界面

基本配置【默认语言】——【时区】——【Root密码】——安装后重启;

选择【安装方法】-【安装方法-FTP】-配置FTP服务器与目录;

配置分区信息,确认是否删除现存分区,设置新的分区;

设置网络配置,选择【添加网络设备】——网络设备:ens33;

修改防火墙配置,默认防火墙禁用;

默认安装图形化界面,可以取消;

其他的可以不用改,配置完成后,保存ks.cfg文件到对应的ftp路径;

文件保持路径为:/root,名称为ks.cfg;

保存完成后,查看

从/root/anaconda-ks.cfg文件中拷贝软件安装字段到ks.cfg

%packages

@^graphical-server-environment

@base

@core

@desktop-debugging

@development

@dial-up

@fonts

@gnome-desktop

@guest-agents

@guest-desktop-agents

@hardware-monitoring

@input-methods

@internet-browser

@multimedia

@print-client

@x11

%end

cp /root/ks.cfg /var/ftp

  1. 修改default文件

default auto

prompt 0

label auto

        kernel vmlinuz

        append initrd=initrd.img method=ftp://192.168.100.254/pub ks=ftp://192.168.44.128/ks.cfg

九、开启客户端验证

经过长时间的等待

输入用户名,密码登录


总结

以上就是今天的内容及详细的操作步骤,按照上面的步骤操作,是没有任何问题的。

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

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

相关文章

C语言圣经KR笔记 1.10外部变量和作用域

1.10外部变量和作用域 上一节main中的变量,如line、longest等等,对main来说是私有的或者说是局部的。因为它们是在main中定义的,其他函数不能直接访问它们。其他函数中的变量也是如此,例如,getline中的变量 i 与copy中…

C语言:static关键字的使用

1.static修饰局部变量 这是static关键字使用最多的情况。我们知道局部变量是在程序运行阶段在栈上创建的,但是static修饰的局部变量是在程序编译阶段在代码段(静态区)创建的。所以在static修饰的变量所在函数执行结束后该变量依然存在。 //…

C++(17):标准库特殊设施

tuple 类型 tuple是类似pair的模板。 每个pair的成员类型都不相同,但每个 pair都恰好有两个成员。不同tuple类型的成员类型也不相同,但一个tuple可以有任意数量的成员。 每个确定的tuple类型的成员数目是固定的,但一个tuple类型的成员数目可…

OS 死锁处理

如果P先申请mutex 则mutex从1置零,假设申请到的empty 0则empty变成-1阻塞态 同理C中mutex从0变为-1,那么如果想离开阻塞态,那么就需要执行V(empty)但是如果执行V(empty)就需要P(mu…

postgresql-窗口函数

postgresql-窗口函数 简介窗口函数的定义分区选项(PARTITION BY)排序选项(ORDER BY)窗口选项(frame_clause) 聚合窗口函数排名窗口函数演示了 CUME_DIST 和 NTILE 函数 取值窗口函数 简介 常见的聚合函数&…

飞致云开源社区月度动态报告(2023年8月)

自2023年6月起,中国领先的开源软件公司FIT2CLOUD飞致云以月度为单位发布《飞致云开源社区月度动态报告》,旨在向广大社区用户同步飞致云旗下系列开源软件的发展情况,以及当月主要的产品新版本发布、社区运营成果等相关信息。 飞致云开源大屏…

开讲啦!0基础也能玩转飞桨开源社区

作为cs/ai学生,你是否经历过这些至暗时刻: 希望快速入门深度学习,无奈网上到处都是看不懂“黑话”一遍遍计算综测小数点后四位,不断在保研边缘反复横跳看着“洁白如新”的履历叹气,一听到“考研复试”就头皮发麻“0实习…

【ES6】Promise.allSettled的用法

Promise.allSettled() 是一个Promise方法,用于处理一个Promise数组,返回一个新的Promise数组,每个元素对应原始Promise的状态。这个方法可以用于处理多个异步操作,并且能够获取每个操作的结果和状态。 下面是Promise.allSettled(…

基于蛇优化算法优化的BP神经网络(预测应用) - 附代码

基于蛇优化算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于蛇优化算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.蛇优化优化BP神经网络2.1 BP神经网络参数设置2.2 蛇优化算法应用 4.测试结果:5.Matlab代…

ChatGPT~Error1015You are being rate limited

目录 问题背景 问题的原因 下来说说解决方案 总结 问题背景 今天使用Chatgpt的时候突然出现"You are being rate limited"的错误提示。 问题的原因 小问题了,又不是第一次被弄出来了,莫慌。 让我们先看看Chatgpt自己是怎么解释这个问题…

GE Diary 0001

今天是入职GEHC的第一天,虽然是OD岗位,但是员工氛围暂时没感觉有什么差异,领导也很随和。 公司印象:GEHC目前给我的印象是典型的外企:朝九晚五、无需打卡(OD岗位需要打本公司的卡)、短小精悍的会…

2781. 最长合法子字符串的长度

2781. 最长合法子字符串的长度 C代码:滑动窗口、哈希表 typedef struct{char* str;UT_hash_handle hh; } HashTable;HashTable* head;void AddToHash(char* str) {HashTable* out (HashTable*)malloc(sizeof(HashTable));out->str str;HASH_ADD_STR(head, str…

Opencv基于文字检测去图片水印

做了一个简单的去水印功能,基于文字检测去图片水印。效果如下: 插件功能代码参考如下: using namespace cv::dnn; TextDetectionModel_DB *textDetector0; void getTextDetector() {if(textDetector)return;String modelPath "text_de…

C++ 学习系列 -- const 关键字

C 中引入了 const 关键字,被 const 关键字修饰的变量其值不能修改,是只读的。 一 const 变量的初始化与存储 1. const 变量初始化时就需要赋初值,否则无法编译通过 二 const 与指针 指针常量: 指针所指向的值不可改变&…

Mysql数据库(2)—事务和锁

一、事务 数据库事务的特性? 数据库事务的四大特性是ACID。 原子性:就是所有操作要么全不做,要不全做。通过undo日志来实现。一致性:就是在并发情况下数据库由一个状态转移到另一个状态的数据要一致。通过事务的隔离级别来实现…

查询优化器内核剖析第一篇

SQL Server 的查询优化器是一个基于成本的优化器。它为一个给定的查询分析出很多的候 选的查询计划,并且估算每个候选计划的成本,从而选择一个成本最低的计划进行执行。实际上, 因为查询优化器不可能对每一个产生的候选计划进行优化&#xff…

2023-8-31 spfa求最短路

题目链接&#xff1a;spfa求最短路 #include <iostream> #include <cstring> #include <algorithm> #include <queue>using namespace std;const int N 100010;int n, m; int h[N], w[N], e[N], ne[N], idx;int dist[N]; bool st[N];void add(int a…

360勒索病毒:了解最新变种.360,以及如何保护您的数据

引言&#xff1a; 近年来&#xff0c;网络安全威胁不断演变&#xff0c; 360 勒索病毒作为其中的一种恶意软件&#xff0c;已经对许多个人和组织的数据造成了巨大的损失。本文91数据恢复将介绍 360 勒索病毒的特点&#xff0c;探讨恢复被其加密的数据的方法&#xff0c;并分享一…

ctfshow 红包题

前言&#xff1a; 最近一直在搞java很少刷题&#xff0c;看见ctfshow的活动赶紧来复现一波~ ctfshow 红包挑战7 <?php highlight_file(__FILE__); error_reporting(2); extract($_GET); ini_set($name,$value); system("ls ".filter($_GET[1])."" )…

重要变更 | Hugging Face Hub 的 Git 操作不再支持使用密码验证

在 Hugging Face&#xff0c;我们一直致力于提升服务安全性&#xff0c;因此&#xff0c;我们将修改 Hugging Face Hub 的 Git 交互认证方式。 从 2023 年 10 月 1 日 开始&#xff0c;我们将不再接受密码作为命令行 Git 操作的认证方式。我们推荐使用更安全的认证方法&#xf…