RHCSA 系列(十二): 使用 Kickstart 完成 RHEL 7 的自動化安裝
RHCSA: RHEL 7 的自動化 Kickstart 安裝
Kickstart 和自動化安裝簡介
Kickstart 是一種被用來執行無人值守操作系統安裝和配置的自動化安裝方法,主要被 RHEL(以及其他 Fedora 的副產品,如 CentOS,Oracle Linux 等)所使用。因此,kickstart 安裝方法可使得系統管理員只需考慮需要安裝的軟體包組和系統的配置,便可以得到相同的系統,從而省去必須手動安裝這些軟體包的麻煩。
準備 Kickstart 安裝
要執行 kickstart 安裝,我們需要遵循下面的這些步驟:
- 創建一個 Kickstart 文件,它是一個帶有多個預定義配置選項的純文本文件。
- 將 Kickstart 文件保存在可移動介質上,如一個硬碟或一個網路位置。kickstart 客戶端需要使用
rhel-server-7.0-x86_64-boot.iso
鏡像文件,而你還需要可從一個網路資源上獲取得到完整的 ISO 鏡像rhel-server-7.0-x86_64-dvd.iso
,例如通過一個 FTP 伺服器的 HTTP 服務形式(在我們當前的例子中,我們將使用另一個 IP 地址為 192.168.0.18 的 RHEL 7 機器)。 - 開始 Kickstart 安裝。
要創建一個 kickstart 文件,請登錄你的紅帽客戶門戶網站(Red Hat Customer Portal)帳戶,並使用 Kickstart 配置工具 來選擇所需的安裝選項。在向下滑動之前請仔細閱讀每個選項,然後選擇最適合你需求的選項:
Kickstart 配置工具
假如你指定安裝將通過 HTTP,FTP,NFS 來執行,請確保伺服器上的防火牆允許這些服務通過。
儘管你可以使用紅帽的在線工具來創建一個 kickstart 文件,但你還可以使用下面的代碼來作為參考手動地創建它。例如,你可以注意到,下面的代碼指定了安裝過程將使用英語環境,使用拉丁美洲鍵盤布局,並設定時區為 America/Argentina/San_Luis 時區:
lang en_US
keyboard la-latin1
timezone America/Argentina/San_Luis --isUtc
rootpw $1$5sOtDvRo$In4KTmX7OmcOW9HUvWtfn0 --iscrypted
#platform x86, AMD64, or Intel EM64T
text
url --url=http://192.168.0.18//kickstart/media
bootloader --location=mbr --append="rhgb quiet crashkernel=auto"
zerombr
clearpart --all --initlabel
autopart
auth --passalgo=sha512 --useshadow
selinux --enforcing
firewall --enabled
firstboot --disable
%packages
@base
@backup-server
@print-server
%end
在上面的在線配置工具中,在選擇以 HTTP 來作為安裝源後,設置好在安裝過程中使用 192.168.0.18 來作為 HTTP 伺服器的地址,/kickstart/tecmint.bin
作為 HTTP 目錄。
在上面的 kickstart 示例文件中,你需要特別注意
url --url=http://192.168.0.18//kickstart/media
這個目錄是你展開 DVD 或 ISO 安裝介質內容的地方。在執行解壓之前,我們將把 ISO 安裝文件作為一個迴環設備掛載到 /media/rhel 目錄下:
# mount -o loop /var/www/html/kickstart/rhel-server-7.0-x86_64-dvd.iso /media/rhel
掛載 RHEL ISO 鏡像
接下來,複製 /media/rhel 中的全部文件到 /var/www/html/kickstart/media 目錄:
# cp -R /media/rhel /var/www/html/kickstart/media
這一步做完後,/var/www/html/kickstart/media 目錄中的文件列表和磁碟使用情況將如下所示:
Kickstart 媒體文件
現在,我們已經準備好開始 kickstart 安裝了。
不管你如何選擇創建 kickstart 文件的方式,在執行安裝之前檢查下這個文件的語法是否有誤總是一個不錯的主意。為此,我們需要安裝 pykickstart 軟體包。
# yum update && yum install pykickstart
然後使用 ksvalidator 工具來檢查這個文件:
# ksvalidator /var/www/html/kickstart/tecmint.bin
假如文件中的語法正確,你將不會得到任何輸出,反之,假如文件中存在錯誤,你得到警告,向你提示在某一行中語法不正確或出錯原因未知。
執行 Kickstart 安裝
首先,使用 rhel-server-7.0-x86_64-boot.iso 來啟動你的客戶端。當初始屏幕出現時,選擇安裝 RHEL 7.0 ,然後按 Tab 鍵來追加下面這一句,接著按 Enter 鍵:
# inst.ks=http://192.168.0.18/kickstart/tecmint.bin
RHEL Kickstart 安裝
其中 tecmint.bin 是先前創建的 kickstart 文件。
當你按了 Enter 鍵後,自動安裝就開始了,且你將看到一個列有正在被安裝的軟體的列表(軟體包的數目和名稱根據你所選擇的程序和軟體包組而有所不同):
RHEL 7 的自動化 Kickstart 安裝
當自動化過程結束後,將提示你移除安裝介質,接著你就可以啟動到你新安裝的系統中了:
RHEL 7 啟動屏幕
儘管你可以像我們前面提到的那樣,手動地創建你的 kickstart 文件,但你應該儘可能地考慮使用受推薦的方式:你可以使用在線配置工具,或者使用在安裝過程中創建的位於 root 家目錄下的 anaconda-ks.cfg 文件。
這個文件實際上就是一個 kickstart 文件,你或許想在選擇好所有所需的選項(可能需要更改邏輯卷布局或機器上所用的文件系統)後手動地安裝第一個機器,接著使用產生的 anaconda-ks.cfg 文件來自動完成其餘機器的安裝過程。
另外,使用在線配置工具或 anaconda-ks.cfg 文件來引導將來的安裝將允許你在系統安裝時以加密的形式設置 root 密碼。
總結
既然你知道了如何創建 kickstart 文件並如何使用它們來自動完成 RHEL 7 伺服器的安裝,你就可以不用時時照看安裝進度的過程了。這將給你時間來做其他的事情,或者若你足夠幸運,你還可以用來休閑一番。
無論以何種方式,請使用下面的評論欄來讓我們知曉你對這篇文章的看法。提問也同樣歡迎!
另外,請閱讀:使用 PXE 和 kickstart 來自動化安裝多個 RHEL/CentOS 7 發行版本
via: http://www.tecmint.com/automatic-rhel-installations-using-kickstart/
作者:Gabriel Cánepa 譯者:FSSlc 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive