HOME 回資訊服務處首頁 Login
2010年第6期
簡訊
歡迎參加「本院第11次資訊業務協調會」暨「第11次資訊主管座談會」
採購ACM Digital Library電腦資訊科技相關全文資料庫
歡迎報名3個「資料庫」訓練課程
「網路影音服務」新增2場活動內容
派員參與「2010海峽兩岸遙測/遙感研討會」
「2010第五屆數位教學暨資訊實務研討會」3/31假南台科大舉行
中心動態
中心紀事(98年7-12月)
資訊技術
RedHat Kickstart簡介
 
資訊技術 >
上一篇 | 返回電子報
 
RedHat Kickstart簡介
 
陸維肇

前言

 在作業系統的安裝過程中,只要和安裝程式互動,回答一些問題,安裝程式就能把我們想要的系統安裝並設定完成。這種互動式的設計,減少了作業系統的安裝難度。

 對於需要安裝多台電腦的人來說,重複回答相同的問題,不但要有耐心,更要細心,因為只要有問題回答錯了,安裝出來的系統可能就不是所期待的系統。對於電腦教室或是Cluster的管理者來說,動輒需要安裝幾十台甚至上百台電腦,重複回答這種相同問題的過程簡直是一場惡夢。以人工的方式大量安裝作業系統難免會有錯誤出現,而錯誤一旦發生,不僅要花費時間找出安裝錯誤的電腦,更要花費時間重新安裝作業系統。所幸多數的作業系統安裝程式提供了一個自動安裝作業系統的解決方案,這對於常常需要安裝大量電腦的人來說,無疑是一大福音,不但可減少出錯的機會,同時也大幅降低了安裝時間。

 由於作業系統安裝程式以互動式問答的方式,來瞭解使用者所希望的安裝內容及系統架構。因此,只要預先將安裝過程中所需要回答的答案,寫成設定檔並存放在指定的地方,讓作業系統安裝程式讀取,那麼,安裝程式就可以依照這些答案完成安裝工作。換句話說,使用自動安裝作業系統具有以下多項的優點:

  1. 自動化安裝,縮短安裝時間;
  2. 避免安裝階段人為的錯誤;
  3. 可大量部署電腦;
  4. 可快速建置(復原)系統。

 以常見的作業系統來說,RedHat Linux和Ubuntu Linux有Kickstart(詳見參考資料1);Suse Linux有AutoYaST(詳見參考資料2);而Windows有RIS、sysprep、answer file(詳見參考資料3,4,5)。以下本文將針對RedHat Linux的Kickstart做一簡單的介紹。

RedHat Linux的Kickstart

 安裝Red Hat Linux時,電腦透過開機媒體啟動後,會去讀取開機媒體中的檔案,進行作業系統的安裝工作。我們可以在開機媒體中,指定kickstart檔案的位置,當讀取到kickstart檔案後,就能依照kickstart檔案的設定,開始安裝Red Hat Linux。

 使用Kickstart安裝RedHat Linux就像平常安裝系統一樣,但有些額外的工作需要進行。請依照下列的步驟,使用kickstart安裝作業系統:

一、建立kickstart檔案

 RedHat Linux提供了一個工具,協助我們建立kickstart檔案。以RedHat Enterprise 5為例,要使用這個工具,需要在RedHat Linux中先安裝套件system-config-kickstart。之後,便可以利用指令system-config-kickstart,來產生kickstart檔案。

 在X介面的system-config-kickstart視窗中,請依照安裝需求,逐項填入所需資訊。下列的第1-5及第9項建議填寫,其他項目可以使用預設的設定。填寫完畢後,選擇File、Save File,就能產生kickstart描述檔:

  1. root密碼、預設語系、時區;
  2. 安裝方法,如NFS、FTP、CD-ROM等方式;
  3. Boot Loader的安裝方式;
  4. 硬碟分割區資訊;
  5. 網路設定,選擇DHPC或是自行輸入網路設定;
  6. 認證方式(通常不需更動,使用預設值就好);
  7. 防火牆設定;
  8. X Window設定;
  9. 選擇安裝套件;
  10. 安裝前的前置作業;
  11. 安裝後的後置作業。 

 透過X介面的system-config-kickstart視窗所產生的kickstart檔案,已經可以滿足大部份的安裝需求。如有其他特殊需求,需要調整kickstart檔案的參數,請參閱參考資料1的文件進行調整。

二、將kickstart檔案存放在可存取的位置

 RedHat Linux支援多種安裝方式,其中包含了網路安裝。kickstart檔案的取得也支援了多種方式,不論是把kickstart檔案放在開機媒體內,或是透過網路來取得。

 如果透過網路的方式來取得kickstart檔案的話,必須指定kickstart檔案的位置及取得的方式。目前可以透過NFS及HTTP的方式來取得kickstart檔案。

 在指定kickstart檔案的位置時,如果指定的位置是一個目錄,那麼kickstart便會在指定目錄下尋找<IP-addr>-kickstart的檔案,當作kickstart檔案,進行安裝作業。其中<IP-addr>為電腦的IP,例如電腦IP為192.168.1.27,那麼kickstart便會在指定的目錄中尋找檔名為192.168.1.27-kickstart的檔案,來進行安裝作業。

三、製作開機媒體

 Red Hat Linux現可支援光碟或USB開機,我們可以從安裝光碟中找到isolinux的目錄,將此目錄複製出來,並修改檔案isolinux.cfg,使得製作出來的開機媒體預設使用kickstart進行安裝。

四、準備好安裝來源

 Red Hat Linux支援多種安裝方式,安裝來源可以是CD-ROM、NFS、FTP、HTTP及硬碟安裝。在大量安裝的情況下,建議使用網路安裝的方式(NFS、FTP、HTTP),可以在同一時間安裝多台電腦,減少大量安裝所需的時間。

五、使用kickstart進行安裝

 上述的準備工作完成後,就可以將開機媒體放入,啟動電源進行kickstart安裝作業系統了。

【範例說明】

 以下以中心HPC服務的計算節點安裝為例,說明使用kickstart進行大量安裝。HPC服務安裝作業系統之前,會先將所有電腦的網路卡位址,註冊在DHCP Server之中,讓每台電腦都能取得自己的IP,以便進行網路安裝。因此,每台電腦都有屬於自己的IP位址,當然也有屬於自己的kickstart檔案。之後,再依照上述的步驟進行kickstart安裝作業系統,說明如下:

一、建立kickstart檔案

 我們透過system-config-kickstart來產生kickstart檔案,並依照HPC的計算節點需求,逐項填寫。最後,希望作業系統完成後,進行一個後置的作業,例如:TCP Wrapper設定。所得到的kickstart檔案看起來如下,其中%post的部分就是進行TCP Wrapper的設定。

#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth  --useshadow  --enablemd5
# System bootloader configuration
bootloader --location=mbr
......
# Use network installation
url --url=ftp://ftp.site/pub/redhat/5
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
......
# Disk partitioning information
part / --bytes-per-inode=4096 --fstype="ext3" --ondisk=sda --size=5000
......
part swap --bytes-per-inode=4096 --fstype="swap" --grow --ondisk=sda --size=1
%packages
@admin-tools
......
%post
echo "ALL:ALL" >> /etc/hosts.deny
echo "sshd: 192.168.1.250" >> /etc/hosts.allow

二、將kickstart檔案存放在可存取的位置

 由於有大量安裝的需求且有各種不同用途的機器需要安裝,HPC服務將這些不同的安裝需求都做成kickstart檔案,放在web server上,透過HTTP來取得kickstart檔案。

三、製作開機媒體
 
1. 複製安裝光碟中的isolinux目錄,並將目錄及檔案的權限改為可寫。
2. 修改isolinux/isolinux.cfg
(1)讓開機媒體預設使用kickstart安裝
找到
default linux
改為
default ks

(2)利用ks參數,指定kickstart檔案的位置
找到
label ks
kernel vmlinuz
append ks initrd=initrd.img

改為
label ks
kernel vmlinuz
append ks=http://kickstart.site/kickstart/ ksdevice=eth0 initrd=initrd.img

(3)依照下面指令,產生kickstart.iso檔,以便放進開機媒體中:
mkisofs -o kickstart.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4
-boot-info-table -R -J -v -T isolinux/

 如此,我們就可以將kickstart檔案,依照<IP-addr>-kickstart的方式命名,放在指定的web server目錄中,利用製作出來的開機媒體,就能進行kickstart安裝了。

四、準備好安裝來源

 在kickstart檔案中,指定了安裝來源。因此,必須在指定的位置,放上安裝時需要的檔案並啟動ftp service。

五、放入開機媒體,啟動電源開始安裝。

結語

 在開機媒體中指定的kickstart路徑為目錄時,kickstart將會尋找<IP-addr>-kickstart的檔案。我們可以利用這個特性,配合DHCP達成整個系統的安裝或重建。只要將每一台電腦的網路卡位址註冊到DHCP Server中,使得每台電腦開機後就能取得屬於自己的IP位址,再讓kickstart尋找屬於自己的kickstart檔案,進行不同的安裝作業。如此,就能快速的完成整個系統的安裝或重建。

參考資料

1. RedHat Kickstart
2. Suse AutoYaST
3. Windows:如何設定、設定,及在Windows 2000中使用遠端安裝服務
4. Windows:如何使用Sysprep工具將成功的Windows XP部署作業自動化
5. Windows:系統準備工具與回應檔案用法




上一篇 | 返回電子報
 
 本電子報所有文字、圖片版權為中央研究院所有 。 電子報出版系統由中央研究院資訊服務處開發。