无人值守系统
假如生产环境中有数百台服务器都须要安装系统,这些方法就不合时宜了。这时linux shell,我们就须要使用PXE+TFTP+FTP+DHCP+Kickstart服务搭建出一个无人值守安装系统。这些无人值守安装系统可以手动地为数十台服务器安装系统,这一方面将运维人员从重复性的工作中救出下来,也大大提高了系统安装的效率。
PXE(PrebooteXecuteEnvironment,预启动执行环境)是由Intel公司开发的技术,可以让计算机通过网路来启动操作系统(前提是计算机上安装的网卡支持PXE技术),主要用于在无人值守安装系统中引导顾客端主机安装Linux操作系统。Kickstart是一种无人值守的安装方法,其工作原理是预先把原先须要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中须要填写参数时则手动匹配Kickstart生成的文件。所以只要Kickstart文件包含了安装过程中须要人工填写的所有参数,这么从理论上来讲完全不须要运维人员的干预,就可以手动完成安装工作。
因为当前的顾客端主机并没有完整的操作系统,也就不能完成FTP合同的验证了,所以须要使用TFTP合同帮助顾客端获取引导及驱动文件。vsftpd服务程序用于将完整的系统安装镜像通过网路传输给顾客端。其实,只要能将系统安装镜像成功传输给顾客端即可,因而也可以使用httpd来代替vsftpd服务程序。
布署相关服务程序
配置DHCP服务程序
DHCP服务程序用于为顾客端主机分配可用的IP地址,并且这是服务器与顾客端主机进行文件传输的基础,因而我们先行配置DHCP服务程序。首先根据表19-1为无人值守系统设置IP地址,之后根据图19-2和图19-3在虚拟机的虚拟网路编辑器中关掉自身的DHCP服务。
无人值守系统与客户端的设置
主机名称操作系统IP地址
无人值守系统CentOS7192.168.20.10
顾客端未安装操作系统-
Yum库房文件配置妥当后,就可以安装DHCP服务程序软件包了。
yuminstalldhcp-y
准许了BOOTP引导程序合同,借以让局域网内暂时没有操作系统的主机也能获取静态IP地址;在配置文件的最下边加载了引导驱动文件pxelinux.0(这个文件会在下边的步骤中创建),其目的是让顾客端主机获取到IP地址后主动获取引导驱动文件,自行步入下一步的安装过程。
allowbooting;
allowbootp;
ddns-update-styleinterim;
ignoreclient-updates;
subnet192.168.20.0netmask255.255.255.0{
optionsubnet-mask255.255.255.0;
optiondomain-name-servers192.168.20.10;
rangedynamic-bootp192.168.20.200192.168.20.200;
default-lease-time21600;
max-lease-time43200;
next-server192.168.20.10;
filename“pxelinux.0”;
在确认DHCP服务程序的参数都填写正确后,重新启动该服务程序,并将其添加到开机启动项中。这样在设备下一次重启以后,在无须人工干预的情况下pxe 网络化安装linux系统方法介绍,手动为顾客端主机安装系统。
systemctlrestartdhcpd
systemctlenabledhcpd
配置TFTP服务程序
关于vsftpd服务与TFTP服务。vsftpd是一款功能丰富的文件传输服务程序,容许用户以匿名开放模式、本地用户模式、虚拟用户模式来进行访问认证。并且,当前的顾客端主机还没有安装操作系统,该怎么进行登陆认证呢?而TFTP作为一种基于UDP合同的简单文件传输合同,不须要进行用户认证即可获取到所需的文件资源。因而接出来配置TFTP服务程序,为顾客端主机提供引导及驱动文件。当顾客端主机有了基本的驱动程序以后,再通过vsftpd服务程序将完整的光碟镜像文件传输过去。
yuminstalltftp-server
TFTP是一种极其精简的文件传输服务程序,它的运行和关掉是由xinetd网路守护进程服务来管理的。xinetd服务程序会同时窃听系统的多个端口,之后按照用户恳求的端标语调阅相应的服务程序来响应用户的恳求。须要开启TFTP服务程序,只需在xinetd服务程序的配置文件中把disable参数改成no就可以了。保存配置文件并退出,之后重启xinetd服务程序,并将其加入到开机启动项中(在RHEL7系统中,早已默认启用了xinetd服务程序,因而在将其添加到开机启动项中的时侯没有输出信息属于正常情况)。
TFTP服务程序默认使用的是UDP合同,占用的端标语为69,所以在生产环境中还须要在firewalld防火墙管理工具中写入使其永久生效的容许策略,便于让顾客端主机顺利获取到引导文件。
firewall-cmd--permanent--add-port=69/udp
firewall-cmd--reload
配置SYSLinux服务程序
SYSLinux是一个用于提供引导加载的服务程序。与其说SYSLinux是一个服务程序,不如说更须要上面的引导文件,在安装好SYSLinux服务程序软件包后,/usr/share/syslinux目录中会出现好多引导文件。
yuminstallsyslinux
我们首先须要把SYSLinux提供的引导文件复制到TFTP服务程序的默认目录中,也就是前文提及的文件pxelinux.0,这样顾客端主机就能否顺利地获取到引导文件了。另外在RHEL7系统光碟镜像中也有一些我们须要调阅的引导文件。确认光碟镜像早已被挂载到/media/cdrom目录后,使用复制命令将光碟镜像中自带的一些引导文件也复制到TFTP服务程序的默认目录中。
mkdir/media/cdrom-p
mount/dev/cdrom/media/cdrom
df查看挂载情况
cd/var/lib/tftpboot
cp/usr/share/syslinux/pxelinux.0.
cp/media/cdrom/images/pxeboot/{vmlinuz,initrd.img}.
cp/media/cdrom/isolinux/{vesamenu.c32,boot.msg}.
之后在TFTP服务程序的目录中新建pxelinux.cfg目录,即使该目录的名子带有后缀,但仍然也是目录,而非文件!将系统光碟中的开机选项菜单复制到该目录中,并命名为default。这个default文件就是开机时的选项菜单,如图所示。
默认的开机菜单中有两个选项,要么是安装系统,要么是对安装介质进行检验。既然我们早已确定采用无人值守的形式安装系统,还须要为每台主机自动选择相应的选项,未免与我们的主旨(无人值守安装)偏颇。如今我们编辑这个default文件linux安装,把第1行的default参数更改为linux,这样系统在开机时都会默认执行哪个名称为linux的选项了。对应的linux选项大概在64行,我们将默认的光碟镜像安装方法更改成FTP文件传输方法,并指定好光碟镜像的获取网址以及Kickstart应答文件的获取路径:
配置VSFtpd服务程序
在我们这套无人值守安装系统的服务中,光碟镜像是通过FTP合同传输的,因而势必要用到vsftpd服务程序。其实,也可以使用httpd服务程序来提供Web网站访问的形式,只要能确保将光碟镜像顺利传输给顾客端主机即可。假如准备使用Web网站服务来提供光碟镜像,一定记得将前面配置文件中的光碟镜像获取网址和Kickstart应答文件获取网址更改一下。
yuminstallvsftpd-y
systemctlrestartvsftpd
systemctlenablevsftpd
在确认系统光碟镜像早已正常挂载到/media/cdrom目录后,把目录中的光碟镜像文件全部复制到vsftpd服务程序的工作目录中。
mount/dev/cdrom/media/cdrom
df查看挂载情况
[root@linuxprobe~]#cp-r/media/cdrom/*/var/ftp
这个过程大概须要3~5分钟。在此期间pxe 网络化安装linux系统方法介绍,我们也别闲着,在firewalld防火墙管理工具中写入使FTP合同永久生效的容许策略,之后在SELinux中放行FTP传输:
firewall-cmd--permanent--add-service=ftp
firewall-cmd--reload
setsebool-Pftpd_connect_all_unreserved=on
创建KickStart应答文件
虽然,我们使用PXE+Kickstart布署的是一套“无人值守安装系统服务”,而不是“无人值守传输系统光碟镜像服务”,因而还须要让顾客端主机才能一边获取光碟镜像,还能否一边手动帮我们填写好安装过程中出现的选项。简单来说,假如生产环境中有100台服务器,它们须要安装相同的系统环境,这么在安装过程上单击的按键和填写的信息也应当都是相同的。这么,为何不创建一个类似于备忘录的需求清单呢?这样,在无人值守安装系统时,可以从这个需求清单中找到相应的选项值,继而免去了自动输入之苦,更重要的是,也彻底解放了人的干预,彻底实现无人值守手动安装系统,而不是单纯地传输系统光碟镜像。
有了上文做铺垫,相信你们如今应当可以猜到Kickstart虽然并不是一个服务程序,而是一个应答文件了。是的!Kickstart应答文件中包含了系统安装过程中须要使用的选项和参数信息,系统可以手动调阅这个应答文件的内容,因而彻底实现了无人值守安装系统。这么,既然这个文件这么重要,该去那里找呢?虽然在root管理员的家目录中有一个名为anaconda-ks.cfg的文件,它就是应答文件。下边将这个文件复制到vsftpd服务程序的工作目录中(在开机选项菜单的配置文件中早已定义了该文件的获取路径,也就是vsftpd服务程序数据目录中的pub子目录中)。使用chmod命令设置该文件的权限,确保所有人都有可读的权限,以保证顾客端主机可以顺利获取到应答文件及上面的内容:
cp~/anaconda-ks.cfg/var/ftp/pub/ks.cfg
chmod+r/var/ftp/pub/ks.cfg
Kickstart应答文件并没有想像中的这么复杂,它总共只有46行左右的参数和注释内容,你们完全可以通过参数的名称及介绍来快速了解每位参数的作用。在这儿选购几个比较有代表性的参数,其他参数建议你们自行更改测试。
首先把第6行的光碟镜像安装方法更改成FTP合同,仔细填写好FTP服务器的IP地址,并用本地浏览器尝试打开下检测有没有报错。之后把第21行的时区更改成北京(Asia/Shanghai),最后再把29行的c盘选项设置为清空所有c盘内容并初始化c盘:
vim /var/ftp/pub/ks.cfg
假如认为系统默认自带的应答文件参数较少,不能满足生产环境的需求,则可以通过Yum软件库房来安装system-config-kickstart软件包。这是一款图形化的Kickstart应答文件生成工具,可以按照自己的需求生成自定义的应答文件,之后将生成的文件放在/var/ftp/pub目录中并将名子更改为ks.cfg即可。
手动布署顾客机
在根据上文讲解的方式成功布署各个相关的服务程序后,就可以使用PXE+Kickstart无人值守安装系统了。在采用下边的步骤构建虚拟主机时,一定要把顾客端的网卡模式设定成与服务端一致的“仅主机模式”,否则两台设备难以进行通讯,也就更别提手动安装系统了。其余硬件配置选项并没有强制性要求,你们可参考这儿的配置选项来设定。
接出来的默认配置
设置网卡一致为vm1
启动
如今,我们就同时打算好了PXE+Kickstart无人值守安装系统与虚拟主机。在生产环境中,你们只须要将配置妥当的服务器上架,接通服务器和顾客端主机之间的网线,之后启动顾客端主机即可。,开始传输光碟镜像文件并进行手动安装了—期间完全无须人工干预,直至安装完毕时才须要运维人员进行简单的初始化工作。
可以看见root密码早已设置完毕
等待安装完毕即可!