理论+实验——(Linux网络)PXE高效批量网络装机


前言

一、部署PXE 远程安装服务

1、PXE 概述

PXE(Preboot eXcution Environment)

  • 预启动执行环境,在操作系统之前运行
  • 可用于远程安装,构建无盘工作站

服务端

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

客户端

  • 网卡支持PXE协议
  • 主板支持网络启动

PXE批量部署的优点

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

在这里插入图片描述

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

(1)准备CentOS 安装源
CentOS 7的网络安装源一般通过HTTP、FTP、NFS等协议发布。
采用FTP协议发布安装源,可以在服务器上部署一个YUM软件仓库(部署开局环境,通网,内核防护和防火墙关闭,挂载并部署本地YUM仓库)
这里可以参照之前的几篇博客,就不想详细说明了,懂得都知道怎么开局
说一下ftp
在这里插入图片描述在这里插入图片描述在这里插入图片描述
此时可以上网查看
在这里插入图片描述
(2)安装并启用TFTP 服务
安装tftp-server软件包,配置文件位于/etc/xinetd.d/tftp.配置时只有将“disable=yes”改为“disable=no”,然后启用tftp服务
在这里插入图片描述在这里插入图片描述在这里插入图片描述
(3)准备Linux 内核、初始化镜像文件
用于 PXE 网络安装的 Linux 内核、初始化镜像文件可以从 CentOS 7 系统光盘获得,分
别为 vmlinuz 和 initrd.img,位于文件夹 images/pxeboot 下。找到这两个文件并将其复制
到 tftp 服务的根目录下。
在这里插入图片描述
(4)准备PXE 引导程序、启动菜单文件
用于 PXE 网络安装的引导程序为 pxelinux.0,由软件包 syslinux 提供。安装好软件包
syslinux,然后将文件 pxelinux.0 也复制到 tftp 服务的根目录下
在这里插入图片描述在这里插入图片描述
查看是否有三种文件
在这里插入图片描述
启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载初始化镜像。默认
的启动菜单文件为 default,应放置在 tftp 根目录的 pxelinux.cfg 子目录下,典型的启动
菜单配置可参考以下操作手动建立。
在这里插入图片描述在这里插入图片描述
上述配置记录中定义了三个引导入口,分别为图形安装(默认)、文本安装、救援模式。
其中, prompt 用来设置是否等待用户选择; label 用来定义并分隔启动项; kernel 和 append
用来定义引导参数。引导入口的个数及内容根据需要自行定义。例如,实现无人值守安装时
只需要一个入口就够了。
(5)安装并启用DHCP 服务
由于 PXE 客户机通常是尚未装系统的裸机,因此为了与服务器取得联系并正确下载相关
引导文件,需要预先配置好 DHCP 服务来自动分配地址并告知引导文件位置。如 PXE 服务器
的 IP 地址为 20.0.0.25, DHCP 地址池为 20.0.0.100~20.0.0.200,则可以参考
以下操作来搭建 DHCP 服务器。
在这里插入图片描述在这里插入图片描述在这里插入图片描述
从上述过程可以看到,与一般 DHCP 服务不同的是,配置文件中增加了 netx-server 和
filename 这两行记录,分别用来指定 TFTP 服务器的地址和 PXE 引导程序的文件名。

3、验证PXE 网络安装

搭建好 PXE 远程安装服务器以后,就可以使用客户机进行安装测试了。对于新购买的服
务器或 PC 裸机,一般不需要额外设置;若要为已有系统的主机重装系统,则可能需要修改
BIOS 设置,将“Boot First”设为“NETWORK”或“LAN”,然后重启主机;若使用 VMware
创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时会报错。
如果服务器配置正确,网络连接、 PXE 支持等都没有问题,则客户机重启后将自动配
置 IP 地址,然后从 TFTP 服务器中获取引导程序 pxelinux.0,并根据引导菜单配置提示用
户指定启动入口,
在提示字串“boot:”后直接按 Enter 键(或执行“auto”命令),将会进入默认的图形
安装入口;若执行“linux text”命令,则进入文本安装入口;若执行“linux rescue”命
令,则进入救援模式。
直接按 Enter 键确认后将自动通过网络下载安装文件,并进入图形安装程序界面,若能够成功到达这一步,说明 PXE 网络安装基本成功。后续安装步骤与使用光盘
的正常安装类似,这里不再叙述。
在这里插入图片描述在这里插入图片描述

二、实现Kickstart 无人值守安装

kickstart无人值守技术

  • 创建应答文件,预先定义好各种安装设置
  • 免去交互设置过程,从而实现全自动化安装

1、准备安装应答文件

在 CentOS 7 系统中安装 system-config-kickstart 工具之后,即可通过图形化向导工
具来配置安装应答文件。如果用户对自动应答文件的配置比较熟悉,也可以直接编辑 CentOS
7 安装后自动创建的应答文件(/root/anaconda-ks.cfg),根据需要适当修订后使用。
在这里插入图片描述

2、配置安装应答参数

通过桌面菜单“应用程序”→“系统工具”→“Kickstart”即可打开“Kickstart 配
置程序”窗口。在“Kickstart 配置程序”窗口中,可以针对基本配置、安装方法、引导装
载程序选项、分区信息、网络配置等各种安装设置进行指定。
在这里插入图片描述
(1)基本配置、高级配置
在这里插入图片描述
(2)安装方法
在这里插入图片描述
(3)引导装载程序选项
在这里插入图片描述
(4)分区信息
在这里插入图片描述
(5)网络配置
在“网络配置”界面中,添加一个网络设备“ens33”,将网络类型设为“DHCP”。
在这里插入图片描述
(6)防火墙配置
在“防火墙配置”界面中,可以选择禁用 SELinux、禁用防火墙。
在这里插入图片描述
(7)软件包选择
CentOS 7 系统开始不再提供软件包的选择,如图所示。如果需要安装软件包,可
以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg 文件中,只需要复
制%packages 到%end 部分即可,在%packages 到%end 之间,包含以@开头的软件包列表,将
不需要的软件名删除,剩下的就是系统会自动安装的软件包。例如,仅保留以下内容即为采
用最小化安装
在这里插入图片描述
(8)安装脚本
在“预安装脚本”界面、“安装后脚本”界面中,可以分别添加在安装前、安装后自动
运行的可执行语句。此项设置使服务器的自动化配置变得更加容易。例如,可以使客户机在
完成安装后自动设置 YUM 软件仓库,如图所示。需要注意的是,应确保所编写的代码能
够正确执行,以免安装失败。
在这里插入图片描述
(9)其他信息
若没有特殊需求,在“验证”界面、“显示配置”界面中,保持默认设置就可以了
(10)保存自动应答文件
选择“Kickstart 配置程序”窗口的“文件”→“保存”命令,指定目标文件夹、文件
名,将配置好的应答参数保存为文本文件,如/root/ks.cfg。以后若要修改此应答配置,可
以在“Kickstart 配置程序”窗口中打开进行调整,或者直接用 VI 等文本编辑工具进行修改

最小化安装
在这里插入图片描述在这里插入图片描述在这里插入图片描述
图形界面安装
在这里插入图片描述在这里插入图片描述在这里插入图片描述

3、实现批量自动装机

有了自动安装的应答文件之后,只要将其放置 PXE 安装服务器的 FTP 目录下,并适当修
改引导菜单,就可以实现基于网络的批量自动装机了
在这里插入图片描述

4、验证无人值守安装

启用自动应答安装之后,当客户机每次以 PXE 方式引导时,将自动下载 ks.cfg 应答配
置文件,然后根据其中的设置安装 CentOS 7 系统,而无须手工干预,如图所示,这样
就可以同时为多台客户机安装系统了。
客户机安装完成以后,检查其 YUM 软件仓库配置,可以发现已经按照“安装后脚本”的
设置自动建立了/etc/yum.repos.d/centos7.repo 文件。
在这里插入图片描述
装好系统,设置IP,确认可以通网之后,就可以验证了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ZG_66/article/details/107771607
今日推荐