06 PXE高效批量网络装机

1、部署PXE远程安装服务

在大规模的Linux应用环境中(如Web集群、分布式计算等),服务器往往并不配装备光驱设备。

在这种情况下,传统的USB光驱、移动硬盘等安装方法显然已经难以满足需求。

那么如何为数十台服务器裸机快速安装系统呢?

基于PXE技术的网络装机方法,并结合Kickstart配置实现无人值守就可以解决这个问题。

PXE——预置安装环境

这样的服务器批量部署方法具备以下三个优点:

  • 规模化(可同时装配多台服务器)
  • 自动化(安装系统、配置各种服务)
  • 远程实现(不需要光盘、U盘等安装介质)

注:PXE工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。

补充:要搭建PXE网络体系,必须满足的条件有:

  • 客户机的网卡支持PXE协议,且主板支持网络引导;(硬件要求)
  • 网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件的位置;
  • 服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载

在上述条件中,第一个条件是硬件要求,目前绝大多数服务器和大多数PC都能提供此支持,

只需要在BIOS设置中允许从Network或LAN启动即可。

补充: 要想实现PXE远程装机,需要的环境有:

  • iso系统镜像(所需的操作系统——里面有系统的一些数据文件,包括常见的软件包等)
  • FTP

系统镜像放在PXE服务器的FTP里面,即把iso操作系统文件放在FTP相应的目录下,这样一来,远程的服务器就可以找到PXE里面的远程的系统文件了。

利用FTP去下载保存到PXE服务器上得操作系统得各种文件。

  • pxe服务器上的DHCP服务。当一个服务器还没有操作系统的时候,这个服务器是没有IP地址的,

注:那没有IP地址怎么去FTP里面找东西呢?

这里DHCP的作用是,在服务器还没有操作系统的时候,就直接给服务器的网卡分配一个IP地址。

上面这个过程走了一个协议(rarp协议——反向地址解析)

正常的地址解析是:通过IP地址获取你的MAC地址,

反向地址解析是:已知MAC地址(广播的方式),来获取IP地址。

  • TFTP(简单文件传输协议),它的工作机制比FTP要更精简,它不需要繁杂的配置,只需要把它安装出来就可以使用

注:TFTP里面要放置的文件有:

内核文件、初始化镜像文件、引导程序、与引导有关的配置文件

所以说,远程的客户端启动的时候要先利用DHCP获取到对应得IP地址,然后就可以去找TFTP把初始化镜像文件、内核文件拿到手,再借助引导程序和引导配置文件去启动安装的进程。只要启动起来了,就可以正常地安装你的操纵系统了。

1.1 搭建PXE远程安装服务器

(1)准备Centos7安装源

Centos7的网络安装源通过HTTP、FTP、NFS协议发布。

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

(2)安装并启用TFTP服务

TFTP服务是由tftp-sever软件包提供的,配置文件位于/etc/xinetd.d/tftp。

配置的时候只需要将disable=yes改为disable=no,然后启动TFTP服务即可。如下图:

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

用于PXE网络安装的Linux内核、初始化镜像文件可以从Centos7系统光盘获得,分别为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(用来指定TFTP服务器的地址)和filename(PXE引导程序的文件名)这两行记录。

(6)配置启动菜单文件

启动菜单文件用来指导客户机的引导过程,包括如何调用内核、如何加载初始化镜像。

注:默认的启动菜单文件为default,放置在tftp根目录的pxelinux.cfg子目录下。可以参考下图手动建立启动菜单:

上述配置记录中,定义了三个引导入口,分别为图形安装(默认)、文本安装、救援模式。

其中,prompt用来设置是否等待用户选择。

label——用来定义并分隔启动项 kernel和append用来定义引导参数

注:引导入口的个数及内容根据需要自行定义。例如,实现无人值守时,只需要一个入口就够了。

1.2、验证PXE网络安装

搭建好PXE远程安装服务器之后,就可以用客户机进行安装测试了。

如果服务器配置正确,网络连接、PXE支持等都没有问题,则客户机重启后将自动配置IP地址,

然后从TFTP服务器中获取引导程序pxelinux0,并根据引导菜单配置提示用户指定启动入口。如下图:

注:如果在提示字串boot:后直接按Enter键,将会进入默认的图形安装入口;

若执行linux text命令,则进入文本安装入口;

若执行linux rescue命令,则进入救援模式。

2、实现Kickstart无人值守安装

2.1 准备安装应答文件

在Centos7系统中安装system-config-kickstart工具之后,即可通过图形化向导工具来配置安装应答文件。

2.2 配置安装应答参数

通过桌面菜单应用程序”→“系统工具”→“Kickstart”即可打开“Kickstart 配置程序”窗口。

在配置窗口中,可以根据需要针对基本配置、安装方法、引导装载程序选项、分区信

息、网络配置等各种安装设置进行指定,如下图:

2.3 保存自动应答文件

选择“Kickstart 配置程序”窗口的“文件”→“保存”命令,指定目标文件夹、文件名,将配

置好的应答参数保存为文本文件,如/root/ks.cfg。

以后若要修改此应答配置,可以在

“Kickstart 配置程序”窗口中打开进行调整,或者直接用 VI 等文本编辑工具进行修改。

3、实现批量自动装机

有了自动安装的应答文件之后,只要将其放置 PXE 安装服务器的 FTP 目录下,并适当

修改引导菜单,就可以实现基于网络的批量自动装机了。

3.1 启动自动应答文件

在 PXE 远程安装服务器中,将上面建立的应答文件复制到/var/ftp/centos7 目录下,

使客户机能够通过 ftp://192.168.4.254/centos7/ks.cfg 访问;然后编辑引导菜单文件 default,

添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径。

3.2 验证无人值守安装

启用自动应答安装之后,当客户机每次以 PXE 方式引导时,将自动下载 ks.cfg 应答配

置文件,然后根据其中的设置安装 CentOS 7 系统,而无须手工干预,这样就可以同时为多台客户机安装系统了。如下图所示:

  • 58
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值