Linux就該這么學》最新正式版已出版上市,同學們可在線上京東網當當網淘寶網亞馬遜等電商平臺購買。

*亦可就近在新華書店購買*

章節概述:

剛入職的運維新手經常會被要求去做一些安裝操作系統的工作。如果按照第1章講解的用光盤鏡像來安裝操作系統,其效率會相當低下。本章將介紹可以實現無人值守安裝服務的PXE+Kickstart服務程序,并帶領大家動手安裝部署PXE + TFTP + FTP + DHCP + Kickstart等服務程序,從而搭建出一套可批量安裝Linux系統的無人值守安裝系統。在學完本章內容之后,運維新手就可以避免枯燥乏味的重復性工作,大大提供系統安裝的效率。

19.1 無人值守系統

本書在第1章講解了使用光盤鏡像來安裝Linux系統的方法,坦白講,該方法適用于只安裝少量Linux系統的情況。如果生產環境中有數百臺服務器都需要安裝系統,這種方式就不合時宜了。這時,我們就需要使用PXE + TFTP +FTP + DHCP + Kickstart服務搭建出一個無人值守安裝系統。這種無人值守安裝系統可以自動地為數十臺服務器安裝系統,這一方面將運維人員從重復性的工作中解救出來,也大大提升了系統安裝的效率。

無人值守安裝系統的工作流程如圖19-1所示。

圖19-1? 無人值守安裝系統的工作流程

PXE(Preboot eXecute Environment,預啟動執行環境)是由Intel公司開發的技術,可以讓計算機通過網絡來啟動操作系統(前提是計算機上安裝的網卡支持PXE技術),主要用于在無人值守安裝系統中引導客戶端主機安裝Linux操作系統。Kickstart是一種無人值守的安裝方式,其工作原理是預先把原本需要運維人員手工填寫的參數保存成一個ks.cfg文件,當安裝過程中需要填寫參數時則自動匹配Kickstart生成的文件。所以只要Kickstart文件包含了安裝過程中需要人工填寫的所有參數,那么從理論上來講完全不需要運維人員的干預,就可以自動完成安裝工作。TFTP、FTP以及DHCP服務程序的配置與部署已經在第11章和第14章進行了詳細講解,這里不再贅述。

由于當前的客戶端主機并沒有完整的操作系統,也就不能完成FTP協議的驗證了,所以需要使用TFTP協議幫助客戶端獲取引導及驅動文件。vsftpd服務程序用于將完整的系統安裝鏡像通過網絡傳輸給客戶端。當然,只要能將系統安裝鏡像成功傳輸給客戶端即可,因此也可以使用httpd來替代vsftpd服務程序。

出現問題?大膽提問!

因讀者們硬件不同或操作錯誤都可能導致實驗配置出錯,請耐心再仔細看看操作步驟吧,不要氣餒~

Linux技術交流請加A群:560843(滿),B群:340829(推薦),C群:463590(推薦),點此查看全國群

*本群特色:通過口令驗證確保每一個群員都是《Linux就該這么學》的讀者,答疑更有針對性,不定期免費領取定制禮品。

19.2 部署相關服務程序
19.2.1 配置DHCP服務程序

DHCP服務程序用于為客戶端主機分配可用的IP地址,而且這是服務器與客戶端主機進行文件傳輸的基礎,因此我們先行配置DHCP服務程序。首先按照表19-1為無人值守系統設置IP地址,然后按照圖19-2和圖19-3在虛擬機的虛擬網絡編輯器中關閉自身的DHCP服務。

表19-1????????????????????????????????????????? 無人值守系統與客戶端的設置

主機名稱 操作系統 IP地址
無人值守系統 RHEL 7 192.168.10.10
客戶端 未安裝操作系統 -

選擇虛擬機導航條上的網絡編輯器

圖19-2? 打開虛擬機的虛擬網絡編輯器

不使用虛擬機的DHCP功能

圖19-3? 關閉虛擬機自帶的DHCP服務

當掛載好光盤鏡像并把Yum倉庫文件配置妥當后,就可以安裝DHCP服務程序軟件包了。

[[email protected] ~]# 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服務程序的配置以及部署方法,相信各位讀者對相關的配置參數還有一些印象。但是,我們在這里使用的配置文件與第14章中的配置文件有兩個主要區別:允許了BOOTP引導程序協議,旨在讓局域網內暫時沒有操作系統的主機也能獲取靜態IP地址;在配置文件的最下面加載了引導驅動文件pxelinux.0(這個文件會在下面的步驟中創建),其目的是讓客戶端主機獲取到IP地址后主動獲取引導驅動文件,自行進入下一步的安裝過程。

[[email protected] ~]# 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服務程序的參數都填寫正確后,重新啟動該服務程序,并將其添加到開機啟動項中。這樣在設備下一次重啟之后,在無須人工干預的情況下,自動為客戶端主機安裝系統。

[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服務程序將完整的光盤鏡像文件傳輸過去。

[[email protected] ~]# 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是一種非常精簡的文件傳輸服務程序,它的運行和關閉是由xinetd網絡守護進程服務來管理的。xinetd服務程序會同時監聽系統的多個端口,然后根據用戶請求的端口號調取相應的服務程序來響應用戶的請求。需要開啟TFTP服務程序,只需在xinetd服務程序的配置文件中把disable參數改成no就可以了。保存配置文件并退出,然后重啟xinetd服務程序,并將其加入到開機啟動項中(在RHEL 7系統中,已經默認啟用了xinetd服務程序,因此在將其添加到開機啟動項中的時候沒有輸出信息屬于正常情況)。

[[email protected] ~.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
[[email protected] xinetd.d]# systemctl restart xinetd
[[email protected] xinetd.d]# systemctl enable xinetd

TFTP服務程序默認使用的是UDP協議,占用的端口號為69,所以在生產環境中還需要在firewalld防火墻管理工具中寫入使其永久生效的允許策略,以便讓客戶端主機順利獲取到引導文件。

[[email protected] ~]# firewall-cmd --permanent --add-port=69/udp
success
[[email protected] ~]# firewall-cmd --reload 
success
19.2.3 配置SYSLinux服務程序

SYSLinux是一個用于提供引導加載的服務程序。與其說SYSLinux是一個服務程序,不如說更需要里面的引導文件,在安裝好SYSLinux服務程序軟件包后,/usr/share/syslinux目錄中會出現很多引導文件。

[[email protected] ~]# 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,這樣客戶端主機就能夠順利地獲取到引導文件了。另外在RHEL 7系統光盤鏡像中也有一些我們需要調取的引導文件。確認光盤鏡像已經被掛載到/media/cdrom目錄后,使用復制命令將光盤鏡像中自帶的一些引導文件也復制到TFTP服務程序的默認目錄中。

[[email protected] ~]# cd /var/lib/tftpboot
[[email protected] tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
[[email protected] tftpboot]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} .
[[email protected] tftpboot]# cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .

然后在TFTP服務程序的目錄中新建pxelinux.cfg目錄,雖然該目錄的名字帶有后綴,但依然也是目錄,而非文件!將系統光盤中的開機選項菜單復制到該目錄中,并命名為default。這個default文件就是開機時的選項菜單,如圖19-4所示。

圖19-4? Linux系統的引導菜單界面

[[email protected] tftpboot]# mkdir pxelinux.cfg
[[email protected] tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default

默認的開機菜單中有兩個選項,要么是安裝系統,要么是對安裝介質進行檢驗。既然我們已經確定采用無人值守的方式安裝系統,還需要為每臺主機手動選擇相應的選項,未免與我們的主旨(無人值守安裝)相悖。現在我們編輯這個default文件,把第1行的default參數修改為linux,這樣系統在開機時就會默認執行那個名稱為linux的選項了。對應的linux選項大約在64行,我們將默認的光盤鏡像安裝方式修改成FTP文件傳輸方式,并指定好光盤鏡像的獲取網址以及Kickstart應答文件的獲取路徑:

[[email protected] 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服務程序來提供Web網站訪問的方式,只要能確保將光盤鏡像順利傳輸給客戶端主機即可。如果打算使用Web網站服務來提供光盤鏡像,一定記得將上面配置文件中的光盤鏡像獲取網址和Kickstart應答文件獲取網址修改一下。

[[email protected] ~]# 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!

劉遄老師再啰嗦一句,在配置文件修改正確之后,一定將相應的服務程序添加到開機啟動項中,這樣無論是在生產環境中還是在紅帽認證考試中,都可以在設備重啟之后依然能提供相應的服務。希望各位讀者一定養成這個好習慣。

[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目錄后,把目錄中的光盤鏡像文件全部復制到vsftpd服務程序的工作目錄中。

[[email protected] ~]# cp -r /media/cdrom/* /var/ftp

這個過程大約需要3~5分鐘。在此期間,我們也別閑著,在firewalld防火墻管理工具中寫入使FTP協議永久生效的允許策略,然后在SELinux中放行FTP傳輸:

[[email protected] ~]# firewall-cmd --permanent --add-service=ftp
success
[[email protected] ~]# firewall-cmd --reload 
success
[[email protected] ~]# setsebool -P ftpd_connect_all_unreserved=on
19.2.5 創建KickStart應答文件

畢竟,我們使用PXE + Kickstart部署的是一套“無人值守安裝系統服務”,而不是“無人值守傳輸系統光盤鏡像服務”,因此還需要讓客戶端主機能夠一邊獲取光盤鏡像,還能夠一邊自動幫我們填寫好安裝過程中出現的選項。簡單來說,如果生產環境中有100臺服務器,它們需要安裝相同的系統環境,那么在安裝過程中單擊的按鈕和填寫的信息也應該都是相同的。那么,為什么不創建一個類似于備忘錄的需求清單呢?這樣,在無人值守安裝系統時,可以從這個需求清單中找到相應的選項值,從而免去了手動輸入之苦,更重要的是,也徹底解放了人的干預,徹底實現無人值守自動安裝系統,而不是單純地傳輸系統光盤鏡像。

有了上文做鋪墊,相信大家現在應該可以猜到Kickstart其實并不是一個服務程序,而是一個應答文件了。是的!Kickstart應答文件中包含了系統安裝過程中需要使用的選項和參數信息,系統可以自動調取這個應答文件的內容,從而徹底實現了無人值守安裝系統。那么,既然這個文件如此重要,該去哪里找呢?其實在root管理員的家目錄中有一個名為anaconda-ks.cfg的文件,它就是應答文件。下面將這個文件復制到vsftpd服務程序的工作目錄中(在開機選項菜單的配置文件中已經定義了該文件的獲取路徑,也就是vsftpd服務程序數據目錄中的pub子目錄中)。使用chmod命令設置該文件的權限,確保所有人都有可讀的權限,以保證客戶端主機可以順利獲取到應答文件及里面的內容:

[[email protected] ~]# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
[[email protected] ~]# chmod +r /var/ftp/pub/ks.cfg

Kickstart應答文件并沒有想象中的那么復雜,它總共只有46行左右的參數和注釋內容,大家完全可以通過參數的名稱及介紹來快速了解每個參數的作用。劉遄老師在這里挑選幾個比較有代表性的參數進行講解,其他參數建議大家自行修改測試。

首先把第6行的光盤鏡像安裝方式修改成FTP協議,仔細填寫好FTP服務器的IP地址,并用本地瀏覽器嘗試打開下檢查有沒有報錯。然后把第21行的時區修改成上海(Asia/Shanghai),最后再把29行的磁盤選項設置為清空所有磁盤內容并初始化磁盤:

[[email protected] ~]# 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步:打開“新建虛擬機向導”程序,選擇“典型(推薦) ”配置類型,然后單擊“下一步”按鈕,如圖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中的“自定義硬件”按鈕,在彈出的如圖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服務可能沒有關閉,由此產生了錯誤分配IP地址的情況。

3.如何啟用TFTP服務?

答:需要在xinetd服務程序的配置文件中把disable參數改成no。

4.成功安裝SYSLinux服務程序后,可以在哪個目錄中找到引導文件?

答:在安裝好SYSLinux服務程序軟件包后,在/usr/share/syslinux目錄中會出現很多引導文件。

5.在開機選項菜單文件中,把default參數設置成linux的作用是什么?

答:目的是讓系統自動開始安裝過程,而不需要運維人員再去選擇是安裝系統還是校驗鏡像文件。

6.安裝vsftpd文件傳輸服務或httpd網站服務的作用是什么?

答:把光盤鏡像文件完整、順利地傳送到客戶端主機。

7.Kickstart應答文件的作用是什么?

答:Kickstart應答文件中包含了系統安裝過程中需要使用的選項和參數信息,客戶端主機在安裝系統的過程中可以自動調取這個應答文件的內容,從而徹底實現無人值守安裝系統。

本文原創地址:http://www.9500870.com/chapter-19.html編輯:劉遄,審核員:暫無