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

目录

一、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”表示不等待用户控制 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

概念解析 | 基础模型:AI时代的“形而上学“

注1:本文系"概念解析"系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:基础模型(Foundation Models) 概念解析 | 基础模型:AI时代的"形而上学" What Are Foundation Models? | NVIDIA Blogs 第一部分:通俗解释 基础模型(…

echars设置渐变颜色的方法

在我们日常的开发中,难免会遇到有需求,需要使用echars设置渐变的图表,如果我们需要设置给图表设置渐变颜色的话,我们只需要在 series 配置项中 添加相应的属性配置项即可。 方式一:colorStops type:‘lin…

this关键字

this 文章目录 this引出Thisthis的作用this.属性内存分析 this.方法名this()构造方法 概念:this 关键字是 Java常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,可以将this理解为一个指…

被问了n遍的小程序地理位置权限开通方法

小程序地理位置接口有什么功能? 在平时我们在开发小程序时,难免会需要用到用户的地理位置信息的功能,小程序开发者开放平台新规要求如果没有申请开通微信小程序地理位置接口( getLocation ),但是在代码中却使用到了相关接口&#…

【3dmax笔记】023:阵列工具(移动+一维+二维+三维)

文章目录 一、阵列工具二、案例演示 一、阵列工具 【阵列】命令将显示【阵列】对话框,使用该对话框可以基于当前选择创建对象阵列。 菜单栏:【工具】菜单 > 【阵列】 二、案例演示 首先,画一个物体,如茶壶,如下图…

Ps 中 曲线和色阶的区别在哪里?

【官方解释】 在Photoshop中,曲线(Curves)和色阶(Levels)是两种调整图像色调和对比度的工具,它们有一些相似之处,但也有一些重要的区别。 调整方式: 曲线(Curves)&…

04-19 周四 GitHub CI 方案设计

04-19 周四 GitHub CI 方案设计 时间版本修改人描述2024年4月19日14:44:23V0.1宋全恒新建文档2024年4月19日17:22:57V1.0宋全恒完成部署拓扑结构的绘制和文档撰写 简介 需求 由于团队最近把代码托管在GitHub上,为解决推理、应用的自动化CI的需要,调研了…

【C语言刷题系列】移除元素

目录 一、问题描述 二、解题思路 三、源代码 个人主页: 倔强的石头的博客 系列专栏 :C语言指南 C语言刷题系列 一、问题描述 二、解题思路 在C语言中,原地移除数组中所有等于特定值的元素并返回新长度的问题可以通过双指针法…

虚拟化之---virtio通信

一、理解virtio的背景 我们知道虚拟化hypervisor大的类型分为两种,全虚拟化和半虚拟化。 在全虚拟化的解决方案中,guest VM 要使用底层 host 资源,需要 Hypervisor 来截获所有的请求指令,然后模拟出这些指令的行为,这样…

python-dict序列化的数据为啥前后不一致

前情提要及背景:流式数据的二次处理终结篇-CSDN博客 假如直接将dict进行str,那么编码数据都是一致的,但是在postman上就表现不那么好看,如下: 而之前的显示如下: 其中的差别就是单引号与双引号的差别了。 采用如下方案无疑是最笨的方法了: 在Python中,如果你想将处理…

各城市-人口就业和工资数据(1978-2022年)

这份数据收集了1978年至2022年间300多个地级市的人口、就业和工资等数据。涵盖的指标包括从业人员数量、平均工资水平、人口密度等,通过这些数据可以深入了解中国各地城市的人口结构、就业状况以及工资水平的变化趋势。这些数据对于研究城市发展、劳动力市场以及区域…

微积分 --- 偏导数,方向导数与梯度(二)

方向导数 上图为一温度图,所反映的是加利福利亚洲和内华达州在十月的一天下午三点的温度。其中,图中的每一点都是温度T关于x,y的函数,即T(x,y)。对于图中的Reno市而言,沿着x方向的偏导反映的是温度沿着x方向,即沿着东方…

【搜索技能】外链

文章目录 前言一、外链是什么?二、如何进行外链调查?总结 前言 今儿因为在搜索一个很感兴趣的软件,但是软件信息所在的网址非常有限。因此产生了一个念头:我能不能找到所有的包含了或者是引用了这个网站的网站呢? 调查之下&…

五道链表习题,只过思路

建议先过一遍:保研机试前的最后七道链表题-CSDN博客 第一题 82. 删除排序链表中的重复元素 II - 力扣(LeetCode) 是不是似曾相识的感觉,好像数组顺序去重,请看:保研机试前的最后七道数组题-CSDN博客 第二…

幻兽帕鲁游戏主机多少钱?幻兽帕鲁游戏服务器一个月仅需32元

随着游戏产业的蓬勃发展,腾讯云紧跟潮流,推出了针对热门游戏《幻兽帕鲁Palworld》的专属游戏服务器。对于广大游戏爱好者来说,这无疑是一个激动人心的消息。那么,腾讯云幻兽帕鲁游戏主机到底多少钱呢?让我们一起来揭晓…

编程基础学什么课程内容

编程基础学习的课程内容有:程序设计基础、算法与数据结构、计算机科学原理、面向对象编程、网页开发基础等课程内容,以下是上大学网 (www.sdaxue.com)整理的具体课程或技能领域内容,供大家参考! 程序设计基础(或计算机…

重学java 29.经典接口

光阴似箭,我好像跟不上 —— 24.5.6 一、java.lang.Comparable 我们知道基本数据类型的数据(除boolean类型外)需要比较大小的话,直接使用比较运算符即可,但是引用数据类型是不能直接使用比较运算符来比较大小的。那么,如何解决这个…

Vue MVVM这一篇就够啦!

Vue vs React 相似之处: 它们都有使用 Virtual DOM虚拟DOM-CSDN博客;提供了响应式(Reactive)和组件化(Composable)的视图组件。将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。R…

数塔问题(蛮力算法和动态规划)

题目:如下图是一个数塔,从顶部出发在每一个节点可以选择向左或者向右走,一直走到底层,要求找出一条路径,使得路径上的数字之和最大,及路径情况。(使用蛮力算法和动态规划算法分别实现) #include…

AI预测福彩3D第10套算法实战化赚米验证第2弹2024年5月6日第2次测试

由于今天白天事情比较多,回来比较晚了,趁着还未开奖,赶紧把预测结果发出来吧~今天是第2次测试~ 2024年5月6日福彩3D预测结果 6-7码定位方案如下: 百位:3、4、1、7、8、9 十位:4、5、3、7、8、9 个位&#x…