配置PXE预启动执行环境:使用PXE装机服务器网络引导装机


文章目录

  • PXE概述
    • PXE批量部署的优点
    • 基本的部署过程
    • 搭建的前提条件
  • 搭建配置PXE装机服务器
    • 1. 准备 CentOS 7 安装源(YUM 仓库)
    • 2. 安装并启用 TFTP 服务
    • 3. 安装并启用 DHCP 服务
    • 4. 准备 Linux 内核和初始化镜像文件
    • 5. 准备 PXE 引导程序
    • 6. 安装 FTP 服务并准备 CentOS 7 安装源
    • 7. 配置启动菜单文件
    • 8. 关闭防火墙并验证 PXE 网络安装


PXE概述

PXE(Preboot Execution Environment,预启动执行环境)是由 Intel 公司开发的一种网络引导技术,采用 Client/Server 模式,允许客户机通过网络从远程服务器下载引导镜像,并加载操作系统或安装文件。它在大规模服务器部署中极为有效,特别是在自动化和远程安装方面,具有以下几个优点:

PXE批量部署的优点

  1. 规模化:可以同时装配多台服务器,大幅提高效率。
  2. 自动化:安装操作系统,还可自动配置各种服务,减少人工干预。
  3. 远程实现:无需光盘、U盘等物理安装介质,通过网络即可完成安装。

基本的部署过程

  1. 准备Centos 7 安装源(YUM仓库)
  2. 安装并启用TFTP服务
  3. 提供Linux内核、PXE引导程序等
  4. 安装并启用DHCP服务
  5. 配置启动菜单

搭建的前提条件

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

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

搭建配置PXE装机服务器

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

1. 准备 CentOS 7 安装源(YUM 仓库)

YUM 仓库是 CentOS 的软件包管理系统,用于存储和安装软件包。在 PXE 安装过程中,CentOS 7 的安装源需要通过 FTP 或 HTTP 提供给客户机。

2. 安装并启用 TFTP 服务

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一个基于 UDP 协议的轻量级文件传输协议,主要用于传输小文件。PXE 使用 TFTP 来传输引导程序和 Linux 内核。

TFTP服务默认由xinetd服务进行管理,使用UDP 端口69。

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

# 安装 TFTP 服务器和 xinetd 服务管理程序
yum -y install tftp-server xinetd  # 修改 TFTP 服务的配置文件
vim /etc/xinetd.d/tftp# 配置文件内容如下:
protocol        = udp   
# 指定使用 UDP 协议wait            = no  
# 设置为 no,允许多台客户机同时连接server_args     = -s /var/lib/tftpboot  
# 指定 TFTP 根目录(存放文件的路径)disable         = no         
# 设置为 no,开启 TFTP 服务# 启动并设置 TFTP 和 xinetd 服务开机自启动
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd

3. 安装并启用 DHCP 服务

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)用于为客户机分配 IP 地址,并指定 PXE 引导文件的位置。

# 安装 DHCP 服务
yum -y install dhcp  # 复制示例配置文件并命名到 /etc/dhcp/dhcpd.conf
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.80.10; 
# 添加:指定 TFTP 服务器的地址filename "pxelinux.0";     
# 添加:指定 PXE 引导程序文件名subnet 192.168.80.0 netmask 255.255.255.0 {  
# 声明要分配的网段地址range 192.168.80.100 192.168.80.200;  # 设置地址池option routers 192.168.80.10;  # 设置默认网关为 TFTP 服务器的 IP 地址
}# 启动并设置 DHCP 服务开机自启动
systemctl start dhcpd
systemctl enable dhcpd

4. 准备 Linux 内核和初始化镜像文件

将 Linux 内核文件和初始化镜像文件复制到 TFTP 根目录下。

cd /mnt/images/pxeboot  
# 假设光盘已挂载到 /mnt 目录cp vmlinuz /var/lib/tftpboot/  
# 复制 Linux 内核文件到 TFTP 根目录cp initrd.img /var/lib/tftpboot/  
# 复制初始化镜像文件(Linux 引导加载模块)到TFTP根目录

5. 准备 PXE 引导程序

PXE 引导程序由 syslinux 软件包提供。

yum -y install syslinux  # 安装 syslinuxcp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  # 复制 PXE 引导程序到 TFTP 根目录

6. 安装 FTP 服务并准备 CentOS 7 安装源

FTP 服务用于提供 CentOS 7 安装源给客户机。

yum -y install vsftpd  # 安装 FTP 服务mkdir /var/ftp/centos7  # 创建安装源目录
cp -rf /mnt/* /var/ftp/centos7/  # 将光盘内容复制到安装源目录# 启动并设置 FTP 服务开机自启动
systemctl start vsftpd
systemctl enable vsftpd

7. 配置启动菜单文件

启动菜单文件位于 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     # 指定内核文件
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/centos7label linux rescue # 救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.80.10/centos7

8. 关闭防火墙并验证 PXE 网络安装

为了避免防火墙阻碍 PXE 网络安装过程,可以临时关闭防火墙和 SELinux。

systemctl stop firewalld.service # 关闭防火墙
setenforce 0         # 临时禁用 SELinux

使用 VMware 创建的虚拟机进行测试时,确保虚拟机内存至少 2GB,否则可能在启动安装时出现错误。

启动虚拟机后,在提示字符串 boot: 后按 Enter 键(或执行 auto 命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口;

若执行 linux text 命令,则进入文本安装入口;若执行 linux rescue 命令,则进入救援模式。


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

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

相关文章

中科服务器磁盘未断电状态被人拔插导致raid故障,安装系统找不到系统盘 修复raid再次安装系统成功

1,根据提示按del进入bios 直接回车 改成good状态保存(多块盘的话重复此操作即可,直到让盘的状态显示good或者online) 然后回到上级导入raid信息 raid信息导入 设置成yes,然后保存退出 然后他会自己同步数据&…

Linux 软件编程多路复用tcp

1.select的缺点: 1.select监听的文件描述符集合是一个数组,有上限(1024个) 2.select监听的文件描述符集合在应用层,内核层监听事件后需要传递给用户层带来资源开销 3.select需要用户手动查找产生事件的文件…

linux网卡重命名命令

在Linux系统中,网卡重命名的命令是ip命令。下面是在不同Linux发行版上进行网卡重命名的命令示例: 1. Ubuntu/Debian系统: 首先,使用ifconfig命令查看当前系统的网卡名称。 然后,使用以下命令修改网卡名称:…

【Linux】分析一段oom及oops报错日志

oom相关日志分析: Oom-killer错误是因系统内存分配不足,为保障系统正常运行会随机kill掉占用较多的内存进程。 该日志已经输出内存占满相关提示,内存上限为16G,当前已使用16G,内存限制导致分配失败次数为586755次。 OOPS相关日志…

交换排序(冒泡排序和快速排序)

一、基本思想 所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置。 交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。 二、冒泡排序 1.核心思想 两两相邻的元素进行比…

6G网络的关键技术、应用前景与挑战并存的科技征途

移动通信技术正以前所未有的速度迭代更新,而6G技术的研发与商用化进程渐渐成为了当前科技领域的热点与焦点。在5G技术尚未完全普及的今天,全球各国已纷纷将目光投向了更加充满想象的6G网络时代。本文将探讨全球6G研发的最新进展,特别是欧盟与…

Linux进程间通信——互斥锁与信号量详解

文章目录 互斥锁信号量整形信号量记录形信号量利用信号量实现进程互斥利用信号量实现同步利用信号量实现前驱关系 互斥锁 现实中的锁有两种状态,打开和关闭,分别对应这资源可以被使用,和不可以被使用,我们可以通过使用钥匙对锁的…

<数据集>考场行为识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:2192张 标注数量(xml文件个数):2192 标注数量(txt文件个数):2192 标注类别数:2 标注类别名称:[cheating, good] 序号类别名称图片数框数1cheating128214412good1067…

优化uni-app页面间的传参跳转【兼容多端】

问题场景 options传值的想必用的都比较多,除了option传值的场景外,还有两个场景用的也比较多: 1)传复杂对象 对于传递复杂对象options就有点力不从心了,毕竟URL模式GET传递参数的长度有限。此时需要采用eventChanne…

在多云生态下,如何实现跨云的自动化身份管理?

在多云环境下实现跨云的自动化身份管理是一个重要的课题,因为这可以帮助企业确保用户和应用程序能够在不同云服务提供商之间无缝地访问资源,同时保持高度的安全性和合规性。以下是一些关键技术和实践方法,用于实现跨云环境下的自动化身份管理…

Linux驱动开发基础(中断)

所学来自百问网 目录 1. 嵌入式中断系统 2. 中断处理流程 3. 异常向量表 4. Linux系统对中断的处理 4.1 ARM 处理器程序运行的过程 4.2 保护现场 5. Linux 系统对中断处理的演进 5.1 硬件中断和软件中断 5.2 中断拆分(上半部和下半部) 5.2.1 tasklet 5.2.2 工作队列…

git笔记:git常用命令备忘录

1、工作区域和文件状态 1.1、工作区域 git的数据管理分为四个区域: 工作区(Working Directory) 本地工作目录,是我们电脑上的目录,是我们实际编写代码的区域,修改完工作区的文件后可以使用git add命令将…

72 华为资源库

1 报文格式 https://info.support.huawei.com/info-finder/tool/zh/enterprise/packetformat 2 华为IP网络电子书 资源可以下载 https://e.huawei.com/cn/topic/enterprise-network/ip-ebook 3 华为产品文档 https://support.huawei.com/enterprise/zh/doc/index.html 4 华为…

【HuggingFace Transformers】BertSelfOutput 和 BertOutput源码解析

BertSelfOutput 和 BertOutput源码解析 1. 介绍1.1 共同点(1) 残差连接 (Residual Connection)(2) 层归一化 (Layer Normalization)(3) Dropout(4) 线性变换 (Linear Transformation) 1.2 不同点(1) 处理的输入类型(2) 线性变换的作用(3) 输入的特征大小 2. 源码解析2.1 BertSe…

Facebook的AI助手:如何提升用户社交体验的智能化

在现代社交媒体平台中,人工智能(AI)的应用正逐渐改变人们的社交体验。Facebook作为全球最大的社交媒体平台之一,已在AI技术的开发与应用上投入了大量资源,并通过其AI助手为用户提供了更加个性化、智能化的互动体验。这…

vagrant 创建虚拟机

创建一个名为 “Vagrantfile” 的文件,修改如下内容: Vagrant.configure("2") do |config|(1..3).each do |i|config.vm.define "k8s-node#{i}" do |node|# 设置虚拟机的Boxnode.vm.box "centos/7"# 设置虚拟机的主机名…

逆向中的游戏-入土为安的第二十五天

逆向中的游戏 CE的介绍 Cheat Engine ,简称CE,是逆向工程师常用的几大神器之一,也是游戏汉化、破解以及外挂编写中常用的工具,其功能包括:内存扫描、十六进制编辑器、调试工具,可以进行反汇编调试、断点跟…

代码随想录算法训练营_day28

题目信息 122. 买卖股票的最佳时机 II 题目链接: https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/题目描述: 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你…

Springboot-RequestContextHolder

RequestContextHolder 是 Spring 框架中的一个类,主要用于在多线程环境中存储和访问 HTTP 请 求的上下文信息。它允许在 Spring 应用程序中从任何位置访问当前请求的相关信息,比如 HTTP 头部、会话数据等,而无需将请求对象直接传递到每个方法中。 主要用途 存储请求上下…

Seata 学习

简介 我们都知道 Seata 是一个分布式事务的解决方案,今天我们就来带大家了解一下什么是分布式事务,首先我们先来了解一下基础的知识——事务,我们先来了解一下事务的概念是什么。 基本概念 事务四部分构成— ACID: A(Atomic)&…