Linux网路服务之PXE网络批量装机和Kickstart全自动化安装

news2024/11/24 7:19:20

文章目录

  • 一 、PXE网络批量装机的简介和相关知识
    • 1.1 什么是PXE
    • 1.2搭建PXE 远程安装服务器
    • 1.3 PXE装机的过程描述
  • 二、PXE批量安装的具体操作过程
    • 2.1安装并启用 TFTP 服务
    • 2.2安装并启用 DHCP 服务
    • 2.3准备 Linux 内核、初始化镜像文件
    • 2.4准备 PXE 引导程序
    • 2.5安装FTP服务,准备CentOS 7 安装源
    • 2.6配置启动菜单文件
    • 2.7关闭防火墙,验证 PXE 网络安装
  • 三、Kickstart全自动化安装
    • 3.1 Kickstart运用的目的
    • 3.2 Kickstart具体操作步骤

一 、PXE网络批量装机的简介和相关知识

1.1 什么是PXE

PXE(预启动执行环境,在操作系统之前运行)是由Intel公司开发的网络引导技术,工作在client /Server模式,允许客户机通过网络从远程服务器下教引导镜像,并加载安装文件或者整个操作系统。

PXE批量部署的优点
●规模化:同时装配多台服务器
●自动化:安装系统、配置各种服务
●远程实现:不需要光盘、U盘等安装介质

若要搭建PXE 网络体系,必须满足以下几个前提条件:
客户端:
1.客户机的网卡要支持PxE协议(集成BooTROoM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIos设置中允许从、Network或LAN启动即可。
服务端:
2.网络中有一台DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。
3.服务器要通过TFTP服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载。

1.2搭建PXE 远程安装服务器

PXE远程安装服务器集成了centos 7安装源、TFTP 服务、DHCP服务、FTP 服务,能够向客户机裸机发送PXE引导程序、Linux内核、启动菜单等数据,以及提供安装文件。

TFTP(简单文件传输协议)_,是一个基于uoe协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。FTP服务默认由xinetd服务进行管理,使用UDP 端口69。
xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。

守护进程也称精灵进程(Daemon),是运行在后台的一种特殊进程。守护进程独立于控制终端,它们常常跟随系统启动时启动,在系统关闭时才结束。守护进程周期性的执行某些任务或者等待处理某些事件,Linux上的大多数服务器都是用守护进程实现的。在系统启动中默认的守护进程的父进程ID全都是init,守护进程特征就是在程序运行名后加了一个d,但不是所有的尾字母是d的进程都是守护进程。

1.3 PXE装机的过程描述

1、客户机的网卡查找相关的dhcp服务器(获取地址和时间)。
2、DHCP服务器给客户机分配IP地址和引导程序(boot loader)的地址 ,同时通过offer报文把TFTP服务器的地址发给客户机。
3、TFTP服务器把引导文件(pxelinux.0)传给客户机。
4、客户机将引导程序加载到内存中来。
5、引导程序去TFTP服务器中查找配置文件,服务器将配置文件传给客户机。(配置文件中指定客户机使用ftp方式连接服务器获取系统镜像文件)
6、服务端安装并启动vsftpd服务,客户机使用ftp服务获取系统镜像文件。

二、PXE批量安装的具体操作过程

2.1安装并启用 TFTP 服务

在这里插入图片描述

修改tftp文件,并启用TFTP服务

在这里插入图片描述

在这里插入图片描述

2.2安装并启用 DHCP 服务

在这里插入图片描述

将dhcp文件进行备份,并修改文件

在这里插入图片描述

在这里插入图片描述

重启dhcp服务

在这里插入图片描述

2.3准备 Linux 内核、初始化镜像文件

cd /mnt/images/pxeboot					       #已事先把光盘挂载到/mnt目录中
cp vmlinuz /var/lib/tftpboot/			       #复制 Linux系统的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/        	   #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

在这里插入图片描述

2.4准备 PXE 引导程序

yum -y install syslinux									          #PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/	          #复制 PXE引导程序 到TFTP根目录下

在这里插入图片描述

2.5安装FTP服务,准备CentOS 7 安装源

在这里插入图片描述

准备centos7安装源

在这里插入图片描述
重启ftp服务

在这里插入图片描述

2.6配置启动菜单文件

默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default

mkdir /var/lib/tftpboot/pxelinux.cfg		  
vim /var/lib/tftpboot/pxelinux.cfg/default

default auto 							#指定默认入口名称
prompt 1 								#设置是否等待用户选择,“1”表示等待用户控制

label auto								#图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz							#kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.80.10/centos7

label linux text						#文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.80.10/centos7

label linux rescue						#救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.80.10/centos7

在这里插入图片描述

在这里插入图片描述

2.7关闭防火墙,验证 PXE 网络安装

在这里插入图片描述

在这里插入图片描述

进行验证,安装一台虚拟机,按要求完成进行操作,点击完成

在这里插入图片描述

在这里插入图片描述
启动虚拟机,在boot后输入auto即可完成

在这里插入图片描述
设置完成

在这里插入图片描述

三、Kickstart全自动化安装

3.1 Kickstart运用的目的

上面的安装,是通过多种服务单配,省略了导入镜像,并且只要是同一网段的机器,开机就能自动获取镜像,安装镜像,配置基础网路配置。但是后半部分依旧需要手动安装。要知道,现实生产环境中,不会给公司的每一台服务器配上显示器和输入设备。所以要想实现真正的全自动化,就要引入Kickstart程序服务,实现真正完全全自动化安装。

3.2 Kickstart具体操作步骤

(1)安装system-config-kickstart 工具

在这里插入图片描述

(2)打开“Kickstart 配置程序”窗口

通过桌面菜单“应用程序”–>“系统工具”–>“Kickstart” 打开或执行 “system-config-kickstart” 命令打开

在这里插入图片描述

(3)配置kickstart选项
基本配置:默认语言设为“中文(简体)”;时区设为“Asia/Shanghai”;设置root密码;高级配置中勾选“安装后重启”。

在这里插入图片描述

安装方法:选FTP;FTP服务器:ftp://192.168.81.129;FTP目录:centos7

在这里插入图片描述

引导装载程序选项:
“安装类型”:安装新引导装载程序
“安装选项”:在主引导记录(MBR)中安装引导装载程序

在这里插入图片描述

分区信息:
主引导记录:清除主引导记录
分区:删除所有现存分区
磁盘标签:初始化磁盘标签
布局:添加分区
挂载点:/boot,文件系统类型:xfs,固定大小:500M
文件系统类型:swap,固定大小:4096M
挂载点:/home,文件系统类型:xfs,固定大小:4096M
挂载点:/,文件系统类型:xfs,使用磁盘上全部未使用空间

在这里插入图片描述

网络配置:
添加网络设备“ens33”
网络类型设为“DHCP”

在这里插入图片描述

防火墙配置:
禁用 SELinux、禁用防火墙

在这里插入图片描述

安装后脚本:
勾选“使用解释程序”:/bin/bash
rm -rf /etc/yum.repos.d/*
echo ‘[local]
name=local
baseurl=ftp://192.168.80.10/centos7
enabled=1
gpgcheck=0’ > /etc/yum.repos.d/local.repo

在这里插入图片描述

其它选项保持默认设置即可

(4)保存自动应答文件
选择“Kickstart 配置程序”窗口的“文件”–>“保存”命令,选择指定保存位置,文件名为ks.cfg 默认保存在/root/ks.cfg
cp /root/ks.cfg /var/ftp/ks.cfg

在这里插入图片描述

在这里插入图片描述

5)配置需要安装的软件包
可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg文件中,只需要复制%packages 到%end 部分即可。
如要求最小化安装,可复制下面内容:
vim ks.cfg
%packages
@^minimal
%end

在这里插入图片描述

在这里插入图片描述

(6)编辑引导菜单文件 default,添加 ks 引导参数

在这里插入图片描述

在这里插入图片描述

(7) 再次重装一个虚拟机
这一次不用再输入auto也可以装机完成

在这里插入图片描述

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

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

相关文章

Android分屏流程分析

本文基于Android 11。 SystemUI模块中的Divider管理着所有关于分屏的对象: DividerView(分屏分割线,分屏显示界面)SplitScreenTaskOrganizer(分屏Task组织者,分屏逻辑) 这里重点关注分屏逻辑…

有道CEO周枫:当我们谈论大模型时,应该关注哪些新能力?

作者:周枫 基于大语言模型技术的ChatGPT推出已经有4个月了,更多同类产品还在快速出现。比如,前天谷歌更新了Bard,将辅助编程能力支持的语言数量扩展到20种。 然而,对大模型技术的重要性也出现了质疑,前段…

开发框架之Furion

目录 概述 框架特点 功能模块 支持平台 运行环境 数据库 应用部署 Nuget框架扩展包 Nuget框架脚手架 FurionEFCore脚手架 FurionEFCore脚手架安装命令 FurionSqlSugar脚手架 FurionSqlSugar脚手架安装命令 使用脚手架 脚手架更新 概述 Furion是一个免费开源的.Ne…

【AI帮我写代码,上班摸鱼不是梦】调教ChatGPT过程全记录,让它帮我写程序!

最近发现磁盘空间严重不足,都弹窗提示我了: 想想看到底哪个文件夹占的空间比较大,好做针对性的删除和清理。奈何Windows系统没有查看文件夹大小的工具,只能鼠标放在某个文件夹上,等提示: AI时代都来临了&am…

PCL 点云变换

文章目录 一、原理简述1、旋转矩阵2、欧氏变换二、主要函数及代码实现1、主要函数2、完整代码3、效果实现参考文献:一、原理简述 两片点云的刚体变换包含旋转和平移,变换矩阵的含义如下: 1、旋转矩阵 绕 x x

Promise异步编程

目录 一、Promise的含义 二、基本用法 三、reject的用法 四、执行顺序 五、 项目中使用promise获取后端数据 六、catch的用法 七、finally的用法 八、Promise.all() 九、Promise.all()有一个是失败 十、Promise.race()全部是成功 十一、Promise.race()有一个是失败 一、…

Java——二叉树中和为某一值的路径(二)

题目链接 牛客网在线oj题——二叉树中和为某一值的路径(二) 题目描述 输入一颗二叉树的根节点root和一个整数expectNumber,找出二叉树中结点值的和为expectNumber的所有路径。 1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过…

图的相关知识总结

目录 图的概念图的存储结构邻接矩阵邻接表 图的遍历最小生成树Kruskal算法prim算法 最短路径问题单源最短路径--Dijkstra算法-单源最短路径--Bellman-Ford算法多源最短路径--Floyd-Warshall算法 图的概念 图是有顶点集合以及顶点间的关系组成的一种数据结构:G(V,E),其中顶点集…

JS-11A/224时间继电器 JOSEF约瑟 板前、板后接线

系列型号: JS-11A/11集成电路时间继电器;JS-11A/12集成电路时间继电器; JS-11A/13集成电路时间继电器;JS-11A/136集成电路时间继电器; JS-11A/137集成电路时间继电器;JS-11A/22集成电路时间继电器&#…

Java基础(十二)Java比较器

1 Java 比较器 我们知道基本数据类型的数据(除boolean类型外)需要比较大小的话,直接使用比较运算符即可,但是引用数据类型是不能直接使用比较运算符来比较大小的。那么,如何解决这个问题呢? 在Java中经常…

Jomalone(“独狼”)的Rootkit后门dll分析

从England.sys(md5为B5F7DE342B1D661E57BCD14615CADEFA)驱动文件中提取了4个dll文件,其中两个64位dll,两个32位dll,主要用于APC注入 样本的基本信息 文件名称: 0x3df60-0x15e00.dll 文件大小: 87.5 KB (89,600 字节) …

Kubeadm方式搭建K8s集群【1.23.0版本】

文章目录 一、初始化准备二、安装kubeadm三、初始化Master集群四、将新的Node节点加入集群五、部署CNI网络插件六、其他配置 Kubernetes1.24(包括1.24)之后不在兼容docker,如果有需要兼容docker的需求,则安装一个 cri-docker的插件,本文使用的是kuberne…

【SWAT水文模型】ArcSWAT输入准备

ArcSWAT输入准备 1 必需的ArcSWAT空间数据集1.1 数字高程模型(DEM)1.2 土地覆盖/土地利用类型1.3 土壤数据 2 可选的ArcSWAT空间数据集2.1 DEM Mask2.2 Streams2.3 User- Defined Watersheds 3 ArcSWAT表格和文本文件3.1 子流域出口位置表(dBase 表)3.2 …

【MCAL_Uart】-1.1-图文详解Uart串口协议

目录 1 什么是UART 2 UART的电平 3 UART的波特率 4 UART帧格式 4.1 start bit起始位 4.2 data bit数据位 4.3 parity bit奇偶校验位 4.4 stop bit停止位 5 什么是8-N-1 6 UART总线负载率计算 结尾 优质博文推荐阅读(单击下方链接,即可跳转&am…

shell脚本基础之详解脚本的控制

详解脚本的控制 信号的处理Linux信号生成信号中断进程暂停进程 捕获信号捕获脚本退出修改或移除捕获 以后台模式运行脚本后台运行脚本运行多个后台脚本 在非控制台下运行脚本作业控制 查看作业重启停止的作业调整谦让度nice命令renice命令 定时运行作业用 at 命令来定时执行作业…

2023移动云大会即将召开,划重点来了

今年由 ChatGPT 引起的AI浪潮下,人们热议其背后的算力问题,毋庸置疑,算力已成为和水电同样重要的资源。作为开发者,如何了解云计算领域有哪些最新发展趋势? 4月25-26日,以“云擎未来,智信天下”…

Scala之集合(3)

目录 WordCount案例: 需求分析与步骤: 拆分: 聚合: 格式转化: 方法1: 方法2: 排序: 方法1: 方法2: 取top3: 整体化简后的代码&#xf…

轻量级服务器nginx:配置虚拟主机的两种方式

虚拟主机是指,在一台服务器中,通过nginx的代理,我们可以访问多个网站。区分不同的网站,可以通过端口、域名两种方式 这里写目录标题 一 端口不同区分不同的虚拟主机二 通过域名区分不同的主机名1.配置域名映射2.显示登录效果 一 …

基于ATECLOUD电源模块及单板性能自动化测试方案

一、背景介绍 客户使用直流电源、交流电源、直流负载、示波器、数据记录仪、功率分析仪、CAN卡、工控机等仪器对电源模块及单板进行功能和性能方面的测试,目前想要能够通过硬件自动化测试分析系统搭配对应仪器实现自动化测试,提升测试效率。 二、用户痛…

Linux网络——NFS共享服务

Linux网络——NFS共享服务 一、NFS共享服务1.NFS网络文件系统2.NFS 架构3.NFS 工作原理4.NFS相关配置文件及其配置作用 二、搭建NFS服务1.服务器安装 nfs-utils、rpcbind 软件包2.服务器启动nfs-utils、rpcbind服务,并设置共享目录3.服务端更改NFS配置,对…