“批量高效”熟知的PXE远程安装服务

Posted bushilengmo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“批量高效”熟知的PXE远程安装服务相关的知识,希望对你有一定的参考价值。

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

     在大规模的的linux应用环境中,服务器不具备光驱设备的情况下,那怎么给几十上百台服务器裸机快速安装系统呢?这边的话就需要用到PXE远程安装服务。

如何搭建PXE远程安装服务器?

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

规划:
一台Linux系统搭建服务   ip:20.0.0.30

一台Linux系统做PXE测试   DHCP获取

软件版本:Centos 7.6 

1.准备Centos7安装源

 采用FTP协议发布安装源,可以在服务器上部署一个yum软件仓库

[root@localhost ~]# mkdir -p /var/ftp/centos7
[root@localhost ~]# mount /dev/cdrom /mnt 
[root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7
[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd

【架设ftp一定要关闭防火墙和核心防护----systemctl stop firewalld #systemctl disable firewalld 】

2.安装并启用TFTP服务

TFTP 服务由 tftp-server 软件包提供,配置文件位于/etc/xinetd.d/tftp。配置时只
要将“disable = yes”改为“disable = no”,然后启动 TFTP 服务即可。

[root@localhost ~]# yum -y install tftp-server
[root@localhost ~]# vi /etc/xinetd.d/tftp
service tftp
{
####省略部分信息
protocol = udp                   ###TFTP 采用 UDP 传输协议
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot            ###指定 TFTP 根目录
disable = no 
####省略部分信息
}

[root@localhost ~]# systemctl start tftp    ###开启TFTP服务
[root@localhost ~]# systemctl enable tftp

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

用于 PXE 网络安装的 Linux 内核、初始化镜像文件可以从 CentOS 7 系统光盘获得,分别为 vmlinuz 和 initrd.img,位于文件夹 images/pxeboot 下。找到这两个文件并将其复制到 tftp 服务的根目录下。

[root@localhost ~]# cd /mnt/images/pxeboot/                   ####切换到挂载目录/mntimages/pxeboot/

[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/             ###两个文件并将其复制到 tftp 服务的根目录下

4.准备 PXE 引导程序

用于 PXE 网络安装的引导程序为 pxelinux.0,由软件包 syslinux 提供。安装好软件包syslinux,然后将文件 pxelinux.0 也复制到 tftp 服务的根目录下。

[root@localhost ~]# yum -y install syslinux
[root@localhost pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

5.安装并启用 DHCP 服务
由于 PXE 客户机通常是尚未装系统的裸机,因此为了与服务器取得联系并正确下载相关
引导文件,需要预先配置好 DHCP 服务来自动分配地址并告知引导文件位置。

[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf

[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl enable dhcpd

6.配置启动菜单文件

启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载初始化镜像。默认的启动菜单文件为 default,应放置在 tftp 根目录的 pxelinux.cfg 子目录下,典型的启动菜单配置可参考以下操作手动建立。

[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto        ###指定默认入口名称

prompt 1           ###1 表示等待用户控制

label auto

kernel vmlinuz

append initrd=initrd.img method=ftp://20.0.0.30/centos7
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://20.0.0.30/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://20.0.0.30/centos7

7.验证 PXE 网络安装

搭建好 PXE 远程安装服务器以后,就可以使用客户机进行安装测试了,修改Bios 设置,将“Boot First”设为“NETWORK”

技术图片

以上是关于“批量高效”熟知的PXE远程安装服务的主要内容,如果未能解决你的问题,请参考以下文章

PXE远程安装及kickstart无人值守安装

部署PXE远程安装服务(Centos 7系统)

部署PXE远程安装服务和Kickstart无人值守安装

在Linux上部署PXE远程安装服务

部署PXE远程安装服务

部署PXE远程安装服务