PXE高效批量网络装机


在IT运维领域,批量装机一直是一个重要且繁琐的任务。随着技术的不断发展,Preboot Execution Environment (PXE)技术为我们提供了一种高效、便捷的解决方案。本文将介绍PXE技术的基本原理、配置步骤以及在实际应用中的优势。

一、PXE概述

PXE是一种基于客户端/服务器模式的网络启动技术。它允许计算机通过网络从服务器启动操作系统安装程序,而无需传统的光盘或U盘介质。PXE技术结合了DHCP、TFTP和HTTP等多种协议,实现了从网络启动、加载引导程序到安装操作系统的全过程。

PXE批量部署的优点

  • 规模化:同时装配多台服务器
  • 自动化:安装系统、配置各种服务
  • 远程实现:不需要光盘、U盘等安装介质
  • 高效性:PXE技术可以实现同时为多台计算机批量装机,大大提高了工作效率。
  • 便捷性:无需使用光盘或U盘等物理介质,只需通过网络即可实现操作系统的安装。
  • 灵活性:可以根据需要自定义启动文件和安装程序,实现不同版本的操作系统或特定软件的安装。
  • 可扩展性:PXE技术可以与自动化工具(如Ansible、Puppet等)结合使用,实现更高级别的自动化管理。

二、部署 PXE 远程安装服务

搭建PXE 远程安装服务器

准备 CentOS 7 安装源

# 安装 vsftpd
[root@bogon ~]# yum -y install vsftpd
# 在 /var/ftp/ 下创建 centos7
[root@bogon ~]# mkdir /var/ftp/centos7
# 把 /media/cdrom/* 所有东西 复制到 /var/ftp/centos7/
[root@bogon ~]# cp -r /media/cdrom/* /var/ftp/centos7/
# 查看
[root@bogon ~]# ls /var/ftp/centos7/
# 配置好以后启动并设置开机自启动
[root@bogon ~]# systemctl start vsftpd
[root@bogon ~]# systemctl enable vsftpd

安装并启用 TFTP 服务

# 安装 tftp-server 服务
[root@bogon ~]# yum -y install tftp-server
# 安装好以后打开 /etc/xinetd.d/tftp 配置文件
[root@bogon ~]# vi /etc/xinetd.d/tftp 
# 只需要把 disable = yes 修改为 disable = no 即可
    disable            = no
# 启动服务并设置开机自启动
[root@bogon ~]# systemctl start tftp
[root@bogon ~]# systemctl enable tftp

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

# cd 切换到 /media/cdrom/
[root@bogon ~]# cd /media/cdrom/images/pxeboot/
[root@bogon pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz
# 将 initrd.img 和 vmlinuz 复制到 /var/lib/tftpboot/
[root@bogon pxeboot]# cp vmlinuz initrd.img  /var/lib/tftpboot/
# Linux 内核、初始化镜像

准备 PXE 引导程序

# 准备 PXE 引导程序
[root@bogon ~]# yum -y install syslinux
# 把引导程序复制到 /var/lib/tftpboot/
[root@bogon ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

安装并启用 DHCP 服务

# 安装 dhcp 服务
[root@bogon ~]# yum -y install dhcp
# 复制
[root@bogon ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
# 输入 y 覆盖
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
# vi 进入 /etc/dhcp/dhcpd.conf 
[root@bogon ~]# vi /etc/dhcp/dhcpd.conf 
# 在25行下面添加
subnet 192.168.72.0 netmask 255.255.255.0 {
  range 192.168.72.20 192.168.72.30;
  option routers 192.168.72.2;
  next-server 192.168.72.155;               # 指定 TFTP 服务器的地址
  filename "pxelinux.0";                    # 指定 PXE 引导程序的文件名
}
# 修改好配置文件之后 启动服务并设置开机自启动
[root@bogon ~]# systemctl start dhcpd
[root@bogon ~]# systemctl enable dhcpd

配置启动菜单文件

# 在 /var/lib/tftpboot/ 下创建 pxelinux.cfg
[root@bogon ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
# vi 进入 /var/lib/tftpboot/pxelinux.cfg/default
[root@bogon ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
[root@bogon ~]# cat /var/lib/tftpboot/pxelinux.cfg/default
# prompt 用来设置是否等待用户选择;label 用来定义并分隔启动项;kernel 和 append 用来定义引导参数
default auto                        # 指定默认入口名称
prompt 1                            # 1 表示等待用户控制
label auto        # 图形安装(默认)
    kernel vmlinuz
    append initrd=initrd.img method=ftp://192.168.72.155/centos7
label linux text        # 文本安装
    kernel vmlinuz
    append text initrd=initrd.img method=ftp://192.168.72.155/centos7
label linux rescue        # 救援模式
    kernel vmlinuz
    append rescue initrd=initrd.img method=ftp://192.168.72.155/centos7
  • 上述配置记录中定义了三个引导入口,分别为图形安装(默认)、文本安装、救援模式。
  • 其中,prompt 用来设置是否等待用户选择;
  • label 用来定义并分隔启动项;
  • kernel 和 append 用来定义引导参数。
  • 引导入口的个数及内容根据需要自行定义

验证PXE 网络安装

1.创建虚拟机,配置2C4G
在这里插入图片描述

2.打开虚拟网络编辑器按以下操作执行
在这里插入图片描述

3.在提示字串“boot:”后直接按 Enter 键(或执行“auto”命令),将会进入默认的图形安装入口;
若执行“linux text”命令,则进入文本安装入口;若执行“linux rescue”命令,则进入救援模式
在这里插入图片描述

4.直接按 Enter 键确认后将自动通过网络下载安装文件,并进入图形安装程序界面,
若能够成功到达这一步,说明 PXE 网络安装基本成功
在这里插入图片描述

三、实现 Kickstart 无人值守安装

注意:如果是在 VMware 虚拟机环境下,需要禁用 VMware 的 DHCP 功能;否则安装文件将无法加载

准备安装应答文件

配置安装应答参数
1.基本配置及安装方法
在这里插入图片描述
在这里插入图片描述

2.引导装载程序选项
在这里插入图片描述

3.分区信息
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

4.网络配置及防火墙配置
在这里插入图片描述
在这里插入图片描述

5.软件包选择

6.安装脚本
在这里插入图片描述
脚本

echo 'test' > /tmp/test.txt
rm -f /etc/yum.repos.d/*
echo '[kgc]
name=kgc
baseurl=ftp://192.168.72.155/centos7
enabled=1
gpgcheck=0' > /etc/yum.repos.d/kgc.repo

7.保存在这里插入图片描述

实现批量自动装机

启用自动应答文件

# vi 进入应答文件
[root@bogon ~]# vi ks.cfg 
# 在文件最下面添加以下信息
%packages 
@^minimal 
%end
# 复制 ks.cfg 到 /var/ftp/
[root@bogon ~]# cp ks.cfg /var/ftp/
# vi 进入 /var/lib/tftpboot/pxelinux.cfg/default 修改引导文件
[root@bogon ~]# vi /var/lib/tftpboot/pxelinux.cfg/default 
[root@bogon ~]# cat /var/lib/tftpboot/pxelinux.cfg/default 
default auto                        # 指定默认入口名称
prompt 0                            # 0 表示不等待用户控制
label auto                          # 图形安装(默认)
    kernel vmlinuz
    append initrd=initrd.img method=ftp://192.168.72.155/centos7 ks=ftp://192.168.72.155/ks.cfg
    # 镜像 IP  

验证无人值守安装

  • 启用自动应答安装之后,当客户机每次以 PXE 方式引导时,将自动下载 ks.cfg 应答配置文件,然后根据其中的设置安装 CentOS 7 系统,而无须手工干预
    在这里插入图片描述

  • 客户机安装完成以后,检查其 YUM 软件仓库配置,可以发现已经按照“安装后脚本”的设置自动建立了/etc/yum.repos.d/kgc.repo文件

# 查看 /etc/yum.repos.d/kgc.repo 文件
[root@localhost ~]# cat /etc/yum.repos.d/kgc.repo
gpgcheck=0p://192.168.72.155/centos7

四、总结

PXE技术为批量网络装机提供了一种高效、便捷的解决方案。通过合理配置服务器和客户端,我们可以轻松实现多台计算机的批量装机任务。在实际应用中,PXE技术不仅可以提高工作效率,还可以降低运维成本,是IT运维领域不可或缺的一项技术。

  • 28
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值