通过CentOS实现无人值守方式批量安装部署Linux

时间:2022-10-10 01:28:51

通过CentOS实现无人值守方式批量安装部署Linux

摘 要:近年来,随着Linux操作系统的应用越来越广泛,许多高校开始建设基于Linux的实训室。然而,基于传统的操作系统安装方式效率较低。文中将阐述如何构建基于PXE与Kickstart的安装服务器,实现无人值守方式批量部署Linux服务器和工作站,提高管理员的工作效率,减少人力物力成本的支出。

关键词:无人值守;PXE;Kickstart;Linux

中图分类号:TM76

通过传统的方式安装和部署计算机时,都需要通过人工干预的方式完成安装。如果需要部署大量的类似功能的工作站或服务器,则需要耗费大量的时间。同时传统的安装方式,每台计算机都需要光驱设备及安装光盘等介质,会额外增加部署成本。因此,许多系统管理员都希望能够通过一种网络化的无人值守的自动安装方式将操作系统部署到目标计算机中。

1 实现平台的相关服务与工具

1.1 PXE

PXE(Pre-boot Execution Environment)是由Intel设计的协议,计算机可以通过PXE协议从网络引导启动。PXE协议在启动过程分为client和server两端,PXE协议在运行过程中主要解决两个问题:首先解决IP地址的问题,然后解决如何传输操作系统启动文件和安装文件的问题。对于第一个问题,可以通过配置DHCP Server解决,通常情况下DHCP服务器主要用于分配IP地址给客户端。但是在PXE环境下,DHCP服务器需要额外加载PXE的相关配置。针对第二个问题,在启动初期因为PXE client中有相应的TFTP客户端,可以通过TFTP协议到TFTP服务器中下载相关文件启动计算机。后期在安装过程中,则通过FTP或NFS协议提供大量的操作系统安装文件的下载。图1是基于PXE与Kickstart安装Linux操作系统的流程图,可以清楚的了解PXE协议的工作过程。

1.2 Kickstart

通过传统的方式安装和部署计算机时,都会要求通过交互的方式,回答各类问题,以完成安装和部署任务,过程繁琐,且无法实现自动化。于是,很多系统管理员都希望通过自动化的安装方法将操作系统安装到自己的个人的或者企业的计算机中。针对这些安装过程中需要进行交互式回答的问题,Red Hat公司创造了Kickstart的安装方法。通过这种方法,系统管理员可以创建一个文件。通过这个文件,可以解决所有在普通安装方式中,需要回答的问题。

Kickstart的配置文件可以保存在网络中的文件服务器系统中,也可以存放在个人计算机中,只要在安装过程中,安装程序能够读取该文件,都可以顺利将操作系统安装。这种安装方法可以支持使用同一个kickstart配置文件,在多台计算机中安装或部署Fedora与红帽企业版Linux。基于Red Hat的CentOS同样具备这种能力。所以Kickstart安装方式(无人值守)成为许多网络和系统管理员的理想选择。

在CentOS中,通过安装相应的Kickstart配置工具,可以生成定制的ks文件,熟悉相关语法的管理员也可以通过手工编写安装脚本的方式生成ks文件,用于部署相应的计算机。

1.3 CentOS操作系统

CentOS(Community ENTerprise Operating System)基于RHEL(Red Hat Enterprise Linux)源代码的二次编译版本。采用公开源代码的方式分发,致力于提供与上游厂商的二进制代码100%的兼容的发行版本,并且完全免费。通过CentOS同样可以构建企业级Linux系统环境,CentOS的用户主要是一些组织和个人,他们不需要额外的商业支持,能够独立的开展业务。因此高校的Linux实训室,多采用CentOS部署。现行最新的版本为CentOS-6.4,根据需要可以选择i386或x86_64两种架构的版本。

1.4 DHCP

动态主机配置协议(DHCP:Dynamic Host Configuration Protocol),主要用于给DHCP客户端自动分配IP地址,便于用户管理网络内部的计算机。针对PXE环境下,DHCP服务器除分配IP地址外,还需要额外设置“next-server”选项定义TFTP服务器的地址,设置“filename”选项定义启动文件的名称。并且启动“booting”与“bootp”的支持。

1.5 TFTP与FTP

简单文件传输协议(TFTP:Trivial File Transfer Protocol)主要用于为客户机与服务器之间进行简单文件传输的协议。在PXE的早期启动过程,主要通过TFTP协议传输“pxelinux.0”。文件传输协议(FTP:File Transfer Protocol)。FTP是INTERNET中传输文件的主要协议。适用于大量文件传输的情形。在后期的安装过程,主要通过FTP协议传输Linux操作系统的安装包。

2 实现过程

2.1 配置DHCP服务器

在CentOS操作系统中,安装DHCP软件后,导入默认配置文件模板。定义相应的内部子网,在/etc/dhcpd/dhcpd.conf文件的开头部分添加下面的配置选项。

allow booting;

allow bootp;

next-server 192.168.0.254;

filename "pxelinux.0";

2.2 配置TFTP与FTP

采用默认方式安装的CentOS操作系统,没有安装TFTP服务器软件,需要额外安装。从CentOS6.4的ISO光盘中导入“tftp-0.49-7.el6.i686.rpm”软件包安装即可。安装后,修改“/etc/xinetd.d/tftp”配置文件,将“disable”选项设置为“no”,执行“service xinetd restart”重启xinetd服务。在CentOS操作系统中,安装FTP相关软件后,可以不需要修改默认配置选项,启动FTP服务后,即可为安装服务器提供匿名文件下载服务。

2.3 配置PXE

在CentOS-6.4中,tftp服务默认使用/tftpboot为共享目录,因此需要将启动相关的文件拷贝至该目录中并生成相应文件。需要完成下面的步骤:

(1)将“/usr/share/syslinux/pxelinux.0”文件拷贝至/tftpboot目录,为PXE的启动提供“pxelinux.0”文件的下载。

(2)从CentOS-6.4的ISO文件中提取isolinux目录中的所有内容,将其拷贝至/tftpboot目录中,提供PXE启动过程中导入Linux的kernel文件“initrd.img”与“vmlinuz”。

(3)在/tftpboot目录中创建“pxelinux.cfg”目录,并将/tftpboot/isolinux.cfg文件拷贝至其中,重命名为default。后期的安装过程中,可以为用户提供相应的安装选项等信息。

2.4 使用Kickstart配置工具生成ks文件

在终端执行“system-config-kickstart”,启动Kickstart配置工具。如图2所示。在Kickstart配置工具中,可以定制所需的ks文件。在工具主要包括:“Base Configuration”、“Installation Method”、“Boot Loader Options”、“Pre-Installation Script”、“Post-Installation Script”等多个配置部分,用于处理CentOS操作系统在安装过程中所涉及的所有问题。下面简要介绍几个部分的配置选项。

“Basic Configuration”配置页面中,可以定制包括语言、键盘、时区等信息。“Partition Information”配置页面中,主要定制安装Linux时所需的分区信息,包括是否清除MBR记录、是否清除所有硬盘分区、是否初始化磁盘标签等。

“Post-Installation Script”配置页面中,可以编写合适的脚本程序,在系统安装完成后执行额外的配置任务。网络环境通常需要通过IP地址进行访问,避免名称解析问题而导致无法访问。如果脚本程序产生了一个守护进程,标准的做法是应该关闭该程序的标准输出(stdout)和标准错误输出(stderr),否则anaconda程序将会因为等待脚本文件的文件结束符(EOF)而导致整个安装程序被挂起。同时也需要注意的是脚本程序执行的环境,即“chroot Environment”,避免脚本程序导致安装失败。通过上述的配置调整,保存定制后的ks文件,然后将其拷贝至指定的目录即可。

2.5 配置无人值守

通过/tftpboot/pxelinux.cfg/default文件,通过“default”选项设定默认启动的标签,“timeout”选项设定默认等待操作的超时时间。然后该文件的后面定义相应的标签。例如“auto”标签。

label auto

kernel vmlinuz

append initrd=initrd.img ks=ftp://192.168.0.254/pub/my.ks text

3 测试与效果

通过上述的配置,并调整防火墙的相应配置。首先使用VMware工具创建虚拟机进行测试,上述所有配置生效,能正确安装所需的Linux工作站和服务器。后期通过相应的二次定制Kickstart文件,成功部署Linux实训室。

4 结束语

通过上述的配置,搭建安装服务器,通过CentOS操作系统搭建可以实现无人值守的安装服务器,批量部署Linux服务器和工作站,可以提高管理员的工作效率,减少人力物力成本的支出。

参考文献:

[1]黄冠利,金岩,勾传静等.基于PXE技术的动态分布式无盘网络存储安全研究[J].计算机科学,2010,37(9):297-300.

[2]顾梦非,徐炜民.一个基于Linux的集群部署方案[J].计算机应用与软件,2008,25(1):102-104.

[3]CentOS英文站点.

[4]syslinux英文站点.

[5]fedoraproject英文站点.

作者简介:曾德生(1983-),男,福建龙岩人,广东创新科技职业学院计算机与通信系教师,系统分析师、信息系统项目管理师、RHCE(红帽Linux认证工程师),研究方向为Linux系统管理、软件工程;陈孟祥(1982-),男,湖南邵阳人,广东创新科技职业学院计算机与通信系教师,讲师、信息系统项目管理师,研究方向为信息技术应用、软件工程。

作者单位:广东创新科技职业学院,广东东莞 523960

上一篇:电网监测系统主控中心的设计 下一篇:计算机网络信息安全性探析