2021-05-12 14:32:11
RHCSA 系列(十二): 使用 Kickstart 完成 RHEL 7 的自動化安裝
無論是在資料中心還是實驗室環境,Linux 伺服器很少是獨立的機器,很可能有時你需要安裝多個以某種方式相互聯絡的機器。假如你將在單個伺服器上手動安裝 RHEL 7 所花的時間乘以你需要設定的機器數量,這將導致你必須做出一場相當長的努力,而通過使用被稱為 kicksta 的無人值守安裝工具則可以避免這樣的麻煩。
在這篇文章中,我們將向你展示使用 kickstart 工具時所需的一切,以便在安裝過程中,不用你時不時地照看“處在襁褓中”的伺服器。
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,orIntel 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 發行版本
------------------------------------------分割線------------------------------------------
Linux 基礎教學:Linux Kickstart 自動安裝 http://www.linuxidc.com/Linux/2015-05/117877.htm
使用PXE+DHCP+Apache+Kickstart無人值守安裝CentOS5.8 x86_64 http://www.linuxidc.com/Linux/2012-12/76913p4.htm
Linux PXE無人值守安裝出現 PXE-E32:TFTP OPen timeout的解決辦法 http://www.linuxidc.com/Linux/2014-03/98986.htm
使用PXE結合kickstart 自動安裝Linux系統 http://www.linuxidc.com/Linux/2014-03/98014.htm
RHCE認證之無人值守安裝Linux系統(FTP+TFTP+DHCP+Kickstart+PXE) http://www.linuxidc.com/Linux/2013-10/91013.htm
PXE網路裝機(有人值守與無人值守安裝) http://www.linuxidc.com/Linux/2013-07/87456.htm
via: http://www.tecmint.com/automatic-rhel-installations-using-kickstart/
作者:Gabriel Cánepa 譯者:FSSlc 校對:wxy
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-10/123738.htm
相關文章