乐趣区

关于运维:运维进阶如何一次性大批量实现服务器装机

近期在客户现场部署环境时遇到了一个问题,客户有较多的服务器没有装置零碎,如果采纳传统的光驱部署装置的形式太过繁琐耗时,因而就采纳了 PXE 环境下 kickstart 批量装机的形式进行。通过 PXE 环境下 kickstart 批量装机的形式,在 1 小时之内部署了超过 30 台服务器零碎,相比于原先的光驱装置节俭了靠近 2 个小时,大大晋升了零碎部署效率。上面我将从相干常识的遍及、效率比照和装置教学三个方面分享如何实现 PXE 环境下 kickstart 批量装机。

上面,enjoy:

一、相干常识的梳理

1. 批量装机软件介绍:

操作系统批量装机所采纳的装置形式次要有两种:kickstart 和 Cobbler

kickstart 是一种无人值守的装置形式。它的工作原理是在装置过程中记录人工干预填写的各种参数,并生成一个名为 ks.cfg 的文件。如果在主动装置过程中呈现要填写参数的状况,安装程序首先会去查找 ks.cfg 文件,如果找到适合的参数,就采纳所找到的参数;如果没有找到适合的参数,便会弹出对话框让安装者手工填写。所以,如果 ks.cfg 文件涵盖了装置过程中所有须要填写的参数,那么安装者齐全能够只通知安装程序从何处下载 ks.cfg 文件。等装置结束,安装程序会依据 ks.cfg 中的设置重启 / 关闭系统,并完结装置。本次批量装置就采取的这种形式。

Cobbler 集中和简化了通过网络装置操作系统须要应用到的 DHCP、TFTP 和 DNS 服务的配置。Cobbler 不仅有一个命令行界面,还提供了一个 Web 界面,大大降低了使用者的入门程度。Cobbler 内置了一个轻量级配置管理系统,但它也反对和其它配置管理系统集成。在这里就不进行具体介绍。

2. PXE 介绍:

PXE(preboot execute environment,预启动执行环境)是 Intel 公司提出的一项通过网络来疏导零碎的规范。

PXE 最间接的体现是,在网络环境下工作站能够省去硬盘,但又不是通常所说的无盘站的概念,因为应用该技术的 PC 在网络形式下的运行速度要比有盘 PC 快 3 倍以上。当然应用 PXE 的 PC 也不是传统意义上的 TERMINAL 终端,因为应用了 PXE 的 PC 并不耗费服务器的 CPU,RAM 等资源,故服务器的硬件要求极低。

3.kickstart 与 PXE 的关系:

kickstart 实现形式依赖于 PXE 环境。通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已装置的操作系统。

PXE 客户端会调用网际协议 (IP)、用户数据报协定(UDP)、动静主机设定协定(DHCP)、小型文件传输协定(TFTP) 等网络协议;PXE 客户端 (client) 这个术语是指机器在 PXE 启动过程中的角色。一个 PXE 客户端能够是一台服务器、笔记本电脑或者其余装有 PXE 启动代码的机器(咱们电脑的网卡)。

4.PXE 的必备条件

(1)pxe client 必须反对 pxe 用户端性能,并且开机时选择网络启动,能力确保以网络的形式进入 pxe 启动程序;

(2)pxe 服务器必须至多提供 DHCP、TFTP、HTTPD(vsftpd 或 nfs)的服务,且还需满足如下要求:

  • DHCP 服务器除了必须满足为 pxe client 调配 ip 地址之外,还需告知 tftp 所在的地位(即通知 pxelinux.0 的文件地位)
  • TFTP 服务器则为 pxe client 提供 bootloader 及 kernel 等重要文件下载服务
  • 应用 HTTPD 服务器提供 pxe client 所需程序及软件起源(共享源)

二、批量装机与传统装机效率比照

PXE 网络批量部署的耗时次要由两局部组成:双倍的零碎装置时长和 PXE 环境部署工夫。这两局部工夫都较为固定。

而传统光驱部署的决定性因素较多,例如 光驱数量,部署人员数量及其他不确定变量等

通过理论测试,在需部署 30+ 台服务器零碎的前提下,装备 2 位运维人员和 2 个光驱,PXE 网络 kickstart 部署要比传统部署形式节俭了 300% 的安装时间。

因而相比于传统光驱部署,PXE 对于装置人员、硬件、工夫的要求更低,同时灵活性更高。尤其是如果须要大批量进行服务器零碎装置时,PXE 环境下 kickstart 装置形式更是可能无效晋升装置效率,节俭安装时间。

三、装置教学

第一步,就是要筹备好网络部署依赖的服务包

  1. 依赖服务

DHCP、TFTP、syslinux、http(vsftpd 或 nfs)

第二步,装置各个依赖服务,确定好服务装置依赖关系。

  1. 依赖 RPM 包

  1. 装置 DHCP 服务

服务器个别预装置 common、lib 两个服务程序:

yum 源装置:yum install -y dhcp

rpm 包装置(有依赖程序):

若已装置,common、lib 则能够间接装置 dhcp 服务:rpm -ivh dhcp-4.2.5-82.el7.centos.x86_64.rpm

  1. 装置 TFTP 服务

yum 源装置:yum install -y tftp

rpm 包装置:

rpm -ivh tftp-server-5.2-22.el7.x86_64.rpm

  1. 装置 syslinux

yum 源装置:yum install -y syslinux

rpm 包装置:

rpm -ivh syslinux-4.05-15.el7.x86_64.rpm

  1. 装置 http 服务

yum 源装置:yum install -y httpd

rpm 包装置(有依赖程序):

rpm -ivh mailcap-2.1.41-2.el7.noarch.rpm

rpm -ivh httpd-tools-2.4.6-97.el7.centos.x86_64.rpm

rpm -ivh httpd-2.4.6-97.el7.centos.x86_64.rpm

以上:PXE 装置依赖服务已配置实现

后续:配置服务,实现无人值守装置

第三步,配置关联服务,DHCP、TFTP、syslinux、http。

  1. DHCP 服务配置

(1)批改配置文件
a) vim /etc/dhcp/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.140 192.168.0.162;
option subnet-mask 255.255.255.0;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.0.175;
filename “/pxelinux.0”;
}

subnet:配置子网

netmask:配置子网掩码

range:配置 dhcp 地址池

option subnet-mask:配置地址池子网掩码

default-lease-time:默认地址租期

max-lease-time:最大地址租期

next-server:提供引导文件服务器 ip(http、vsftpd、nfs)

filename:基于网卡疏导需加载的 initial boot file 的文件名

(2)启动服务

systemctl start dhcpd

  1. TFTP 服务配置

启动服务:systemctl start tftp

tftp 根目录:

(1)查看配置文件

vim /etc/xinetd.d/tftp

(2)查看根目录:/var/lib/tftpboot

  1. syslinux 服务配置

服务作用:获取 pxelinux.0 文件,用于主动疏导网络装置。

预引导文件

文件门路:/usr/share/syslinux/pxelinux.0

拷贝 pxelinux.0 至 tftp 服务根目录 /var/lib/tftpboot;通过 tftp 协定疏导加载 pxelinux.0;

cp -a /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

  1. http 服务配置

启动 http 服务,无需配置,仅实用默认目录:/var/www/html

systemctl start httpd

  1. 零碎安装盘 ISO 文件配置(此处基于 http,挂载 ISO,提供镜像网络拜访下载)

(1)拷贝光驱 ISO 文件值零碎本地

(2)进入目录:/var/www/html;

(3)创立目录:‘’,可随便定义,本文创立为‘centos7.6’

(4)挂载 ISO 镜像:

mount CentOS-7-x86_64-Everything-1708.iso /var/www/html/centos7.6

  1. 网络疏导配置内核加载模块:vmlinuz、initrd.img 等;

拷贝 ISO 文件相干内容值 tftp 根目录

cp -a /var/www/html/centos7.6/isolinux/* /var/lib/tftpboot/

  1. 零碎装置,配置客户机 PXE 默认疏导映像配置文件:default

(1)进入 tftp 根目录,创立目录:pxelinux.cfg

cd /var/lib/tftpboot;

mkdir pxelinux.cfg

(2)拷贝 ISO 引导文件至下级创立目录

cp -a /var/www/html/centos7.6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

cp -a /root/ anaconda-ks.cfg

  1. 零碎装置,配置指定客户机 PXE 疏导映像配置文件:mac

在 pxelinux.cfg 目录下创立以客户机 mac 地址命名的 ISO 安装文件

cp -a /var/www/html/centos7.6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/01-88-99-aa-bb-cc-dd

  1. 获取零碎装置树 ks 文件:anaconda-ks.cfg

linux 装置实现后,会在 root 目录主动生成该文件

  1. 配置无人值守安装文件:anaconda-ks.cfg

http 配置目录,创立目录:ks_config

mkdir /var/www/html/ks_config

拷贝装置树文件:cp /root/anaconda-ks.cfg /var/www/html/ks_config

  1. 批改 PXE 疏导映像, 指定为 ks 主动装置树文件

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

或 vim /var/lib/tftpboot/pxelinux.cfg/mac

指定引导文件装置树配置:

参数设置:ks=http:// 或 inst.ks=http://

不能应用原默认参数名:method,会疏导失败,找不到 ISO 镜像文件

要实现 ks 自动化装置,须要指定 http 门路为 ks 文件所在门路:

ks=http://ip/ks_config/anaconda-ks.cfg

留神:如上文所述,须要不同客户机装置不同零碎,能够生成多个 ks 文件,指定不同文件名并加以批改即可,/var/www/html/ks_config/*.cfg;也须要指定生成对应客户机的 PXE 疏导映像文件,/var/lib/tftpboot/pxelinux.cfg/mac;

  1. ks 文件展现

红框处肯定要指定正确的网络协议,疏导 ISO 映像

  1. 部署装置

给客户机通电启动,就会自动化部署装置了

END

PS:更多实际干货欢送关注微信公众号“录信数软”~

退出移动版