PXE高效批量网络装机

一、PXE 原理和概念

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

PXE 严格来说并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器 和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议(端口69)到 TFTP Server 上下载所需的文件。

1.PXE批量部署的优点
1、规模化:同时装配多台服务器

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

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

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

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

3、服务器要通过TFTP服务(简单文件传输协议)来提供引导镜像文件的下载。

3.PXE服务的构建过程
1.PXE客户机发出DHCP请求,向DHCP服务器申请IP地址

2.DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftpboot/下

3.PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。

4.TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机。

5.PXE客户机通过网络来启动到系统安装主界面。

6.PXE客户机向文件共享服务器(ftp、http、nfs等)发起获取centos或windows系统安装文件的请求。

7.文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机。

8.PXE客户机进入到安装提示向导界面,用户需要手动来完成系统安装的操作
在这里插入图片描述

二、KickStart 概述

KickStart 是一种无人职守安装方式。KickStart 的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为 ks.cfg 的文件;在其后的安装过程中(不只局限于生成 KickStart 安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找 KickStart 生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果 KickStart 文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取 ks.cfg 文件,然后去忙自己的事情。等安装完毕,安装程序会根据 ks.cfg 中设置的重启选项来重启系统,并结束安装。

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

环境准备:
一台作为pxe服务器,一台作为裸金属客户机,绑定同一块网卡,裸金属客户机vmnet1网卡取消勾选dhcp配置
关闭selinux和防火墙,

1.添加一块新网卡
在这里插入图片描述
2.查看vmware1的网段,取消本地dhcp,查看新网卡名称为ens36
在这里插入图片描述
在这里插入图片描述
3.复制网卡并编辑,然后重启网卡
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.安装并启用 DHCP 服务

yum -y install dhcp                                 #安装dhcp软件包
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
                                                    #将dhcp配置模板复制到dhcp配置文件中
vim /etc/dhcp/dhcpd.conf                            #修改DHCP服务的配置文件

ddns-update-style none;                             #禁用 DNS 动态更新
subnet 192.168.100.0 netmask 255.255.255.0 {        #声明要分配的网段地址
	range 192.168.100.40 192.168.100.80;            #设置地址池
	option routers 192.168.100.10;                  #默认网关地址指向TFTP服务器的IP地址
	next-server 192.168.100.10;                     #指定 TFTP 服务器的地址
	filename "pxelinux.0";                          #指定要下载的 PXE 引导程序的文件
}
 
systemctl start dhcpd                               #开启dhcp服务 
systemctl enable dhcpd                              #开启dhcp服务开机自启

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.安装并启动TFTP服务(将引导程序传输给PXE客户机)

yum -y install tftp-server xinetd #安装并启用 TFTP 服务

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

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

systemctl start tftp              #开启ftp服务
systemctl enable tftp             #开启ftp服务开机自启
systemctl start xinetd            #开启xinetd服务
systemctl enable xinetd           #开启xinetd服务开机自启

在这里插入图片描述

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

用于 PXE 网络安装的 Linux 内核、驱动文件可以从 CentOS 7 系统光盘获得, 分别为 vmlinuz 和 initrd.img,位于光盘目录 images/pxeboot 下。找到这两个文件并将其复制到 tftp 服务的根目录下
在这里插入图片描述

5.准备 PXE 引导程序

yum provides */pxelinux.0      #用于搜寻能提供pxelinux.0的软件包

在这里插入图片描述

yum -y install syslinux
rpm -ql syslinux | grep pxelinux   #查找pxe引导程序的位置
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/   #拷贝到tftp的根目录下(共享给客户端的目录),系统引导文件

在这里插入图片描述
在这里插入图片描述
6.配置启动菜单文件
启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载驱动。默认的启动菜单文件为 default,应放置在 tftp 根目录的 pxelinux.cfg 子目录下,典型的启动菜单配置可参考以下操作自动或手动建立。

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

在这里插入图片描述

default auto              #指定默认入口名称
prompt 1                #设置开机界面是否等待用户选择,“1”表示等待用户控制 “0表示自动”
 
label auto                #图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz              #kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.100.10/centos7
 
label linux text            #文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.100.10/centos7
 
label linux rescue            #救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.100.10/centos7

在这里插入图片描述
7.安装VSFTPD服务,(将 CentOS7 安装源传输进客户机)

yum -y install vsftpd               #安装vsftpd服务
mkdir /var/ftp/centos7              #在ftp根目录下创建目录centos7
cp -rf /mnt/* /var/ftp/centos7/     #将镜像文件强制复制到centos7目录中,可加&让它自己后台运行
systemctl start vsftpd              #开启vsftpd服务
systemctl enable vsftpd             #开启vsftpd服务开机自启

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

三、实现Kickstart无人值守安装(使用桌面环境)

1.准备安装应答文件
在这里插入图片描述
安装好后会出现Kickstart软件
在这里插入图片描述
2.开始进行配置(密码必须要设)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置yum源为本地ftp服务器
在这里插入图片描述
在这里插入图片描述
保存在var/ftp,文件名不能改
在这里插入图片描述
3.配置文件可以根据需求修改
在这里插入图片描述
在这里插入图片描述
4.编辑引导菜单文件 default,添加 ks 引导参数

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

在这里插入图片描述

5.自动安装配置完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值