效率太高! 批量装机用哪个? PXE高效批量网络装机

一.PXE概述

① PXE (Preboot eXcution Environment)

• 预启动执行环境,在操作系统之前运行

• 由Intel公司开发的网络引导技术,工作在Client/Server模式, 允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统

② PXE批量部署的优点

• 规模化:同时装配多台服务器

• 自动化:安装系统、配置各种服务

• 远程实现:不需要光盘、U盘等安装介质

在这里插入图片描述

③ 服务端

• 运行DHCP服务,用来分配地址、定位引|导程序

• 运行TFTP服务,提供引导程序下载

④ 客户端

• 网卡支持PXE协议

• 主板支持网络引导

二.部署PXE远程安装服务

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

客户端:

• 客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从Network或LAN启动即可

服务端:

• 网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置

• 服务器要通过TFTP服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载

搭建PXE远程安装服务器

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

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

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

1.安装并启用TFTP服务


yum -y install tftp-server xinetd

#修改TFTP服务的配置文件
vim /etc/xinetd.d/tftp

protocol       = udp         #TFTP默认使用UDP协议
wait           = no          #no表示客户机可以多台一起连接,yes表示客户机只能一-台一-台连接
server_args    = -s /var/lib/tftpboot  #指定TFTP根目录(引导文件的存储路径)
disable        = no          #no表示开启TFTP服务

systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable 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

ddns-update-style none;        #禁用DNS动态更新
next-server 192.168.116.80;     #指定TFTP服务器的地址
filename "pxelinux.0";          #指定要下载的PXE引导程序的文件

subnet 192.168.116.0 netmask 255.255.255.0 {          #声明要分配的网段地址
   range 192.168.116.120 192.168.116.220;               #设置地址池
   option routers 192.168.116.80;                               #默认网关地址指向TFTP服务器的IP地址
}


systemctl start dhcpd
systemctl enable dhcpd

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

mount /dev/sr0 /mnt

cd /mnt/images/pxeboot
cp vmlinuz /var/1ib/tftpboot/    #复制Linux系统的内核文件到TFTP根目录下
cp initrd.img /var/lib/tftpboot/  #复制初始化镜像文件(linux引 导加载模块)到TFTP根目录下

4.准备 PXE 引导程序

yum -y install syslinux   #PXE引导程序由软件包syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  #复制PXE引导程序到TFTP根目 录下

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

yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/


systemctl start vsftpd
systemctl enable Vsftpd

6.配置启动菜单文件

默认的启动菜单文件在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            #kernel和append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.116.80/centos7

label linux text          #文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.116.80/centos7

label linux rescue       #救援模式引导入口
kernel vml inuz
append rescue initrd=initrd.img method=ftp://192.168.116.80/centos7

7.关闭防火墙,验证PXE网络安装

systemctl stop firewalld. service
setenforce 0

三.实现Kickstart 无人值守安装

1)准备安装应答文件

① 安装system-config-kickstart 工具

yum install -y system-config- kickstart

② 打开“Kickstart 配置程序"窗口

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

• 执行"system-config-kickstart” 命令打开

③ 配置kickstart选项

✔ 基本配置:

• 默认语言设为“中文( 简体)”
• 时区设为“Asia/ Shanghai"
• 设置root密码
• 高级配置中勾选“安装后重启”

✔ 安装方法:

选FTP
FTP服务器: ftp:/ /192.168.116.80
FTP目录: centos7

✔ 引导装戟程序选项:

“安装类型”: 安装新引导装载程序
“安装选项”: 在主引导记录(MBR) 中安装引导装载程序

✔ 分区信息:

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

✔ 网络配置:

添加网络设备"ens33”
网络类型设为"DHCP”

✔ 防火墙配置:

禁用 SELinux、 禁用防火墙

✔ 安装后脚本:

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

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

④ 保存自动应答文件

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

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

⑤ 配置需要安装的软件包

可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到ks.cfg文件中, 只需要复制&packages到&end部分即可

如要求最小化安装,可复制下面内容:

vim ks.cfg
%packages
@^minimal
%end

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

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

default auto
prompt 0             #设置是否等待用户选择,“0”表示不等 待用户控制

label auto
kernel vmlinuz       #kernel和append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.116.80/centos7 ks=ftp://192.168.116.80/ks.cfg
#添加ks引导参数以指定ks.cfg 应答文件的URL路径
2).验证无人值守安装

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

cat /etc/yum.repos.d/ local.repo
举例(全部流程)

1.安装并启用TFTP服务

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
2.安装并启用 DHCP 服务

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.准备Linux内核、初始化镜像文件

在这里插入图片描述
4.准备 PXE 引导程序

在这里插入图片描述
在这里插入图片描述
5.安装FTP服务,准备CentOS 7安装源

在这里插入图片描述
在这里插入图片描述
6.配置启动菜单文件

在这里插入图片描述

在这里插入图片描述
7.关闭防火墙,验证PXE网络安装

在这里插入图片描述

做到这里,就可以安装了,只不过不是完全全自动模式

实现Kickstart 无人值守安装

准备安装应答文件

① 安装system-config-kickstart 工具

在这里插入图片描述
② 打开“Kickstart 配置程序"窗口

在这里插入图片描述
③ 配置kickstart选项

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
④ 保存自动应答文件

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

⑤ 配置需要安装的软件包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里复制的是图形化安装,想要最小化安装直接到ks.cfg文件中,如下:

在这里插入图片描述

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

在这里插入图片描述

2.验证无人值守安装

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

在这里插入图片描述
至此,PXE批量装机整个流程已经完美落幕

总结

1.安装PXE需要 3个服务 :TFTP、DHCP、FTP

2.修改TFTP和DHCP的配置文件

3.准备2个文件,1个程序:

Linux内核 vmlinuz 和 初始化镜像文件 initrd.img

PXE 引导程序
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

4.配置启动菜单文件

mkdir /var/lib/tftpboot/pxelinux.cfg

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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

W.scaler

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值