Linux新手随手笔记3.0-使用PXE+Kickstart无人值守安装服务

无人值守系统

使用光盘镜像来安装Linux系统的方法,坦白讲,该方法适用于只安装少量Linux系统的情况。如果生产环境中有数百台服务器都需要安装系统,这种方式就不合时宜了。这时,我们就需要使用PXE + TFTP +FTP + DHCP + Kickstart服务搭建出一个无人值守安装系统。这种无人值守安装系统可以自动地为数十台服务器安装系统,这一方面将运维人员从重复性的工作中解救出来,也大大提升了系统安装的效率

由于配置这个无人值守安装服务需要用到很多以前学到的东西,我们需要先快速配置一下。

部署相关服务程序

                                无人值守系统与客户端的设置

主机名称 操作系统 IP地址
无人值守系统 RHEL 7 192.168.10.10
客户端 未安装操作系统 -

首先配置DHCP服务程

DHCP服务程序用于为客户端主机分配可用的IP地址,而且这是服务器与客户端主机进行文件传输的基础,因此我们先行配置DHCP服务程序。首先按照表19-1为无人值守系统设置IP地址,然后按照图在虚拟机的虚拟网络编辑器中关闭自身的DHCP服务

然后我们安装DHCP服务程序。

扫描二维码关注公众号,回复: 6257679 查看本文章

别以为我-y写错地方了,这里也可以的,一样的。

然后配置我们DHCP主配置文件。

我们这里和前面说到的配置没有太大区别,就是开始allow允许了booting和bootp。开机的时候安装系统的一个协议。然后ddns-最后的interim是我们设置成内部,可以设置成none.因为不生效。

允许了BOOTP引导程序协议,旨在让局域网内暂时没有操作系统的主机也能获取静态IP地址;在配置文件的最下面加载了引导驱动文件pxelinux.0(这个文件会在下面的步骤中创建),其目的是让客户端主机获取到IP地址后主动获取引导驱动文件,自行进入下一步的安装过程。

next-server 下一跳的地址也就是网关的地址,其实我们现在也不需要,因为我们不需要上网。

filename是加载一个文件,就是当我们为用户分配好地址之后,他回去加载这个文件的意思。

这里DHCP有两个作用,第一个是分配网卡地址,第二个是执行pxelinux.0文件,当然现在还没有这个文件,我们待会创建。

重启服务并加入开机启动项,别忘了。

配置TFTP服务程序

下面我们配置一下TFTP服务程序。

vsftpd服务与TFTP服务。vsftpd是一款功能丰富的文件传输服务程序,允许用户以匿名开放模式、本地用户模式、虚拟用户模式来进行访问认证。但是,当前的客户端主机还没有安装操作系统,该如何进行登录认证呢?而TFTP作为一种基于UDP协议的简单文件传输协议,不需要进行用户认证即可获取到所需的文件资源。因此接下来配置TFTP服务程序,为客户端主机提供引导及驱动文件。当客户端主机有了基本的驱动程序之后,再通过vsftpd服务程序将完整的光盘镜像文件传输过去。

TFTP是一种非常精简的文件传输服务程序,它的运行和关闭是由xinetd网络守护进程服务来管理的。xinetd服务程序会同时监听系统的多个端口,然后根据用户请求的端口号调取相应的服务程序来响应用户的请求。需要开启TFTP服务程序,只需在xinetd服务程序的配置文件中把disable参数改成no就可以了。保存配置文件并退出,然后重启xinetd服务程序,并将其加入到开机启动项中(在RHEL 7系统中,已经默认启用了xinetd服务程序,因此在将其添加到开机启动项中的时候没有输出信息属于正常情况)。

下面我们配置tftp主配置文件。

它里面有个禁用的标识,我们不让他禁用,给他改成no。

然后我们重启xinetd服务并加入启动项。

TFTP服务程序默认使用的是UDP协议,占用的端口号为69,所以在生产环境中还需要在firewalld防火墙管理工具中写入使其永久生效的允许策略,以便让客户端主机顺利获取到引导文件。

配置SYSLinux服务程序

SYSLinux是一个用于提供引导加载的服务程序。与其说SYSLinux是一个服务程序,不如说更需要里面的引导文件,在安装好SYSLinux服务程序软件包后,/usr/share/syslinux目录中会出现很多引导文件

安装好之后我们进入/var/lib/tftpboot,这个目录大家记一下,这是我们tftp的家目录。

我们首先需要把SYSLinux提供的引导文件复制到TFTP服务程序的默认目录中,也就是前文提到的文件pxelinux.0,这样客户端主机就能够顺利地获取到引导文件了。另外在RHEL 7系统光盘镜像中也有一些我们需要调取的引导文件。确认光盘镜像已经被挂载到/media/cdrom目录后,使用复制命令将光盘镜像中自带的一些引导文件也复制到TFTP服务程序的默认目录中。

我们却让将光盘挂载到我们系统中用df -h查看,然后将文件复制进来,待会给我们客户端提供,他们也可以进行安装。

也就是这两个文件。

 然后在TFTP服务程序的目录中新建pxelinux.cfg目录,虽然该目录的名字带有后缀,但依然也是目录,而非文件!将系统光盘中的开机选项菜单复制到该目录中,并命名为default。这个default文件就是开机时的选项菜单,如图Linux系统的引导菜单界面。

默认的开机菜单中有两个选项,要么是安装系统,要么是对安装介质进行检验。既然我们已经确定采用无人值守的方式安装系统,还需要为每台主机手动选择相应的选项,未免与我们的主旨(无人值守安装)相悖。现在我们编辑这个default文件,把第1行的default参数修改为linux,这样系统在开机时就会默认执行那个名称为linux的选项了。对应的linux选项大约在64行,我们将默认的光盘镜像安装方式修改成FTP文件传输方式,并指定好光盘镜像的获取网址以及Kickstart应答文件的获取路径:

我们先修改一下第一行修改为linux.第一行就是我们开机时候默认选择的那个菜单的名称。

开机里面有3个选项,安装检查排错,我们直接选择安装。然后我们直接来惊醒安装的意思。也就是选择linux。后面路径就是指向我们光盘镜像的这么一个路径。待会是通过网络来传输我们光盘镜像的。我们这个路径这里写成ftp也可以,我们用网络。然后我们这个服务提供了光盘的路径,然后ks.cfg。其中ks=就是kickstart,应答脚本的意思。我们先写上,现在没有这个文件,之后就会有。

 配置httpd服务

因为我们是靠网络传输的,所以要却不料httpd服务,也就是我们的Apache

然后重启服务并且添加启动项。

然后我们将光盘里面的所有镜像文件复制到/var/www/html中。(时间可能比较长,3分钟左右)

然后我们进入里面看一下

都复制过来了。

然后我们再在html目录创建一个pub目录。这个得目的就是不用我们人为设置,全部写入到文件中让她自己执行,这一步就是我们安装时候需要选择那些网卡什么的流程,我们要全部自动化。

然后我们看一下这个文件,开始我们随便修改的一个文件,其实他就是一个ks文件,我们给他复制到pub目录中,改名为ks.cfg

然后我们编辑一下这个文件的内容

我们会看到里面内容特别多

第一个是我们把光盘修改为网络传输,

然后把第21行的时区修改成上海(Asia/Shanghai)

然后再把29行的磁盘选项设置为清空所有磁盘内容并初始化磁盘

所有以@开始的软件包的名称的话代表就是软件包的组。

 这里的话配置文件没有支持分区配置,需要自己再添加,我们使用默认就可以,默认分区的话有3个/     根分区   /swap交换分区    /boot  启动分区。

然后我们一定要一定要一定要清空一下我们的防火墙。

然后我们自己访问一下我们的网站,主要是访问ks.cfg文件,点击一下。

报错了。我们看一下什么原因。他告诉我们没有权限,那我们设置一下权限。

我们给他755权限。然后刷新一下,发现可以了。

然后我们开始使用,新建个虚拟机。按照流程,我们不选镜像,让他自己来装。

因为这个路径无所谓,我们安装在C盘占用内存,所以换一下。

为了避免说我们是不是用镜像安装的啊,我们把他给删除了,完全是无聊的一步,内核什么的自带的,我们选择大小无所谓。

好了,我们点击确定。

然后我们点击开机等着吧,很尴尬,报错了,我们看一下原因。

我们没有选择仅主机模式,现在我们再试一下。

在生产环境中,大家只需要将配置妥当的服务器上架,接通服务器和客户端主机之间的网线,然后启动客户端主机即可。

猜你喜欢

转载自www.cnblogs.com/hshyx/p/10891500.html