目录
6.1 部署PXE远程安装服务
在大规模的Linux应用环境中,如 Web群集、分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何为数十乃至上百台服务器裸机快速安装系统呢﹖传统的USB光驱、移动硬盘等安装方法显然已经难以满足需求。
本章将学习基于PXE(Preboot eXecution Environment,预启动执行环境)技术的网络装机方法,并结合Kickstart配置实现无人值守自动安装。
上述服务器的批量部署方法,具备以下三个优点:
- 规模化:同时装配多台服务器;
- 自动化:安装系统、配置各种服务;
- 远程实现:不需要光盘、U盘等安装介质。
PXE是由Intel公司开发的网络引导技术,工作在ClientlServer模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。若要搭建PXE 网络体系,必须满足以下几个前提条件。
- 客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。
- 网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置。
- 服务器通过TFTP (Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。
其中,第一个条件实际上是硬件要求,目前绝大多数服务器和大多数PC都能够提供此支持,只需在BIOS设置中允许从 Network或LAN启动即可。下面将介绍PXE远程安装服务的基本部署过程。
6.1.1 搭建PXE远程安装服务器
1. 准备CentOS 7安装源
CentOS 7的网络安装源一般通过HTTP、FTP协议发布,另外也支持 NFS (NetworkFile System,网络文件系统)协议
例如,若采用FTP协议发布安装源,可以在服务器上部署一个 YUM软件仓库。
2. 安装并启用TFTP服务
TFTP服务由tftp-server 软件包提供,配置文件位于letc/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服务的根目录下。
5. 安装并启用DHCP服务
由于PXE客户机通常是尚未装系统的裸机,因此为了与服务器取得联系并正确下载相关引导文件,需要预先配置好DHCP服务来自动分配地址并告知引导文件位置。如PXE服务器的IP地址为192.168.4.254,DHCP地址池为192.168.4.100~192.168.4.200,则可以参考以下操作来搭建DHCP服务器。
从上述过程可以看到,与一般DHCP服务不同的是,配置文件中增加了netx-server和filename这两行记录,分别用来指定TFTP服务器的地址和 PXE引导程序的文件名。
6. 配置启动菜单文件
启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载初始化镜像。默认的启动菜单文件为default,应放置在tftp根目录的pxelinux.cfg子目录下,典型的启动菜单配置可参考以下操作手动建立。
上述配置记录中定义了三个引导入口,分别为图形安装(默认)、文本安装、救援模式。其中,prompt用来设置是否等待用户选择; label用来定义并分隔启动项; kernel和 append用来定义引导参数。引导入口的个数及内容根据需要自行定义。例如,实现无人值守安装时只需要一个入口就够了。
6.1.2 验证PXE网络安装
搭建好PXE远程安装服务器以后,就可以使用客户机进行安装测试了。对于新购买的服务器或PC裸机,一般不需要额外设置;若要为已有系统的主机重装系统,则可能需要修改BIOS 设置,将""Boot First"设为“NETWORK"或"LAN",然后重启主机;若使用VMware创建的虚拟机进行测试,虚拟机内存至少需要2GB,否则在启动安装时会报错。
在提示字串""boot:"后直接按Enter键(或执行"auto"命令),将会进入默认的图形安装入口;若执行linux text"命令,则进入文本安装入口;若执行"linux rescue"命令,则进入救援模式。
直接按Enter键确认后将自动通过网络下载安装文件,并进入图形安装程序界面,如图6.2所示。
6.2 实现Kickstart无人值守安装
6.2.1 准备安装应答文件
在 CentOS 7系统中安装system-config-kickstart工具之后,即可通过图形化向导工具来配置安装应答文件。如果用户对自动应答文件的配置比较熟悉,也可以直接编辑Centos7安装后自动创建的应答文件(Jrootanaconda-ks.cfg),根据需要适当修订后使用。
1. 配置安装应答参数
通过桌面菜单"应用程序"→“系统工具”→“Kickstart"即可打开"Kickstart配置程序"窗口。在""Kickstart 配置程序"窗口中,可以针对基本配置、安装方法、引导装载程序选项、分区信息、网络配置等各种安装设置进行指定,如图6.3所示。
1. 基本配置及安装方式
“基本配置"可参考图6.3来指定。例如,将默认语言设为“中文(简体)",时区设为“Asia/Shanghai",根口令设为“pwd123",高级配置中勾选"安装后重启”。
在"安装方法"界面中,应正确指定CentOS 7的安装方法,如图6.4所示。若有用户验证信息也需一并指定。在“引导装载程序选项"界面中,选择安装新引导装载程序。
2. 分区信息
在"分区信息"界面中,需正确规划硬盘分区方案。例如,可划分一个500MB 的/boot分区、4GB的/home 分区、2GB的swap分区,将剩余空间划分给根分区,如图 6.5所示。
3. 网络配置及防火墙配置
在"网络配置”界面中,添加一个网络设备"ens33",将网络类型设为“DHCP”。
在“防火墙配置"界面中,可以选择禁用SELinux、禁用防火墙。
4. 软件包选择
CentOS7系统开始不再提供软件包的选择,如图6.6 所示。如果需要安装软件包,可以根据需要将/rootlanaconda-ks.cfg 的软件包安装脚本复制到ks.cfg 文件中,只需要复制%packages 到%end部分即可,在%packages 到%end之间,包含以@开头的软件包列表,将不需要的软件名删除,剩下的就是系统会自动安装的软件包。例如,仅保留以下内容即为采用最小化安装。
5. 安装脚本
在“预安装脚本"界面、“安装后脚本"界面中,可以分别添加在安装前、安装后自动运行的可执行语句。此项设置使服务器的自动化配置变得更加容易。例如,可以使客户机在完成安装后自动设置YUM软件仓库,如图6.7所示。需要注意的是,应确保所编写的代码能够正确执行,以免安装失败。
6. 其他信息
若没有特殊需求,在“验证"界面、“显示配置"界面中,保持默认设置就可以了。
2. 保存自动应对文件
选择“Kickstart配置程序"窗口的“文件”→“保存"命令,指定目标文件夹、文件名,将配置好的应答参数保存为文本文件,如lrootks.cfg。以后若要修改此应答配置,可以在"Kickstart配置程序"窗口中打开进行调整,或者直接用VI等文本编辑工具进行修改。
6.2.2 实现批量自动装机
有了自动安装的应答文件之后,只要将其放置PXE安装服务器的FTP目录下,并适当修改引导菜单,就可以实现基于网络的批量自动装机了。
1. 启动自动应答文件
在PXE远程安装服务器中,将上一节建立的应答文件复制到/var/ftplcentos7目录下,使客户机能够通过ftp:l1192.168.4.254/centos7/ks.cfg访问;然后编辑引导菜单文件default,添加 ks引导参数以指定ks.cfg应答文件的URL路径
2. 验证无人值守安装
启用自动应答安装之后,当客户机每次以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装CentOS7系统,而无须手工干预,如图6.8所示,这样就可以同时为多台客户机安装系统了。
客户机安装完成以后,检查其YUM软件仓库配置,可以发现已经按照"安装后脚本"的设置自动建立了/etc/yum.repos.d/centos7.repo文件。
标签:文件,06,客户机,配置,装机,服务器,安装,PXE From: https://blog.csdn.net/m0_74210957/article/details/139808300注意:如果是在VMware 虚拟机环境下,需要禁用VMware 的 DHCP功能;否则安装文件将无法加载。