linux系统-PXE高效批量网络装机

news2024/10/7 14:30:32

目录

一、PXE概述 

PXE批量部署的优点

搭建PXE网络体系的前提条件

二、搭建PXE远程安装服务器

1.修改网络配置

2 .老样子关防火墙!!!!

3.确保挂载状态 和yum库

4. 安装TFTP服务

5.修改TFTP服务的配置文件

6.启动服务

7.检查状态

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

9.准备PXE引导程序

10.准备Linux内核和初始化文件   

11.安装FTP服务 

12.准备CentOS 7 安装源 

13.配置启动菜单文件 

三、验证PXE网络安装

1. 创建虚拟机内存至少需要 2GB

2.设置仅主机模式

3.开启虚拟机

4.进入图形安装界面(安装基本完成) 

四、实现Kickstart无人值守安装

1.准备安装应答文件

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

3.配置安装包


一、PXE概述 

PXE(Preboot Execution Environment)是一种网络引导协议,允许计算机通过网络启动操作系统,而无需本地存储设备上的引导介质(如硬盘)。通常用于无盘计算机或者需要远程管理的计算机系统。 

PXE批量部署的优点

  • 规模化:同时装配多台服务器
  • 自动化:安装系统、配置各种服务
  • 远程实现:不需要光盘、U盘等安装介质

搭建PXE网络体系的前提条件

服务端

  • 运行DHCP服务,用来分配地址、定位引导程序
  • 运行TFTP服务,提供引导程序下载

客户端

  • 网卡支持PXE协议
  • 主板支持网络引导

二、搭建PXE远程安装服务器

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

1.修改网络配置

IP地址192.168.80.100,虚拟机网络VMnet1仅主机模式

 

 

2 .老样子关防火墙!!!!

[root@localhost ~]# systemctl disable --now firewalld

[root@localhost ~]# setenforce 0

[root@localhost ~]# vim /etc/selinux/config 

3.确保挂载状态 和yum库

如果没有挂上的话👇

[root@localhost ~]# mount /dev/sr0 /mnt

4. 安装TFTP服务

[root@localhost ~]# yum install -y ixnetd tftp-server

5.修改TFTP服务的配置文件

[root@localhost ~]# cd /etc/xinetd.d/

[root@localhost xinetd.d]# vim tftp
                         (disable=no)

#wait:no表示客户机可以多台一起连接,yes表示客户机只能一台一台连

 

wait:no表示客户机可以多台一起连接,yes表示客户机只能一台一台连 

6.启动服务

[root@localhost xinetd.d]# systemctl enable --now xinetd

[root@localhost xinetd.d]# systemctl enable --now tftp

Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.

7.检查状态

[root@localhost xinetd.d]# systemctl status xinetd

[root@localhost xinetd.d]# systemctl status tftp

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

[root@localhost xinetd.d]# yum install -y dhcp 

 

[root@localhost xinetd.d]# cd /usr/share/doc/dhcp-4.2.5/

[root@localhost dhcp-4.2.5]# ls
dhcpd6.conf.example  dhcpd.conf.example  ldap
 
[root@localhost dhcp-4.2.5]# cp -f dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes

 

修改配置 

[root@localhost dhcp-4.2.5]# cd /etc/dhcp/

[root@localhost dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts

[root@localhost dhcp]# vim dhcpd.conf 

 

ddns-update-style none;                           #禁用 DNS 动态更新
 
next-server 192.168.80.101;                    #指定 TFTP 服务器的地址
 
filename "pxelinux.0";                              #  指定 PXE 引导程序的文件名

启动并查看服务状态 

[root@localhost dhcp]# systemctl enable --now dhcpd

[root@localhost dhcp]# systemctl status dhcpd

9.准备PXE引导程序

[root@localhost ~]# yum install -y syslinux

[root@localhost ~]# cd /usr/share/selinux/
[root@localhost selinux]# ls
packages  targeted
[root@localhost selinux]# cd ..
[root@localhost share]# cd /usr/share/syslinux/
[root@localhost syslinux]# ls

[root@localhost syslinux]# cp pxelinux.0 /var/lib/tftpboot/
[root@localhost syslinux]# 
[root@localhost syslinux]# 
[root@localhost syslinux]# ls /var/lib/tftpboot/
pxelinux.0

10.准备Linux内核和初始化文件   

[root@localhost syslinux]# cd /mnt/
[root@localhost mnt]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@localhost mnt]# cd images/
[root@localhost images]# ls
efiboot.img  pxeboot  TRANS.TBL
[root@localhost images]# cd pxeboot/
[root@localhost pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/
[root@localhost pxeboot]# ls /var/lib/tftpboot/
initrd.img  pxelinux.0  vmlinuz

 

11.安装FTP服务 

[root@localhost dhcp]# yum install -y vsftpd

12.准备CentOS 7 安装源 

[root@localhost dhcp]# cd /var/ftp/
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# ls /mnt/
[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7/
[root@localhost ftp]# cd /var/ftp/centos7/
[root@localhost centos7]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

13.配置启动菜单文件 

[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7/
[root@localhost ftp]# cd /var/ftp/centos7/
[root@localhost centos7]# ls
[root@localhost centos7]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img  pxelinux.0  vmlinuz
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# touch default
[root@localhost pxelinux.cfg]# ls
default
[root@localhost pxelinux.cfg]# vim default 
[root@localhost pxelinux.cfg]# 
[root@localhost pxelinux.cfg]# cd ..
[root@localhost tftpboot]# 
[root@localhost tftpboot]# pwd
/var/lib/tftpboot
[root@localhost tftpboot]# ls -R
.:
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz

[root@localhost pxelinux.cfg]# vim default 

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

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

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


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

 

三、验证PXE网络安装

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

1. 创建虚拟机内存至少需要 2GB

2.设置仅主机模式

 

3.开启虚拟机

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

4.进入图形安装界面(安装基本完成) 

 

四、实现Kickstart无人值守安装

1.准备安装应答文件

安装system-config-kickstart 工具

[root@localhost ~]# yum install -y system-config-kickstart

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

通过桌面菜单“应用程序”-->“系统工具”-->“Kickstart” 打开

执行 “system-config-kickstart” 命令打开

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

  1.  安装方法
  2. 选FTP
  3. FTP服务器:ftp://192.168.80.100
  4. FTP目录:centos7

 

引导程序 

分区信息 

 

 网路配置

防火墙配置 

 安装后脚本

(使用解释程序:/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=ftp://192.168.80.100/centos7
enabled=1
gpgcheck=0' >/etc/yum.repos.d/local.repo

保存自动应答文件 

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

 

3.配置安装包

 1 .vim打开 anaconda-ks.cfg后把以下内容从%到%end复制

[root@localhost ~]# vim anaconda-ks.cfg

2.vim打开ks.cfg文件 在最后一行插入刚才步骤1复制的内容

[root@localhost ~]# vim ks.cfg

复制

[root@localhost ~]# cp ks.cfg /var/ftp/
[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# ls
centos7  ks.cfg  pub
[root@localhost ftp]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# ls
default

修改引导菜单文件

[root@localhost pxelinux.cfg]# vim default

置是否等待用户选择,“0”表示不等待用户控制 

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

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

相关文章

鸿蒙开发接口Ability框架:【@ohos.application.FormExtension (FormExtension)】

FormExtension FormExtension模块提供了FormExtension卡片扩展相关接口。 说明: 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 本模块接口仅可在Stage模型下使用。 导入模块 import FormExtension …

pcm转MP3怎么转?只需3个步骤~

PCM(Pulse Code Modulation)是一种用于数字音频编码的基础技术,最早起源于模拟音频信号数字化的需求。通过PCM,模拟音频信号可以被精确地转换为数字形式,为数字音频的发展奠定了基础。 MP3文件格式的多个优点 MP3的优…

Flyway使用教程

Flyway使用教程 背景: 在开发环境对多个不同版本的分支进行开发,如果此时涉及到多张表结构修改(比如新增字段),而在测试环境时却忘了整理SQL 脚本给测试人员执行,就会导致出现 bug,从而影响测试…

电子取证平航杯的复现

闻早起部分: 一、闻早起的windows10电脑 (1).“闻早起”所使用的笔记本电脑使用何种加密程式? 1.在EFI文件中找到加密程式 (2) 教徒“闻早起”所使用的笔记本电脑中安装了一款还原软件,其版本…

Stable Diffusion学习记录

文章目录 前言电脑配置推荐环境搭建下载地址安装步骤步骤一,打开下载的秋叶整合包,路径秋叶整合包/sd-wenui-aki步骤二,打开下载好的sd-webui-aki-v4.8.7解压包 Stable Diffusion软件配置,插件安装,模型下载Stable Dif…

基于EWT联合SVD去噪

一、代码原理 (1)基于EWT-SVD的信号去噪算法原理 经验小波变换(Empirical Wavelet Transform,EWT):EWT是一种基于信号局部特征的小波变换方法,能够更好地适应非线性和非平稳信号的特性。奇异值…

Redis探索之旅(基础)

目录 今日良言:满怀憧憬,阔步向前 一、基础命令 1.1 通用命令 1.2 五大基本类型的命令 1.2.1 String 1.2.2 Hash 1.2.3 List 1.2.4 Set 1.2.5 Zset 二、过期策略以及单线程模型 2.1 过期策略 2.2 单线程模型 2.3 Redis 效率为什么这么高 三…

如何取消xhr / fetch / axios请求

如何取消xhr请求 setTimeout(() > { xhr.abort() }, 1000)如何取消fetch请求 fetch()请求发送以后,如果中途想要取消,需要使用AbortController对象。 let controller new AbortController(); let signal controller.signal;fetch(url, {signal:…

Excel利用数据透视表将二维数据转换为一维数据(便于后面的可视化分析)

一维数据:属性值都不可合并,属性值一般在第一列或第一行。 二维数据:行属性或列属性是可以继续合并的,如下数据中行属性可以合并为【月份】 下面利用数据透视表将二维数据转换为一维数据: 1、在原来的数据上插入数据透…

#初始化列表

1.再谈构造函数 1.1构造函数的组成 构造函数包括函数体赋值与初始化列表初始化。 1.2函数体赋值 class Date { public:Date(int year, int month, int day){_year year;_month month;_day day;} private:int _year;int _month;int _day; };虽然上述构造函数调用之后&…

【数据结构】C++语言实现栈(详细解读)

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

cmake进阶:文件操作

一. 简介 前面几篇文章学习了 cmake的文件操作,写文件,读文件。文章如下: cmake进阶:文件操作之写文件-CSDN博客 cmake进阶:文件操作之读文件-CSDN博客 本文继续学习文件操作。主要学习 文件重命名,删…

自动化运维管理工具-------------Ansible

目录 一、自动化运维工具有哪些? 1.1Chef 1.2puppet 1.3Saltstack 二、Ansible介绍 2.1Ansible简介 2.2Ansible特点 2.3Ansible工作原理及流程 2.3.1内部流程 2.3.2外部流程 三、Ansible部署 3.1环境准备 3.2管理端安装 ansible 3.3Ansible相关文件 …

BGP的选路 :

前提条件 : 丢弃所有不可用的路由信息。 属性的名称 传播范围 默认值 评判标准 PV(优选值) 不传播 0(0-65535) 越大越优 LP(本地优先级) IBGP对等体 之间 100 越大越优 AS_PATH …

0506_IO1

思维导图: 练习: 有如下结构体 struct Student{ char name[16]; int age; double math_score; double chinese_score; double english_score; double physics_score; double chemistry_score; double bio_score; }; 申请该结构体数组,容量为…

尊享面试100题(314.二叉树的垂直遍历python)

题目关键词,从左到右,从上到下,那么使用bfs宽度优先算法。 使用字典v保存每一列的值。 class Solution:def verticalOrder(self, root: Optional[TreeNode]) -> List[List[int]]:if not root: return []v defaultdict(list)qu deque()…

数据分析之Tebleau可视化:树状图、日历图、气泡图

树状图(适合子分类比较多的) 1.基本树状图的绘制 同时选择产品子分类和销售金额----选择智能推荐----选择树状图 2.双层树状图的绘制 将第二个维度地区拖到产品分类的下面---大的划分区域是上面的维度(产品分类),看着…

GreptimeDB 助力国家电网数字换流站打造稳定高效的时序数据底座

电网体系作为现代社会运行的支柱之一,为各行各业、千家万户提供了电能的基本支持。从家庭到企业,医院到学校,交通到通讯,电力电网的应用贯穿始终。近年来,特高压换流站成为国家电网的重点建设工程,“十四五…

[每日AI·0506]巴菲特谈 AI,李飞飞创业,苹果或将推出 AI 功能,ChatGPT 版搜索引擎

AI 资讯 苹果或将推出 AI 功能,随 iPhone 发布2024 年巴菲特股东大会,巴菲特将 AI 类比为核技术 巴菲特股东大会 5 万字实录消息称 OpenAI 将于 5 月 9 日发布 ChatGPT 版搜索引擎路透社消息,斯坦福大学 AI 领军人物李飞飞打造“空间智能”创…

Linux第三节--常见的指令介绍集合(持续更新中)

点赞关注不迷路!,本节涉及初识Linux第三节,主要为常见的几条指令介绍。 如果文章对你有帮助的话 欢迎 评论💬 点赞👍🏻 收藏 ✨ 加关注👀 期待与你共同进步! Linux下基本指令 1. man指令 Linu…