加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

Linux系统下手把手完成无人值守安装服务

发布时间:2022-10-27 13:06:44 所属栏目:系统 来源:未知
导读:
刚入职的运维新手经常会被要求去做一些安装操作系统的工作,如果按照用镜像光盘安装操作系统,效率会相当低下。那么如何提升效率,搭建出一套可以批量安装Linux系统的无人值守的安装系统?

电脑店u盘装win7系统教程图解_服务器装系统教程_j电脑装安卓系统教程

刚入职的运维新手经常会被要求去做一些安装操作系统的工作,如果按照用镜像光盘安装操作系统,效率会相当低下。那么如何提升效率,搭建出一套可以批量安装Linux系统的无人值守的安装系统?

PXE+TFTP+FTP+DHCP+Kickstart服务可以搭建出一个无人值守安装系统。这种无人值守安装系统可以自动的为数十台服务器安装系统,将运维人员从重复性的工作中解救出来,大大提升了系统安装的效率。

电脑店u盘装win7系统教程图解_服务器装系统教程_j电脑装安卓系统教程

如上图所示,是无人值守安装系统的工作流程。

PXE(Preboot eXecute Environment,预启动执行环境)是由 Intel 公司开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持 PXE 技术),主要用于在无人值守安装系统中引导客户端主机安装 Linux 操作系统。Kickstart 是一种无人值守的安装方式,其工作原理是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg 文件,当安装过程中需要填写参数时则自动匹配 Kickstart 生成的文件。所以只要Kickstart 文件包含了安装过程中需要人工填写的所有参数,那么从理论上来讲完全不需要运维人员的干预,就可以自动完成安装工作。

当然需要使用 TFTP 协议帮助客户端获取引导及驱动文件。vsftpd 服务程序用于将完整的系统安装镜像通过网络传输给客户端。当然,只要能将系统安装镜像成功传输给客户端即可,因此也可以使用 httpd 来替代 vsftpd 服务程序。

首先,配置DHCP服务程序。DHCP 服务程序用于为客户端主机分配可用的 IP 地址,而且这是服务器与客户端主机进行文件传输的基础,因此我们先行配置 DHCP 服务程序。

[root@linuxprobe?linuxprobe]#?yum?install?dhcp
[root@linuxprobe?~]#?vim?/etc/dhcp/dhcpd.conf
allow?booting;
allow?bootp;
ddns-update-style?interim;
ignore?client-updates;
subnet?192.168.10.0?netmask?255.255.255.0?{
option?subnet-mask?255.255.255.0;
option?domain-name-servers?192.168.10.10;
range?dynamic-bootp?192.168.10.100?192.168.10.200;
default-lease-time?21600;
max-lease-time?43200;
next-server?192.168.10.10;
filename?"pxelinux.0";
}

该操作的目的是为了允许BOOTP引导程序协议,旨在让局域网内暂时没有操作系统的主机也能获取静态 IP地址;在配置文件的最下面加载了引导驱动文件 pxelinux.0 ,其目的是让客户端主机获取到 IP 地址后主动获取引导驱动文件,自行进入下一步的安装过程。具体解释见《Linux就该这么学》。

第二步,配置TFTP服务程序。

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

[root@linuxprobe?~]#?yum?install?tftp-server
[root@linuxprobe?~.d]#?vim?/etc/xinetd.d/tftp
service?tftp
{
socket_type?=?dgram
protocol?=?udp
wait?=?yes
user?=?root
server?=?/usr/sbin/in.tftpd
server_args?=?-s?/var/lib/tftpboot
disable?=?no
per_source?=?11
cps?=?100?2
flags?=?IPv4
}

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

[root@linuxprobe?~]#?yum?install?syslinux
[root@linuxprobe?~]#?cd?/var/lib/tftpboot
[root@linuxprobe?tftpboot]#?cp?/usr/share/syslinux/pxelinux.0?.
[root@linuxprobe?tftpboot]#?cp?/media/cdrom/images/pxeboot/{vmlinuz,initrd.img}?.
[root@linuxprobe?tftpboot]#?cp?/media/cdrom/isolinux/{vesamenu.c32,boot.msg}?.

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

[root@linuxprobe?tftpboot]#?mkdir?pxelinux.cfg
[root@linuxprobe?tftpboot]#?cp?/media/cdrom/isolinux/isolinux.cfg?pxelinux.cfg/default

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

j电脑装安卓系统教程_电脑店u盘装win7系统教程图解_服务器装系统教程

第四步,配置vdftpd服务程序。

[root@linuxprobe?~]#?yum?install?vsftpd

在确认系统光盘镜像已经正常挂载到/media/cdrom 目录后,把目录中的光盘镜像文件全部复制到 vsftpd 服务程序的工作目录中。

[root@linuxprobe?~]#?cp?-r?/media/cdrom/*?/var/ftp

最后,创建KickStart应答文件。

毕竟,我们使用 PXE + Kickstart 部署的是一套“无人值守安装系统服务”,而不是“无人值守传输系统光盘镜像服务”,因此还需要让客户端主机能够一边获取光盘镜像,还能够一边自动帮我们填写好安装过程中出现的选项。

在 root 管理员的家目录中有一个名为 anacondaks.cfg 的文件,它就是应答文件。下面将这个文件复制到 vsftpd 服务程序的工作目录中(在开机选项菜单的配置文件中已经定义了该文件的获取路径,也就是 vsftpd 服务程序数据目录中的 pub 子目录中)。使用 chmod 命令设置该文件的权限,确保所有人都有可读的权限,以保证客户端主机可以顺利获取到应答文件及里面的内容:

[root@linuxprobe?~]#?cp?~/anaconda-ks.cfg?/var/ftp/pub/ks.cfg
[root@linuxprobe?~]#?chmod?+r?/var/ftp/pub/ks.cfg

到目前为止,我们的服务基本部署完毕,集体详细解释过程参见《Linux就该这么学》,希望本文对刚入职的运维人员有一定的帮助。

让您学习到的每一节课都有所收获

《Linux就该这么学》是一本由资深运维专家刘遄老师及国内多名红帽架构师(RHCA)基于最新RHEL7系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材。荣获双11、双12购物狂欢节IT品类书籍销量冠军,2017年、2018年国内读者增速最快的技术书籍,您可以在京东、当当、亚马逊及天猫搜索书名后购买,亦可加刘遄老师微信交流学习(手指按住下图3秒钟即可自动扫描)~

电脑店u盘装win7系统教程图解_服务器装系统教程_j电脑装安卓系统教程

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!