PXE高效批量网络装机

news2024/11/22 19:35:59

PXE

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

  • 具备以下三个优点
    1 规模化: 同时装配多台服务器
    2 自动化:安装系统、配置各种服务
    3 远程实现: 不需要光盘、U盘等安装介质

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

  • 搭建 PXE 远程安装服务器

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

  • TETP(简单文件传输协议),
    是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。TETP服务默认由xinetd服务进行管理,使用UDP 端口69

  • xinetd
    是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。

  • 守护进程
    守护进程也称精灵进程(Daemon),是运行在后台的一种特殊进程。守护进程独立于控制终端,它们常常跟随系统启动时启动,在系统关闭时才结束。守护进程周期性的执行某些任务或者等待处理某些事件,Linux上的大多数服务器都是用守护进程实现的。
    在系统启动中默认的守护进程的父进程ID全都是init,守护进程特征就是在程序运行名后加了一个d,但不是所有的尾字母是d的进程都是守护进程
    和后台进程的区别,命令 &可以把进程改为后台进程,但依赖于前台终端,终端关闭后台进程结束。而nohup 命令 & 可以后台运行进程,且前台终端关闭,进程不受影响(nohup与守护进程原理类似)
    nohup英文全称 no hang up(不挂起),用于在系统后台不中断地运行命令,退出终端不会影响程序的运行。这个命令会使程序忽略 HUP 信号,保证程序能够正常进行。(HUP 信号是在终端被中止的时候向它所关联的进程所发出的信号,进程收到这个信号后就会中止运行。)所以如果不希望进程被这个信号干掉的话,就可以忽略这个信号。而 nohup 命令做的就是这个事情。

部署PXE服务器

挂载光盘文件

mount /dev/sr0 /mnt

关闭防火墙和selinux

systemctl stop firewalld
setenforce 0
systemctl disable firewalld

在这里插入图片描述

关闭虚拟网络编辑器的使用dhcpIP地址分配选项

在这里插入图片描述

1安装并开启TFTP服务

yum -y install xinetd tftp-server

在这里插入图片描述
修改配置文件

vim /etc/xinetd.d/tftp

在这里插入图片描述
设置开机自启和现在立即启动程序
在这里插入图片描述
也可以一条命令完成表示立即启动和开机自启

systemctl enable --now tftp xinetd

2安装应启用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

在这里插入图片描述

systemctl enable --now dhcpd

在这里插入图片描述

3准备Linux内核,初始化镜像文件

之前已经提前把光盘挂载到/mnt目录
在这里插入图片描述

4准备 PXE 引导程序

yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

在这里插入图片描述

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

yum -y install vsftpd

centos7安装源是通过ftp协议传输,所以要在/var/ftp目录下创建centos7安装源

mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/----这步是复制过去,文件较大,复制较慢,

这步是复制过去,文件较大,复制较慢,因为光盘镜像文件,所以也可以直接将镜像文件挂载到该目录

mount /dev/sr0 /var/ftp/centos7

这里使用挂载的方式来配置centos7安装源
在这里插入图片描述

systemctl enable --now vsftpd----开机自启并启动

在这里插入图片描述

6配置启动菜单文件

默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default(需要自己创建)

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

在这里插入图片描述

7 验证

使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错。
开启虚拟机,在提示字符串“boot:”后直接按Enter键(或执行“auto”命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口
若执行“linux text”命令,则进入文本安装入口;若执行 “linux rescue”命令,则进入救援模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实现Kickstart无人值守安装

上面的步骤还是需要一个个去确认才能继续安装,对于很多机器来说就效率太慢,这里可以用kickstart来设置不需要确认自动安装

1准备安装应答文件

安装system-config-kickstart 工具

yum install -y system-config-kickstart

在这里插入图片描述

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

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

执行 system-config-kickstart 命令打开
在这里插入图片描述

3配置kickstart选项

1基本配置:

默认语言设为“中文(简体)”
时区设为“Asia/Shanghai”
设置root密码
高级配置中勾选“安装后重启”
在这里插入图片描述

2安装方法:

选FTP
FTP服务器:ftp://192.168.80.10
FTP目录:centos7
在这里插入图片描述

3引导装载程序选项:

“安装类型”:安装新引导装载程序
“安装选项”:在主引导记录(MBR)中安装引导装载程序
在这里插入图片描述

4分区信息:

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

5网络配置:

添加网络设备“ens33”
网络类型设为“DHCP”
在这里插入图片描述

6防火墙配置:

禁用 SELinux、禁用防火墙
在这里插入图片描述

7安装后脚本:

勾选“使用解释程序”:/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.10/centos7
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo

在这里插入图片描述

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

4保存自动应答文件

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

在这里插入图片描述
在这里插入图片描述

cp /root/ks.cfg /var/ftp/ks.cfg

在这里插入图片描述
在这里插入图片描述

5配置需要安装的软件包

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

%packages
@^minimal
%end
vim /root/anaconda-ks.cfg

在这里插入图片描述

vim /var/ftp/ks.cfg

在这里插入图片描述

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

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

在这里插入图片描述

7验证无人值守安装

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

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

cat /etc/yum.repos.d/local.repo

在这里插入图片描述

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

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

相关文章

高通 Android 12 framework添加自定义按键上报应用层

Android下添加新的自定义键值和按键处理流程 首先分析下Android下怎么添加新的自定义键值。在Android的原生系统中键值默认情况下是92个,从0-91;一般情况下,这些键值是够用的,但是如果想扩充的话,还是需要添加新的键值…

Linux系统应用编程(五)Linux网络编程(上篇)

本篇主要内容: Linux系统应用编程(五)Linux网络编程(上篇)一、网络基础1.两个网络模型和常见协议(1)OSI七层模型(物数网传会表应)(2)TCP/IP四层模…

详解C语言string.h中常用的14个库函数(一)

我计划讲解C语言string.h这个头文件中,最常用的14个库函数。为了让大家更加深入的理解这些函数,部分函数我会模拟实现。篇幅所限,如果文章太长了,可能会较难坚持读完,所以我会分几篇博客来讲述。本篇博客主要讲解的函数…

FPGA时序约束(三)时序约束基本路径的深入分析

系列文章目录 FPGA时序约束(一)基本概念入门及简单语法 FPGA时序约束(二)利用Quartus18对Altera进行时序约束 文章目录 系列文章目录前言基本时序路径时钟偏差寄存器到寄存器(reg2reg)建立时间余量保持时…

PHP实现以数组var_dump,array_combine等函数的方法功能举例

目录 前言 一、什么是数组 二、把两个数组合并成一个数组 1.1运行流程(思想) 1.2代码段 1.3运行截图 三、自动创建数组的一个案例 1.1运行流程(思想) 1.2代码段 1.3运行截图 前言 1.若有选择,可实现在目录里…

小朋友排队

[蓝桥杯 2014 省 B] 小朋友排队 题目描述 n n n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是 0 0 0。 如果某个小朋友…

Python 学习曲线 从 Python 新手到 Pro

Python 学习曲线 从 Python新手到 Pro 使用代码片段介绍: Python 是世界上最通用和使用最广泛的编程语言之一,以其简单性、可读性和多功能性而闻名。 在本文中,我们将探讨一系列示例场景,其中代码由具有三个不同专业知识水平的程序…

文件系统和动静态库

目录 再识文件属性 查看文件属性的原理 初识inode 了解磁盘 什么是磁盘 磁盘的结构 磁盘的存储结构 CHS寻址 磁盘的逻辑结构 使用LBA地址的意义 理解文件系统 页框和页帧 分治思想管理 Linux ext2文件系统 软硬链接 软链接 硬链接 文件的三个时间 动静态库 …

java运行python脚本,待完善版

参考资料: windows下调用CMD运行方式 兼容linux/windows,同步异步方式 指定特殊运行环境的运行(如:anaconda运行环境) 整合以上三种方式终极版源码 相关内容: 调用python脚本传参说明 如果不传参数,python脚本可以随意写,比如:

【课程介绍篇】C/C++后台开发岗位技能知识树

1 C/C后台开发岗位技能知识树 2 Linux C/C后台架构开发 成长体系课程 3 C技术历史更新 https://www.0voice.com/uiwebsite/html/courses/

《UVM实战》学习笔记——第七章 UVM中的寄存器模型2——期望值/镜像值、自动/显示预测、操作方式

文章目录 前言一、寄存器模型对DUT的模拟1.1 期望值和镜像值1.2 常见操作对期望值和镜像值的影响 二、prediction分类2.1 自动预测2.2 显式预测 三、访问寄存器方式四、mem和reg的联系和差别五、内建built_in sequence5.1 寄存器模型内建序列5.2 存储器模型内建序列5.3 禁止域名…

安装APP时弹窗未知风险未知开发者,还能下载吗?

随着移动互联网的不断普及,人们的日常生活已与手机密不可分。根据相关研究,在使用手机时,人们90%以上的时间都花在某些应用程序上,巨大的需求使得各种各样的APP被开发出来。然而人们在使用APP时必须更加注意其是否来源可信企业&am…

数据结构与算法基础-学习-21-查找之平衡二叉树(AVL树)

目录 一、个人理解 二、最小失衡子树 三、平衡调整的四种类型 1、LL型 2、RR型 3、LR型 4、RL型 四、如何平衡调整 1、LL型调整 2、LR型调整 五、宏定义 六、结构体类型定义 1、AVL树结点类型 2、AVL树类型 3、AVL树结点搜索路径类型 七、函数定义 1、初始化AV…

基于CMS项目的JDBC的实战

基于CMS项目的JDBC的实战 使用的Javase技术,进行控制台输出的客户管理系统(CMS),主要功能包含登录,注册、客户信息的展示,客户信息的更新,客户信息添加删除客户、退出系统。 设计创建数据库 …

PEX高效批量网络装机

目录 一、部署PXE远程安装服务 1)PXE概述 若要搭建PEX网络体系,必须满足以下几个前提条件 2)搭建PXE远程安装服务器 ①安装并启用 TFTP 服务 ②安装并启用 DHCP 服务 ​编辑 ③准备 Linux 内核、初始化镜像文件 ④准备 PXE 引导程序 …

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…