如何快速批量装机,PXE环境下kickstart批量装机教学

近期在客户现场部署环境时遇到了一个问题,客户有较多的服务器没有安装系统,如果采用传统的光驱部署安装的方式太过繁琐耗时,因此就采用了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)


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

2. 依赖RPM包

3. 安装DHCP服务

服务器一般预安装common、lib两个服务程序:

yum源安装:yum install -y dhcp

rpm包安装(有依赖顺序):

若已安装,common、lib则可以直接安装dhcp服务:rpm -ivh dhcp-4.2.5-82.el7.centos.x86_64.rpm


4. 安装TFTP服务

yum源安装:yum install -y tftp

rpm包安装:

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


5. 安装syslinux

yum源安装:yum install -y syslinux

rpm包安装:

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


6. 安装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。

7. 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


8. TFTP服务配置

启动服务:systemctl start tftp

tftp根目录:

(1) 查看配置文件

vim /etc/xinetd.d/tftp

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


9. 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


10. http服务配置

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

systemctl start httpd


11. 系统安装盘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


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

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

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


13. 系统安装,配置客户机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


14. 系统安装,配置指定客户机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


15. 获取系统安装树ks文件:anaconda-ks.cfg

linux安装完成后,会在root目录自动生成该文件


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

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

mkdir /var/www/html/ks_config

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


17. 修改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;


18. ks文件展示

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


19. 部署安装

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

END

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容