PXE批量网络装机与Kickstart自动化安装工具

目录

一、系统装机的原理

1.1、系统装机方式

1.2、系统安装过程

 二、PXE批量网络装机

2.1、PXE实现原理

2.2、搭建PXE实际案例

2.2.1、安装必要软件

2.2.2、搭建DHCP服务器

2.2.3、搭建TFTP服务器

2.2.4、挂载镜像并拷贝引导文件到tftp服务启动引导文件夹下

2.2.5、编辑pxelinux.cfg配置文件

2.2.6、启动服务

2.2.7、验证PXE批量网络装机

三、kickstart自动化安装操作系统工具

3.1、安装kickstart

 3.2、基本配置

 3.3、安装方法

3.4、引导装载程序选择

3.5、分区信息

3.6、防火墙配置

3.7、显示配置

3.8、保存配置

3.9、编辑default配置文件

3.10、验证


一、系统装机的原理

1.1、系统装机方式
  • U盘装机:U盘作为启动介质,将操作系统镜像写入U盘,然后通过U盘启动计算机进行系统安装。
  • 光盘装机:将操作系统镜像刻录到光盘中,通过光驱启动计算机进行装机。
  • 网卡装机:从网络中的服务器上加载操作系统镜像来进行装机。
1.2、系统安装过程
  • 加载bootloader:它位于硬盘的引导扇区(MBR、GPT)中,负责初始化硬件并加载操作系统内核。
  • 加载启动安装菜单
  • 加载内核与initrd系统
  • 加载根系统
  • 运行anaconda的安装向导

 二、PXE批量网络装机

PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。

PXE实现网卡引导启动的条件:

  • BIOS支持
  • 网卡支持
  • BIOS中开启网络装机,默认关闭状态。
  • DHCP服务器用于分配IP地址并引导客户端到TFTP服务器提供启动程序和操作系统镜像。
2.1、PXE实现原理

  •  客户端启动:客户端开机后通过网卡发送DHCP请求。
  • DHCP响应:DHCP服务器分配IP地址,并告知TFTP服务器器地址及引导文件路径。
  • 下载引导文件:客户端从TFTP服务器获取引导文件(pxelinux.0、grub)。
  • 加载内核和镜像:通过引导文件加载内核(vmlinuz)和初始化内存盘(initrd.img)。
  • 自动化安装:从文件服务器(HTTP、FTP、NFS)获取操作系统镜像和配置文件,完成网络装机。
2.2、搭建PXE实际案例
2.2.1、安装必要软件

为实现网络远程装机,需要DHCP服务、syslinux引导加载程序(pxelinux.0)、TFTP服务与FTP服务,所以预先安装这四个软件。

[root@localhost ~]# systemctl stop firewalld.service     //关闭防火墙
[root@localhost ~]# setenforce 0                         //关闭selinux
[root@localhost ~]# yum install tftp-server vsftpd syslinux dhcp -y
已安装:dhcp.x86_64 12:4.2.5-83.el7.centos.2  syslinux.x86_64 0:4.05-15.el7  tftp-server.x86_64 0:5.2-22.el7  vsftpd.x86_64 0:3.0.2-29.el7_9 作为依赖被升级:dhclient.x86_64 12:4.2.5-83.el7.centos.2   dhcp-common.x86_64 12:4.2.5-83.el7.centos.2   dhcp-libs.x86_64 12:4.2.5-83.el7.centos.2  完毕!
[root@localhost ~]# 
2.2.2、搭建DHCP服务器
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf    //查看模板配置文件路径
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
[root@localhost ~]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y        //拷贝模板配置文件并覆盖源文件
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf 
//拷贝子网配置,粘贴并进行修改27 subnet 192.168.153.0 netmask 255.255.255.0 {    //改为DHCP服务器IP地址与子网掩码28   range 192.168.153.20 192.168.153.100;         //设置自动分配地址段范围29   option routers 192.168.153.2;                 //网关30   next-server 192.168.153.223;                  //指向TFTP服务器的IP地址31   filename "pxelinux.0";                        //引导程序文件的名称32 }
2.2.3、搭建TFTP服务器
[root@localhost ~]# rpm -qc tftp-server         //查看配置文件路径
/etc/xinetd.d/tftp
[root@localhost ~]# vim /etc/xinetd.d/tftp      //编辑配置文件14         disable                 = no        //yes改为no,关闭禁用
2.2.4、挂载镜像并拷贝引导文件到tftp服务启动引导文件夹下
[root@localhost ~]# mkdir /var/ftp/centos7
[root@localhost ~]# mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# rpm -ql syslinux |grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost ~]# cp /var/ftp/centos7/isolinux/vmlinuz /var/lib/tftpboot/
[root@localhost ~]# cp /var/ftp/centos7/isolinux/initrd.img /var/lib/tftpboot/
2.2.5、编辑pxelinux.cfg配置文件
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# cd /var/lib/tftpboot/pxelinux.cfg
[root@localhost pxelinux.cfg]# vim default1 default linux2 timeout 6003 4 label linux5         kernel vmlinuz6         append initrd=initrd.img method=ftp://192.168.153.223/centos77 8 label linux text9         kernel vmlinuz10         append text initrd =initrd.img method=ftp://192.168.153.223/centos711 12 label linux rescue13         kernel vmlinuz14         append rescue initrd=initrd.img method=ftp://192.168.153.223/centos7
2.2.6、启动服务
[root@localhost pxelinux.cfg]# systemctl start dhcpd vsftpd tftp
[root@localhost pxelinux.cfg]# systemctl status dhcpd vsftpd tftp
● dhcpd.service - DHCPv4 Server DaemonLoaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)Active: active (running) since 四 2025-02-27 22:05:33 CST; 31min agoDocs: man:dhcpd(8)man:dhcpd.conf(5)Main PID: 63999 (dhcpd)Status: "Dispatching packets..."Tasks: 1CGroup: /system.slice/dhcpd.service└─63999 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid2月 27 22:05:33 localhost.localdomain systemd[1]: Started DHCPv4 Server Daemon.● vsftpd.service - Vsftpd ftp daemonLoaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)Active: active (running) since 四 2025-02-27 22:37:11 CST; 5s agoProcess: 64508 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)Main PID: 64512 (vsftpd)Tasks: 1CGroup: /system.slice/vsftpd.service└─64512 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf2月 27 22:37:11 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon...
2月 27 22:37:11 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon.● tftp.service - Tftp ServerLoaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)Active: active (running) since 四 2025-02-27 22:37:11 CST; 5s agoDocs: man:in.tftpdMain PID: 64510 (in.tftpd)Tasks: 1CGroup: /system.slice/tftp.service└─64510 /usr/sbin/in.tftpd -s /var/lib/tftpboot2月 27 22:37:11 localhost.localdomain systemd[1]: Started Tftp Server.
2.2.7、验证PXE批量网络装机

关闭虚拟机的DHCP服务,避免冲突。

新建虚拟机,建议内存分配2G以上,以免引导文件没有足够内存展开。

 启动后,自动获取IP地址,并加载引导程序,PXE批量网络装机完成。

三、kickstart自动化安装操作系统工具

它通过一个配置文件(通常称为ks.cfg)定义安装过程中的所有选项,从而实现无人值守安装。

避免安装linux图形界面后,仍需要人工完成系统引导。

3.1、安装kickstart
[root@localhost ~]# yum install system-config-kickstart -y

 3.2、基本配置

 3.3、安装方法

3.4、引导装载程序选择

3.5、分区信息

3.6、防火墙配置

3.7、显示配置

3.8、保存配置

3.9、编辑default配置文件
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 4 label linux5         kernel vmlinuz6         append initrd=initrd.img method=ftp://192.168.153.223/centos7 ks=ftp://192.168.153.223/ks.fcg  //指向ks.fcg文件,实现无人值守完成系统引导
3.10、验证

开始自动进行系统引导操作,验证完成

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

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

相关文章

【全栈开发】从0开始搭建一个图书管理系统【一】框架搭建

【全栈开发】从0开始搭建一个图书管理系统【一】框架搭建 前言 现在流行降本增笑,也就是不但每个人都要有事干不能闲着,更重要的是每个人都要通过报功的方式做到平日的各项工作异常饱和,实现1.5人的支出干2人的活计。单纯的数据库开发【肤浅…

部署Flink1.20.1

1、设置环境变量 export JAVA_HOME/cluster/jdk export CLASSPATH.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarp #export HIVE_HOME/cluster/hive export MYSQL_HOME/cluster/mysql export HADOOP_HOME/cluster/hadoop3 export HADOOP_CONF_DIR$HADOOP_HOME/etc/hadoop …

【超详细】神经网络的可视化解释

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

深入了解 Python 中的 MRO(方法解析顺序)

文章目录 深入了解 Python 中的 MRO(方法解析顺序)什么是 MRO?如何计算 MRO?C3 算法的合并规则C3 算法的合并步骤示例:合并过程解析 MRO 解析失败的场景使用 mro() 方法查看 MRO示例 1:基本用法 菱形继承与…

数字化赋能:制造业如何突破低效生产的瓶颈?

随着全球经济的快速发展与市场需求的变化,制造业面临着前所未有的压力与挑战。生产效率、资源管理、品质控制、成本控制等方面的问题日益突出,尤其是低效生产成为了许多制造企业亟待解决的瓶颈。在这种背景下,数字化转型成为提升制造业效率的…

Element-Plus,使用 El-form中 的 scroll-to-error 没有效果问题记录

因业务需要表单组件中嵌套着表格列表,内容比较多; 所以需要表单校验不通过时,自动定位到不通过的节点; 但发现这个像是没有起到效果一样,后面就是排查的思路了: 容器高度问题:如果表单容器的高度…

基于Javase的停车场收费管理系统

基于Javase的停车场收费管理系统 停车场管理系统开发文档 项目概述 1.1 项目背景 随着现代化城市的不断发展,车辆数量不断增加,停车难问题也日益突出。为了更好地管理停车场资 源,提升停车效率,需要一个基于Java SE的停车场管理…

网络协议 HTTP、HTTPS、HTTP/1.1、HTTP/2 对比分析

1. 基本定义 HTTP(HyperText Transfer Protocol) 应用层协议,用于客户端与服务器之间的数据传输(默认端口 80)。 HTTP/1.0:早期版本,每个请求需单独建立 TCP 连接,效率低。HTTP/1.1&…

DeepSeek掘金——调用DeepSeek API接口 实现智能数据挖掘与分析

调用DeepSeek API接口:实现智能数据挖掘与分析 在当今数据驱动的时代,企业和开发者越来越依赖高效的数据挖掘与分析工具来获取有价值的洞察。DeepSeek作为一款先进的智能数据挖掘平台,提供了强大的API接口,帮助用户轻松集成其功能到自己的应用中。本文将详细介绍如何调用D…

LabVIEW同步数据采集功能

VI通过使用数据采集(DAQ)硬件系统,进行多通道同步采集,实时获取模拟信号数据。它利用外部时钟信号触发数据采集,支持连续采样模式,并将采集到的数据实时显示在波形图上,方便用户进行数据监控和分…

SpringDataJPA使用deleteAllInBatch方法逻辑删除失效

概述 在使用Spring Boot JPA时,执行批量删除操作时,遇到逻辑删除失效的问题。具体而言,当使用deleteAllInBatch方法时,数据会被物理删除,而不是进行逻辑删除;但是当使用deleteAll时,逻辑删除操…

【Docker】使用Docker搭建-MySQL数据库服务

零、更换Docker镜像源 因为国内现在封锁了Docker默认拉取镜像的站点(DockerHub),而且国内大部分Docker镜像站已全部下线,导致现在很多朋友在拉取镜像的时候会出现无法拉取的现象,这时候就需要进行更换Docker镜像源。 可…

人类驾驶的人脑两种判断模式(反射和预判)-->自动驾驶两种AI模式

一种模式是直觉模式,判断基于条件反射,视觉感知 触发到 直接条件反射(从经历中沉淀形成的神经信息闭环),类似现在自动驾驶技术的传统AI模式;另一种是图式推理模式,判断是基于预判,人…

3.17 AI Agent 场景革命:解锁企业级应用的 15 个黄金赛道

AI Agent 场景革命:解锁企业级应用的 15 个黄金赛道 关键词:AI Agent 应用场景, 企业级智能体案例, 多模态 Agent 实现, 工具链自动化, 智能决策系统 1. 企业级 Agent 场景分类图谱 #mermaid-svg-UjUmmToEKigfdlFf {font-family:"trebuchet ms",verdana,arial,san…

Docker基础-常见命令

docker images -查看所有的本地镜像。 docker pull -把远端镜像拉取到本地。 docker rmi -删除镜像。 docker push -推到镜像仓库。 docker run -创建并运行容器(自动化,如果发现镜像不存在会先去拉取, 拉取完了以后再去自动创建容器&am…

TinyEngine v2.2版本发布:支持页面嵌套路由,提升多层级路由管理能力开发分支调整

2025年春节假期已过,大家都带着慢慢的活力回到了工作岗位。为了让大家在新的一年继续感受到 Tiny Engine 的成长与变化,我们很高兴地宣布:TinyEngine v2.2版本正式发布!本次更新带来了重要的功能增强------页面支持嵌套路由&#…

LSTM长短期记忆网络-原理分析

1 简介 概念 LSTM(Long Short-Term Memory)也称为长短期记忆网络,是一种改进的循环神经网络(RNN),专门设计用于解决传统RNN的梯度消失问题和长程依赖问题。LSTM通过引入门机制和细胞状态,能够更…

SQL Server 中遇到的常见问题集

SQL Server 中遇到的常见问题集 问题一: 无法创建关系“FK_Research_Teacher”。 ALTER TABLE 语句与 FOREIGN KEY 约束"FK_Research_Teacher"冲突 解决方法: 外键表中的数据主键表中是有的,并且不能删除主外键表中数据 1&…

神经网络中感受野的概念和作用

在神经网络中,感受野(Receptive Field)是指某个神经单元(神经元或者卷积核)关注的输入特征区域的大小。它决定了神经网络对输入数据的特定区域的感知能力。 感受野的形成过程 在卷积神经网络中,卷积层是感受…

unreal engine gameplay abiliity 获取ability的cooldown剩余时间

unreal engine gameplay abiliity 获取ability的cooldown 版本 5.4.4 参考 测试代码 if (HasAuthority() && AbilitySystemComponent){TArray<FGameplayAbilitySpecHandle> OutAbilityHandles;AbilitySystemComponent->GetAllAbilities(OutAbilityHandles…