超大批量怎么办?无人值守自动安装(PXE结合 Kickstart )实现配置!!

【Linux词典】之PXE+Kickstart



前言

PXE(Preboot eXecution Environment,预启动执行环境)技术的网络装机方法,并结合 Kickstart 配置实现无人值守自动安装。


一、PXE 原理和概念

1.1 PXE概念

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

  • PXE服务具备的优点:
    规模化:同时装配多台服务器,无需每一台单独安装操作系统;
    自动化:实现服务器的自动安装及自动配置各种服务;
    远程实现:不需要光盘、U盘等安装介质,方便快捷的同时又可以保障服务器安全。

  • 搭建PXE网络体系,必须要满足一下几个前提条件:
    客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导;
    网络中有一台DHCP服务器以便于为客户机自动分配IP地址、指定引导文件位置;
    服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载。

在这里插入图片描述

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 协议到 TFTP Server 上下载所需的文件。

1.2 PXE服务器和客户机的工作过程

在这里插入图片描述

  • PXE客户机发出DHCP请求,向DHCP服务器申请IP地址。
  • DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftpboot/
  • PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。
  • TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机。
  • PXE客户机通过网络来启动到系统安装主界面。
  • PXE客户机向文件共享服务器(ftp、http、nfs等)发起获取centos或windows系统安装文件的请求。
  • 文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机。
  • PXE客户机进入到安装提示向导界面,用户需要手动来完成系统安装的操作

二、Kickstart概述

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

三、PXE远程安装服务搭建

操作前相关介绍:

 - PXE远程安装服务器集成了CentOS 7安装源、TFTP服务、DHCP服务、FTP服务,能够向客户机裸机发送
   PXE引导程序、Linux内核、启动菜单等数据,以及提供安装文件;
 - TFTP(简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协
   议,适合于小文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP端口69;
 - xineta是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。

第一步:安装启用DHCP服务

1)检查yum本地源是否配置正确和是否已经挂载。
请添加图片描述
2)使用yum安装dhcp服务,从/usr/share/doc/dhcp-4.2.5/目录中复制dhcpd.conf.example配置文件到 /etc/dhcp/中,并修改名称为dhcpd.confdhcp覆盖原文件。
请添加图片描述
请添加图片描述
2)修改dhcpd.conf配置文件
请添加图片描述
3)将dhcp服务开启并设为开机自启
请添加图片描述
注:可以先安装pxelinux.0

第二步:安装并启用TFTP服务

1)使用yum安装tftp-server 和 xinetd程序

[root@192 ~]# yum install -y tftp-server xinetd

请添加图片描述
请添加图片描述
2)修改TFTP服务的配置文件
请添加图片描述
3)将tftp和xinetd服务开启并设为开机自启
请添加图片描述
第三步:准备Linux内核、初始化镜像文件
请添加图片描述
第四步:准备PXE引到程序

[root@192 ~]# yum install -y syslinux

请添加图片描述
请添加图片描述
第五步:安装FTP服务,准备CentOS 7安装源
请添加图片描述
请添加图片描述

第六步:安装kickstart实现无人值守

1)服务端安装并设置Kickstart配置程序

[root@192 ~]# yum install -y system-config-kickstart

请添加图片描述
将文件ks.cfg保存到/var/ftp

2)客户端查看并修改文件
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
第七步:配置启动菜单文件请添加图片描述
请添加图片描述
三段每段最后一行后加上ks=ftp://192.168.32.32/ks.cfg

第八步:关闭防火墙和安全防护,验证PXE网络安装

1)关闭防火墙和安全防护
请添加图片描述
请添加图片描述
3)自动装机成功,因为安装了Kicstart无人值守,不需要我们手动操作。
请添加图片描述


总结

上面介绍了通过PXE技术远程安装CentOS 7 系统的方法,安装介质不再受限于光盘、移动硬盘等设备,大大提高了系统安装的灵活性,然而安装期间人需要手动选择语言、键盘类型、指定安装源等一系列交互操作,当需要批量安装时非常不方便,这里我将介绍通过Kickstart工具配置安装应答文件,自动完成安装过程中的各种设置,从而无须手动干预,提高网络装机效率,同时也可以在应答文件中通过添加%post脚本,完成安装后的各种配置操作(这里我举例添加脚本自动挂载光盘)。

猜你喜欢

转载自blog.csdn.net/weixin_55609819/article/details/120143991