00:00/00:00

本章节已编写及校对完毕,现有奖征集建议、若您发现本章中有错别字或补充欢迎联系刘遄老师QQ:5604241。

章节概述:

刚刚入职的实习运维人员经常会被要求去做安装操作系统的工作,如果按照第1章所学的用光盘镜像安装系统未免会让效率十分低下。本章节将从介绍PXE+Kickstart服务程序来引入无人值守安装系统服务内容,刘遄老师会实践安装部署PXE+TFTP+VSftp+DHCP+Kickstart等服务程序最终组成一套可批量安装Linux系统的无人值守安装系统服务,有效的避免了运维人员重复性的工作,进而也大大的提高了工作效率。

19.1 无人值守系统

虽然刘遄老师在本书籍第1章中教过同学们用光盘镜像来安装Linux系统的方法,但坦白来讲,如果生产环境中有数百台服务器需要安装系统,那么这种光盘镜像的安装方式就显得实在效率太低了,况且还要为这数百台服务器购买数百张的系统安装光盘或U盘系统,然后还必须对每台系统设置安装初始化向导,这种重复性极高又无聊的事情可能会白白浪费掉咱们一整天的时间,是不是想想都觉得痛苦了呢。

其实当生产环境中出现上百台服务器需要安装系统的时候,可以用PXE+TFTP+VSftp+DHCP+Kickstart服务来整合部署出一个无人值守安装系统服务来。这种无人值守安装系统服务可以实现自动化的完成对数十台服务器自动安装系统的工作,有效的避免了运维工作人员重复性的工作,进而也大大的提高了工作效率,无人值守安装系统技术流程图如19-1所示:

图19-1 无人值守安装系统技术流程图

PXE预启动执行环境(即Preboot execute environment)是一种能够让计算机通过网络启动的引导方式,只要网卡支持PXE协议即可使用,用于在无人值守安装系统服务中引导客户机安装服务。Kickstart是一种无人值守的安装方式,工作原理就是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中出现需要填写参数时则自动匹配Kickstart生成的文件,所以只要Kickstart文件包含了安装过程中所有需要人工填写的参数,那么理论上来讲运维人员就完全不需要再进行手工操作,喝着咖啡等待安装完毕即可。

其中TFTP、Vsftpd以及DHCP服务程序的配置部署方法咱们已经分别在书籍中的第11章和第14章进行了详细讲解~由于对方客户端主机当前并没有完整的操作系统,因此也无法进行验证功能,所以需要使用TFTP简单文件传输协议来帮助客户端获取到引导及驱动文件。Vsftpd服务程序是用于传输完整系统安装镜像的,把安装镜像资料通过网络传输给客户机,当然只要把安装镜像传送过去就可以,因此同学们可以用Httpd来替代Vsftpd服务程序。
出现问题?大胆提问!

因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~

Linux技术交流请加A群:560843(),B群:340829(推荐),C群:463590(推荐),点此查看全国群

*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。

19.2 部署相关服务程序
19.2.1 配置DHCP服务程序

DHCP动态主机地址管理服务程序用于为客户主机网卡分配可用的IP地址,这是服务端与客户端主机进行文件传输的基础,因此第一个来配置吧。DHCP服务端主机应先参考下表为网卡配置好网卡IP地址,并按照如图19-2和图19-3所示在虚拟机的虚拟网络编辑器中关闭自身的DHCP动态主机地址管理服务:

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

选择虚拟机导航条上的网络编辑器

图19-2 打开虚拟机的虚拟网络编辑器

不使用虚拟机的DHCP功能

图19-3 关闭虚拟机自带的DHCP动态主机地址管理服务

当同学们挂载好光盘镜像并把yum仓库文件配置妥当后就可以开始安装DHCP服务程序软件包啦~

[root@linuxprobe ~]# yum install dhcp
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel | 4.1 kB 00:00 
Resolving Dependencies
--> Running transaction check
---> Package dhcp.x86_64 12:4.2.5-27.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package Arch Version Repository Size
================================================================================
Installing:
 dhcp x86_64 12:4.2.5-27.el7 rhel 506 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 506 k
Installed size: 1.4 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Installing : 12:dhcp-4.2.5-27.el7.x86_64 1/1 
 Verifying : 12:dhcp-4.2.5-27.el7.x86_64 1/1 
Installed:
 dhcp.x86_64 12:4.2.5-27.el7 
Complete!

咱们已经在前面第14章的课程中细致的学习过了DHCP服务程序的配置及部署方法,因此应该对配置参数还有些印象吧~忘记的话可以回去查一查。这次的配置文件与前面学习时的区别主要有两个,首先是允许了BOOTP引导程序协议,目的是让区域网内暂无系统的主机也能够获取到静态网卡IP地址,其次是在配置文件的最下面加载了叫做pxelinux.0的引导驱动文件,这样做的目的是让客户端主机网卡获取到IP地址后主动去获取引导驱动文件,自动进行下一步的安装过程。

[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";
}

确认DHCP服务程序参数填写正确后就可以重启一下服务,并把DHCP服务程序添加到开机启动项了~这样下一次重启服务器后依然能够自动化的为客户主机无人值守安装系统,一劳永逸。

[root@linuxprobe ~]# systemctl restart dhcpd
[root@linuxprobe ~]# systemctl enable dhcpd
ln -s '/usr/lib/systemd/system/dhcpd.service' '/etc/systemd/system/multi-user.target.wants/dhcpd.service'
19.2.2 配置TFTP服务程序

咱们在第11章的课程中学习过vsftpd服务与TFTP服务,vsftpd是一款功能丰富的文件传输服务程序,需要用户使用匿名、本地甚至虚拟用户来进行访问验证,但当前的客户端主机连系统都没有安装,如何进行登录验证呢?而TFTP是一种基于UDP协议的简单文件传输协议,用户不需要进行验证即可获取到所需的文件资源,因此接下来配置TFTP服务程序来为用户提供引导及驱动文件吧~当客户端有了基本的驱动程序后再通过vsftpd服务程序把完整的光盘镜像文件传送过去。

[root@linuxprobe ~]# yum install tftp-server
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package tftp-server.x86_64 0:5.2-11.el7 will be installed
--> Processing Dependency: xinetd for package: tftp-server-5.2-11.el7.x86_64
--> Running transaction check
---> Package xinetd.x86_64 2:2.3.15-12.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package Arch Version Repository Size
================================================================================
Installing:
 tftp-server x86_64 5.2-11.el7 rhel 44 k
Installing for dependencies:
 xinetd x86_64 2:2.3.15-12.el7 rhel 128 k
Transaction Summary
================================================================================
Install 1 Package (+1 Dependent package)
Total download size: 172 k
Installed size: 325 k
Is this ok [y/d/N]: y
Downloading packages:
--------------------------------------------------------------------------------
Total 1.7 MB/s | 172 kB 00:00 
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Installing : 2:xinetd-2.3.15-12.el7.x86_64 1/2 
 Installing : tftp-server-5.2-11.el7.x86_64 2/2 
 Verifying : 2:xinetd-2.3.15-12.el7.x86_64 1/2 
 Verifying : tftp-server-5.2-11.el7.x86_64 2/2 
Installed:
 tftp-server.x86_64 0:5.2-11.el7 
Dependency Installed:
 xinetd.x86_64 2:2.3.15-12.el7 
Complete!

TFTP是一种非常精简的文件传输服务程序,它的运行和关闭时由xinted网络守护进程服务来进行统一管理的,平时xinetd服务程序会同时监听很多个系统的端口号,然后根据用户请求的端口号来调取对应的服务程序来响应用户的请求。如果咱们需要开启TFTP服务程序的话,就把xinetd服务程序对应的配置文件中disable参数改成no就可以了,意思是不要禁用TFTP服务程序,那也就是开启它了。配置文件修改好后保存退出,然后记得把xinetd服务程序重启一下,然后加入到开机启动项中(红帽RHEL7系统中xinetd服务程序默认已经启用,因此此时执行命令没有输出信息是正常情况)。

[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
[root@linuxprobe xinetd.d]# systemctl restart xinetd
[root@linuxprobe xinetd.d]# systemctl enable xinetd

TFTP服务程序默认会占用服务器udp协议的69端口号,所以在生产环境中还要记得在firewalld防火墙管理工具中写入一下永久生效的允许策略,让客户端主机能够顺利的获取到引导文件。

[root@linuxprobe ~]# firewall-cmd --permanent --add-port=69/udp
success
[root@linuxprobe ~]# firewall-cmd --reload 
success
19.2.3 配置SYSLinux服务程序

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

[root@linuxprobe ~]# yum install syslinux
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package syslinux.x86_64 0:4.05-8.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package Arch Version Repository Size
================================================================================
Installing:
 syslinux x86_64 4.05-8.el7 rhel 1.0 M
Transaction Summary
================================================================================
Install 1 Package
Total download size: 1.0 M
Installed size: 2.3 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Installing : syslinux-4.05-8.el7.x86_64 1/1 
 Verifying : syslinux-4.05-8.el7.x86_64 1/1 
Installed:
 syslinux.x86_64 0:4.05-8.el7 
Complete!

咱们需要先把SYSLinux提供的引导文件复制到TFTP服务程序的默认目录中,这样用户就可以在无系统的情况下顺利的获取到引导文件了,刚刚提到的pxelinux.0文件就被放到这里啦(请同学们确认光盘镜像已被挂载到了/media/cdrom目录了)。

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

然后在TFTP服务程序的目录中新建一个叫做pxelinux.cfg的文件夹,虽然有后缀,但也依然是目录哦,不是一个文件!从系统光盘中把开机选项菜单复制到这里目录中命名为default,这个文件就是开机时候的选项菜单,如图19-4所示这样的:

图19-4  Linux系统的引导菜单界面

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

默认的开机菜单中有两个选项,要么安装系统、要么对安装介质进行检验,而既然已经确定是要无人值守安装系统啦,如果每台主机都要手动选择一下的话也太麻烦啦。咱们就来编辑这个文件把第1行的default参数修改为linux,这样的话系统在开机时就会默认执行那个名称为Linux的选项啦,而对应的Linux选项在64行左右,把默认的光盘镜像安装方式修改成FTP网络文件传输方式,指定好光盘镜像的获取网址以及ks应答文件的获取路径:

[root@linuxprobe tftpboot]# vim pxelinux.cfg/default
 1 default linux
 2 timeout 600
 3
 4 display boot.msg
 5
 6 # Clear the screen when exiting the menu, instead of leaving the menu displa yed.
 7 # For vesamenu, this means the graphical background is still displayed witho ut
 8 # the menu itself for as long as the screen remains in graphics mode.
 9 menu clear
 10 menu background splash.png
 11 menu title Red Hat Enterprise Linux 7.0
 12 menu vshift 8
 13 menu rows 18
 14 menu margin 8
 15 #menu hidden
 16 menu helpmsgrow 15
 17 menu tabmsgrow 13
 18
 19 # Border Area
 20 menu color border * #00000000 #00000000 none
 21
 22 # Selected item
 23 menu color sel 0 #ffffffff #00000000 none
 24
 25 # Title bar
 26 menu color title 0 #ff7ba3d0 #00000000 none
 27
 28 # Press [Tab] message
 29 menu color tabmsg 0 #ff3a6496 #00000000 none
 30
 31 # Unselected menu item
 32 menu color unsel 0 #84b8ffff #00000000 none
 33
 34 # Selected hotkey
 35 menu color hotsel 0 #84b8ffff #00000000 none
 36
 37 # Unselected hotkey
 38 menu color hotkey 0 #ffffffff #00000000 none
 39
 40 # Help text
 41 menu color help 0 #ffffffff #00000000 none
 42 
 43 # A scrollbar of some type? Not sure.
 44 menu color scrollbar 0 #ffffffff #ff355594 none
 45 
 46 # Timeout msg
 47 menu color timeout 0 #ffffffff #00000000 none
 48 menu color timeout_msg 0 #ffffffff #00000000 none
 49 
 50 # Command prompt text
 51 menu color cmdmark 0 #84b8ffff #00000000 none
 52 menu color cmdline 0 #ffffffff #00000000 none
 53 
 54 # Do not display the actual menu unless the user presses a key. All that is displayed is a timeout message.
 55 
 56 menu tabmsg Press Tab for full configuration options on menu items.
 57 
 58 menu separator # insert an empty line
 59 menu separator # insert an empty line
 59 menu separator # insert an empty line
 60 
 61 label linux
 62 menu label ^Install Red Hat Enterprise Linux 7.0
 63 kernel vmlinuz
 64 append initrd=initrd.img inst.stage2=ftp://192.168.10.10 ks=ftp://192.168.10.10/pub/ks.cfg quiet
 65
………………省略部分输出信息………………
19.2.4 配置VSFtpd服务程序

咱们这套无人值守安装系统服务的光盘镜像通过FTP协议进行传输,因此肯定少不了要用到vsftpd服务程序,当然只要能够把光盘镜像顺利的传送给客户端主机就达到目的啦,因此如果愿意的话也可以用httpd服务程序来提供HTTP网站访问方式,但是如果真的要用HTTP网站服务来提供光盘镜像,同学们可一定要记得把刚刚配置文件中的光盘镜像获取网址和ks应答文件获取网址修改一下哦~

[root@linuxprobe ~]# yum install vsftpd
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:3.0.2-9.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package Arch Version Repository Size
================================================================================
Installing:
 vsftpd x86_64 3.0.2-9.el7 rhel 166 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 166 k
Installed size: 343 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Installing : vsftpd-3.0.2-9.el7.x86_64 1/1 
 Verifying : vsftpd-3.0.2-9.el7.x86_64 1/1 
Installed:
 vsftpd.x86_64 0:3.0.2-9.el7 
Complete!

同学们可千万不要嫌弃刘遄老师啰嗦,配置文件安装配置后一定要添加到开机启动项中,这样在红帽认证考试或生产环境中才能够在服务器重启后依然为用户提供相应的服务,希望同学们读完手中这本《linux就该这么学》书籍后都能养成这个好习惯。

[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'

首先需要自行确认下系统光盘镜像是否已经被正常挂载到了/media/cdrom目录上了,然后把目录中的光盘镜像资料全部的复制到FTP服务工作目录中来。

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

复制光盘镜像全部的数据大致需要3-5分钟,这期间也不要闲着啦,动手用firewalld防火墙管理工具添加上对FTP协议的永久允许策略,然后在SELinux中开启对FTP传输的允许策略:

[root@linuxprobe ~]# firewall-cmd --permanent --add-service=ftp
success
[root@linuxprobe ~]# firewall-cmd --reload 
success
[root@linuxprobe ~]# setsebool -P ftpd_connect_all_unreserved=on
19.2.4 创建KickStart应答文件

咱们使用PXE+Kickstart部署的是一套无人值守安装系统服务,而不是单纯的无人值守传输系统光盘镜像服务,因此需要让客户端主机能够一边获取光盘镜像资料,一边还能够把安装过程中出现的选项帮咱们填写好。简单来说,如果您在生产环境中有一百台服务器要安装成相同的系统环境,那么在安装过程中点击的按钮和填写的信息也应该都是相同的,那么为何不创建出一个备忘录似的需求清单呢?让系统无人值守自动化安装的时候可以遇到选项便从该文件中找到对应的值,而不用每个信息都要人工输入啦~真正做到解放双手的无人值守自动化部署系统。

因此经过上面对无人值守安装系统的介绍,应该已经能猜到Kickstart其实并不能算是一个服务程序,而是应答文件了吧~是的!Kickstart应答文件中包含了系统安装过程中需要使用的选项和参数信息,系统通过调取这个应答文件的内容而最终实现了无人值守安装系统。那么既然这个文件如此重要,那么那里去找呢?其实在超级管理员root用户的家目录中有个叫做anaconda-ks.cfg的文件就是应答文件啦,咱们先把这个文件复制到vsftpd服务程序的工作目录中(在开机选项菜单配置文件中已经定义了该文件的获取路径,因此必须存放在pub目录中来)。最后记得使用chmod命令设置所有人都有可读取的权限,保证客户端主机可以顺利的获取到应答文件及里面的内容:

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

Kickstart应答文件并没有想象中的那么复杂,总共只有46行左右的参数和注释内容,同学们可以通过参数的名称及介绍快速的了解每个参数的作用,因此刘遄老师就挑选几个比较有代表性的来修改下吧,其他参数可以自己动手修改试一试哦。首先把约第6行左右的光盘镜像安装方式修改成FTP远程文件协议,并仔细的填写好服务端地址,然后把约第21行左右的时区修改成亚洲/上海吧~最后再来把约29行左右的磁盘选项设置为清空所有磁盘内容并初始化:

[root@linuxprobe ~]# vim /var/ftp/pub/ks.cfg 
 1 #version=RHEL7
 2 # System authorization information
 3 auth --enableshadow --passalgo=sha512
 4 
 5 # Use CDROM installation media
 6 url --url=ftp://192.168.10.10
 7 # Run the Setup Agent on first boot
 8 firstboot --enable
 9 ignoredisk --only-use=sda
 10 # Keyboard layouts
 11 keyboard --vckeymap=us --xlayouts='us'
 12 # System language
 13 lang en_US.UTF-8
 14 
 15 # Network information
 16 network --bootproto=dhcp --device=eno16777728 --onboot=off --ipv6=auto
 17 network --hostname=localhost.localdomain
 18 # Root password
 19 rootpw --iscrypted $6$pDjJf42g8C6pL069$iI.PX/yFaqpo0ENw2pa7MomkjLyoae2zjMz2UZJ7b H3UO4oWtR1.Wk/hxZ3XIGmzGJPcs/MgpYssoi8hPCt8b/
 20 # System timezone
 21 timezone Asia/Shanghai --isUtc
 22 user --name=linuxprobe --password=$6$a9v3InSTNbweIR7D$JegfYWbCdoOokj9sodEccdO.zL F4oSH2AZ2ss2R05B6Lz2A0v2K.RjwsBALL2FeKQVgf640oa/tok6J.7GUtO/ --iscrypted --gecos ="linuxprobe"
 23 # X Window System configuration information
 24 xconfig --startxonboot
 25 # System bootloader configuration
 26 bootloader --location=mbr --boot-drive=sda
 27 autopart --type=lvm
 28 # Partition clearing information
 29 clearpart --all --initlabel
 30 
 31 %packages
 32 @base
 33 @core
 34 @desktop-debugging
 35 @dial-up
 36 @fonts
 37 @gnome-desktop
 38 @guest-agents
 39 @guest-desktop-agents
 40 @input-methods
 41 @internet-browser
 42 @multimedia
 43 @print-client
 44 @x11
 45 
 46 %end

如果认为系统默认自带的应答文件参数较少,或者不能够满足生产环境的需求,可以通过yum仓库来安装system-config-kickstart软件包,这是一款图形化的Kickstart应答文件生成工具,可以根据自己的需求定制出应答文件来,然后存放到/var/ftp/pub目录中并改成ks.cfg就可以啦。

出现问题?大胆提问!

因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~

Linux技术交流请加A群:560843(),B群:340829(推荐),C群:463590(推荐),点此查看全国群

*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。

19.3 自动部署客户机

按照上面的配置方法成功部署各个相关服务程序后,咱们就可以开始用PXE+Kickstart无人值守安装系统啦,参考下面步骤建立虚拟主机时一定要把客户端网卡模式设定成与服务端一致的仅主机模式,否则两台服务器根本不能通信,也就肯定不能自动化安装系统了,而其余硬件配置选项并没有强制性要求,同学们可参考刘遄老师的配置选项来自行设定。

第1步:打开新建虚拟机向导程序,像书籍第1章那样选择成典型(推荐)配置类型,然后点击下一步按钮,如图19-5所示:

如图19-5 选择虚拟机的配置类型

第2步:设定虚拟机的安装来源为"稍后安装操作系统",这样做的目的是真正让虚拟机能够从网络中获取到系统安装镜像资料,同时也避免了Vmware Workstation虚拟机程序按照内设的方法自行安装系统,然后点击下一步按钮,如图19-6所示。

图19-6 设定虚拟机的安装来源

第3步:选择客户机操作系统为Red Hat Enterprise Linux 7 64位系统,然后点击下一步按钮,如图19-7所示:

图19-7 选择客户机操作系统

第4步:对虚拟机系统进行命名并设置安装路径,虚拟主机系统名称可由同学们自行定义,而安装的位置需尽量选择磁盘存储较大的分区,然后点击下一步按钮,如图19-8所示:

图19-8 对虚拟机系统进行命名并设置安装路径

第5步:指定磁盘容量大小,这里设置20GB存储空间是指的虚拟机系统能够使用的最大上限,而不是会被立即占用满的,因此稍微设置的大一些也没有关系,然后点击下一步按钮,如图19-9所示:

图19-9 指定磁盘容量为20GB

第6步:结束新建虚拟机向导程序后先不要着急打开虚拟机系统呢,如图19-10所示,同学们还需要点击下自定义硬件按钮(C),然后如图19-11所示,把网络适配器设备也设置成仅主机模式,这个步骤非常重要,设定后点击完成按钮:

图19-10 点击虚拟机自定义硬件按钮

图19-11 设置虚拟机网络适配器设备为仅主机模式

这样咱们就已经把PXE+Kickstart无人值守安装系统与虚拟主机都准备好了,同学们在生产环境中只要把服务器上架好,联通服务器之间的网线,然后给客户服务器通电开机即可,接下来就会如图19-12与图19-13所示开始传输安装镜像文件并自动化安装啦,这期间是完全无需人为干预~一直到安装完毕时才需要运维人员进行简单初始化工作。对于生产环境工作中有数百台服务器需要批量安装系统时,使用无人值守安装系统的便捷性是不言而喻的。

自动化安装加载中

图19-12 自动传输光盘镜像资料并安装系统

安装过程中

图19-13 自动安装系统,无需人为干预。

出现问题?大胆提问!

因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~

Linux技术交流请加A群:560843(),B群:340829(推荐),C群:463590(推荐),点此查看全国群

*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。

本章节的复习作业(答案就在问题的下一行哦,用鼠标选中即可看到的~)

1:部署无人值守安装系统需要那些服务程序?

答案:需要使用的软件程序包括有SYSLinux引导服务、DHCP动态主机地址管理服务、VSFtpd文件传输服务(或httpd网站服务)、TFTP简单文件传输服务以及KickStart应答文件服务。

2:在Vmware Workstation虚拟机软件中DHCP动态主机地址管理服务总是分配错误IP地址的可能原因是?

答案:可能是由于虚拟机虚拟网络编辑器中自带的DHCP服务没有关闭,因此产生了冲突分配的情况,请同学们一定要检查好。

3:如何启用TFTP简单文件传输服务呢?

答案:需要编辑xinetd网络守护进程服务中对TFTP服务的管理配置文件,把disable修改为no。

4:成功安装SYSLinux服务程序后,将可以在哪个目录中找到引导文件?

答案:安装好SYSLinux服务程序软件包后就会在/usr/share/syslinux目录中出现很多的引导文件。

5:开机选项菜单文件把默认值(default)设置成linux标签的作用是什么?

答案:目的是让系统自动开始安装过程,而不是需要运维人员再去选择是安装系统还是校验镜像。

6:安装Vsftpd文件传输服务或Httpd网站服务的作用是什么?

答案:为了能够把光盘安装镜像资料完整、顺利的传送到客户端主机上面。

7:请简述Kickstart应答文件的作用是什么?

答案:使得客户端主机在安装系统过程中能够在应答文件中自动匹配到所需设定值参数,进而实现完全的无人值守安装系统。