PEX高效批量网络装机

news2024/11/26 9:19:47

目录

一、部署PXE远程安装服务

1)PXE概述

若要搭建PEX网络体系,必须满足以下几个前提条件

2)搭建PXE远程安装服务器

 ①安装并启用 TFTP 服务

②安装并启用 DHCP 服务

​编辑

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

 ④准备 PXE 引导程序

​编辑

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

​编辑

⑥配置启动菜单文件

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

3)验证PXE网络安装

二、实现Kickstart无人值守安装

1)准备安装应答文件

①安装system-config-kickstart 工具

②打开“Kickstart 配置程序”窗口

③配置kickstart选项

 ④保存自动应答文件

​编辑

⑤配置需要安装的软件包

​编辑

⑥编辑引导菜单文件 default,添加 ks 引导参数

2)验证无人值守安装

PEX操作总结

安装4个服务

安装4个文件

自动应答


一、部署PXE远程安装服务

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

1)PXE概述

PEX具备以下三个优点

  • 规模化:同时装配多台服务器

  • 自动化:安装系统、配置各种服务

  • 远程实习:不需要光盘、U盘等安装介质

若要搭建PEX网络体系,必须满足以下几个前提条件

客户端

  • BIOS支持
  • 网卡支持(现在基本都已支持)

服务器

  • 需要在BIOS中开启开关,服务器一般没打开(bmc界面里打开)
  • 网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置
  • 服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载
  • 安装syslinux,提供PXE引导程序
  • 使用ftp服务,提供yum安装源

守护进程

后台运行

不会因为终端的关闭而停止运行

2)搭建PXE远程安装服务器

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

此图为实验演示时服务端IP信息

 ①安装并启用 TFTP 服务

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

#修改TFTP服务的配置文件
vim /etc/xinetd.d/tftp
    protocol       = udp            #TFTP使用UDP协议    
    wait           = no             #no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
    server_args    = -s /var/lib/tftpboot        #指定TFTP根目录(文件存储路径)
    disable        = no                          #no表示开启TFTP服务

#启动和关闭服务

systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd

②安装并启用 DHCP 服务(VMware虚拟机需注意关闭自带DHCP)

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

#修改DHCP服务的配置文件
vim /etc/dhcp/dhcpd.conf
ddns-update-style none;                        #禁用 DNS 动态更新
next-server 192.168.240.100;                    #指定 TFTP 服务器的地址
filename "pxelinux.0";                         #指定 PXE 引导程序的文件名

subnet 192.168.240.0 netmask 255.255.255.0 {    #声明要分配的网段地址
  range 192.168.240.100 192.168.240.200;        #设置地址池
  option routers 192.168.240.100;               #默认网关地址指向TFTP服务器的IP地址
}

#启动和关闭服务
systemctl start dhcpd
systemctl enable dhcpd

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

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

 ④准备 PXE 引导程序

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

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

yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/
#也可以umount /mnt解挂,挂载在centos7上,比拷贝速度快

systemctl start vsftpd
systemctl enable vsftpd

⑥配置启动菜单文件

默认的启动菜单文件在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.240.100/centos7

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

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

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

systemctl stop firewalld.service 
setenforce 0

3)验证PXE网络安装

使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错

  • 开启虚拟机,在提示字符串“boot:”后直接按Enter键(或执行“auto”命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口
  • 若执行“linux text”命令,则进入文本安装入口
  • 若执行 “linux rescue”命令,则进入救援模式


二、实现Kickstart无人值守安装

准备安装应答文件

实现批量自动装机

1)准备安装应答文件

①安装system-config-kickstart 工具

yum install -y system-config-kickstart

②打开“Kickstart 配置程序”窗口

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

③配置kickstart选项

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

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

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

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

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

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

安装后脚本:
勾选“使用解释程序”:/bin/bash
mkdir /etc/yum.repos.d/repo.bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak
echo '[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo

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

 ④保存自动应答文件

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

⑤配置需要安装的软件包

可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg文件中,只需要复制%packages 到%end 部分即可。

如要求最小化安装,可复制下面内容:
vim ks.cfg
%packages
@^minimal
%end

将ks.cfg放入ftp根目录

⑥编辑引导菜单文件 default,添加 ks 引导参数

vim /var/lib/tftpboot/pxelinux.cfg/default    
default auto                             
prompt 0                                  #设置是否等待用户选择,“0”表示不等待用户控制

label auto                                
kernel vmlinuz                            #kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.80.10/centos7 ks=ftp://192.168.80.10/ks.cfg
#添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径

2)验证无人值守安装

当客户机每次以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装CentOS 7 系统,而无须手工干预

可以看到语言等选项自动跳过,并自动配置

因为设置安装后会自动重启


PEX操作总结

安装4个服务

xftp(根目录/var/lob’/tftpboot用于传输内核文件和系统镜像引导文件vmlinuz、initrd.img、pxelinux.0、pxelinux.cfg/default)

xinetd 管理tftp服务的

dhcp   用户给客户端自动分配IP地址、并指定pxelinux.0文件所在位置

vsftpd 用于给客户端传输安装源软件包

安装4个文件

vmlinuz(内核文件) initrd.img(系统镜像引导文件) /mnt/images/pxeboot/

pxelinux.0(PXE程序引导文件) syslinux程序提供

pxelinux.cfg/default(PXE启动菜单文件) 自建

自动应答

安装 system-config kickstart 生成自动应答文件 ks.cfg ,方到ftp目录

修改 pxelinux.cfg/default 文件,在append行后面添加ks=ftp://...指定ks.cfg文件路径

关闭防火墙,VMware的DHCP功能,客户端要求内存2G以上

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

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

相关文章

CUDA下载与对应版本查询

文章目录 1 算力,CUDA Driver Version,CUDA Runtime Version2 显卡型号3 实操4 镜像 1 算力,CUDA Driver Version,CUDA Runtime Version 比如说我们进入pytorch官网中,点击下载,如何找到适合自己的CUDA版本…

SCAU 统计学 实验5

8.14 总体平均值(μ):7.0 cm 总体方差(σ):0.03 cm 样本平均值(x̄):6.97 cm 样本方差(s):0.0375 cm 样本大小(n&#xff…

复旦MOSS大模型开源了!Github和Hugging Face同时上线

来源:量子位 复旦大模型MOSS,正式开源了! 作为国内首个开放测试的类ChatGPT产品,MOSS开源地址一放出,又冲上知乎热搜: 从官网介绍来看,MOSS是一个拥有160亿参数的开源对话语言模型。 它由约7…

EventLog Analyzer:高效保护网络安全的强大工具

网络安全是当今数字化世界中最为重要的话题之一。随着越来越多的组织、企业和个人将其业务转移到互联网上,网络安全问题变得越来越严峻。针对这个问题,EventLog Analyzer提供了一个有效的解决方案,让网络管理员可以更好地监控和保护其网络环境…

【虚拟仿真】Unity3D中实现UI的单击、双击、按压、拖动的不同状态判断

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 之前写了一篇在Unity中鼠标的单击、双击、拖动的文章&#xff…

Improving Language Understanding by Generative Pre-Training 论文阅读

论文题目:通过生成式预训练提高语言理解能力 GPT的全称:Generative Pre-trained Transformer。 Generative是指GPT可以利用先前的输入文本来生成新的文本。GPT的生成过程是基于统计的,它可以预测输入序列的下一个单词或字符,从而生…

春招,进阿里了....

个人背景是东北某 985 科班本硕,做的 测试开发,有两个自己写的小项目。下面是一些印象比较深刻的面试题 阿里一面 什么是软件测试? 软件测试过程中会面向哪些群体? 开发一个软件都要经过哪些阶段? 什么是黑盒测试&…

一块钱看Android Debug: avc denied 已存在的目录不能访问

某三方应用,使用了USB摄像头,启动应用后功能不能使用,看log有如下错误, denied后面{}里的是要执行的动作,比如append,open,execmod,link等等 scontext指的是域,对应的是te文件 上面报错这条对应te文件是untrusted_app.te, scontex…

如何将 WhatsApp 聊天添加到您的网站

WhatsApp是全球最受欢迎的消息传递应用程序。平台上有超过 2 亿活跃用户与朋友、家人和企业进行交流。对于企业而言,WhatsApp 是与客户进行个人、可访问和非正式对话的理想渠道。 要将 WhatsApp 作为渠道引入您的客户旅程,第一步是将 WhatsApp 聊天按钮…

2023软件测试工具大全(自动化、接口、性能、安全、测试管理)

目录 前言 一、自动化测试工具 Selenium Appium TestComplete 二、接口测试工具 Postman SoapUI JMeter 三、性能测试工具 LoadRunner JMeter Gatling 四、安全测试工具 Burp Suite OWASP ZAP Nmap 五、测试管理工具 TestRail JIRA TestLink 总结 前言 …

【JavaScript】this理解总结

概念 this是函数运行时所在的对象。 使用场合 1.全局环境 全局环境使用this,this指向顶层对象。 2.构造函数 构造函数体里面的this,this指向是构造出来的实例对象。 3.对象的方法 ● 如果对象的方法里面包含this,this的指向就是方法运…

ASPICE详细介绍-4.车载项目为什么要符合ASPICE标准?

目录 车载项目为什么要符合ASPICE标准?ASPICE与功能安全的关系、区别?各大车厂对软件体系的要求 车载项目为什么要符合ASPICE标准? ASPICE(Automotive Software Process Improvement and Capability Determination)最…

sacrebleu找不到报错(无法直接下载)

网络问题无法下载,下载下来py文件,放到同级目录下面 https://raw.githubusercontent.com/huggingface/datasets/2.11.0/metrics/sacrebleu/sacrebleu.py然后注释掉版本报错

Devops和Gitops区别

一. 什么是devops DevOps 是一种开发(Dev)和运维(Ops)之间协作和沟通的文化、流程和工具的实践方法。它强调迭代、快速交付和持续集成/持续交付,旨在加速软件交付的速度、质量和稳定性。 DevOps 的核心目标是通过自动…

中国视频云市场报告:腾讯云连续五年解决方案市场份额第一

4月24日,全球领先的IT市场研究和咨询公司IDC发布《中国视频云市场跟踪(2022下半年)》报告,腾讯云音视频的解决方案市场份额已连续五年排名第一,斩获自2018年IDC对外发布数据以来的“五年连冠”。其中,腾讯云…

C++模板使用

感谢你的阅读!!! 目录 感谢你的阅读!!! 举个例子: template 有什么意义为什么要用模板 与typedef的区别 使用方法 模板:隐式实例化与显示实例化 和非模板函数以及多个模板类…

SAP ABAP MARA-MSBOOKPARTNO 制造商登记部分编号

BAPI_MATERIAL_SAVEDATA CLIENTDATA结构无此字段。 DATA:LS_TE_MARA TYPE BAPI_TE_MARA. DATA:LS_TE_MARAX TYPE BAPI_TE_MARAX. DATA:LT_BAPIPAREX TYPE TABLE OF BAPIPAREX. DATA:LS_BAPIPAREX TYPE BAPIPAREX. …

Spring Bean作用域与生命周期

目录 Bean的作用域: Bean有六大行为模式 1、singleton:单例模式(默认) 2、prototype: 原型模式(多例模式) 3、request: 请求作用域(Spring MVC) 4、session: 会话作用域(Spring MVC) 5、application: 全局作用域(Spring MVC) 6、websocket: HTTP WebSocket …

M1 Mac安装Zookeeper

下载Zookeeper 由于通过homebrew下载的zookeeper没有conf文件夹,因此我们在官网下载 zookeeper-3.7.1 然后下载上面这个 将解压后的文件转移到 /usr/local 更改配置文件 1、配置文件位置位于解压文件夹下conf文件夹内部,默认名字为zoo_sample.cfg&…

Unity设计模式—命令队列

Unity设计模式—命令队列 概要 本篇将介绍命令队列并用命令队列模式实现一个Unity里的WindowManager。 命令队列是一个按照FIFO顺序存储一系列通知或请求的队列。发出通知时系统会将请求置入队列并立即返回,请求处理器随后从命令队列中获取并处理这些请求。请求可由…