基于網絡的Red Hat Linux無人值守安裝方法

1. 方案介紹

這種方案需要首先設置一個啓動服務器和一個安裝服務器(可以配置在同一台物理機上),然後通過網絡啓動存放在啓動服務器上的安裝程序。安裝程序會自動訪問存放在安裝服務器上的安裝配置文件和安裝介質來完成安裝。

涉及到的技術

該方案主要應用了三種技術:

1) 在PC上從網絡啓動Red Hat Linux安裝程序的PXE協議

2) Red Hat Linux安裝程序提供的網絡安裝功能(即指通過網絡訪問安裝介質)

3) Red Hat Linux 安裝程序提供的無人值守安裝功能(Red Hat稱爲kickstart)

技術1)和2)在參考資料1和2裏已有部分介紹。本文將重點描述參考資料中未涉及部分和無人值守安裝功能。

軟硬件需求

要按本文介紹的方法完成自動化安裝,你需要如下軟硬件資源:

一台PC機器作爲啓動和安裝服務器(其它架構機器也可以)

一台待安裝的PC機器,它的網卡必須帶有PXE支持

一個建好的局域網,上述兩台機器已經連接入同一子網

待安裝的Red Hat Linux安裝介質

該方案的實現步驟

1) 配置啓動服務器

2) 配置安裝服務器

3) 從網絡啓動機器以完成安裝

步驟1)和2)只需做一次即可。對每一台需安裝Red Hat Linux的機器,都需要在啓動服務器和安裝服務器中部署相應的數據,並執行一次步驟3)。

下面將帶領您逐一執行這些步驟。爲了簡單,我將用示例來說明如何在一台安裝了 Red Hat Enterprise Linux AS 3 Update 5 的 PC 機上設置啓動服務器和安裝服務器,並在一台PC上安裝 Red Hat Enterprise Linux AS 4 Update 2。

2. 步驟1:配置啓動服務器

啓動服務器的目的是幫助在待安裝機器上啓動Red Hat Linux 安裝程序。啓動服務器上需要搭建一個DHCP 服務器和一個TFTP 服務器。前者是爲了給待安裝機器分配IP地址,後者則是提供了一個讓待安裝機器下載啓動鏡像的途徑。

配置DHCP 服務器

1) 安裝DHCP服務器包(RPM包名:dhcpd)。

2) 編輯DHCP服務器配置文件 /etc/dhcp.conf。這裏是一個示例:

option domain-name "mydomain";

ddns-update-style none;

max-lease-time 7200;

server-name "bootserver";

default-lease-time 600;

allow booting;

allow bootp;

subnet 192.168.138.0 netmask 255.255.255.0 {

range 192.168.138.1 192.168.138.254;

deny unknown-clients;

}

group pxe {

filename "pxelinux.0";

host testserver { hardware ethernet 00:0C:29:70:24:5B; fixed-address

192.168.138.30; }

}

在這個例子中,定義的子網是 192.168.138.0/255.255.255.0。主機定義項testserver指出 IP 地址 192.168.138.30 將分配給以太網卡00:0C:29:70:24:5B(待安裝機器),文件 pxelinux.0(在 TFTP 服務器的根目錄中)將作爲啓動映像被網卡ROM裏的PXE客戶端載入內存並運行。

每增加一台需安裝的機器,我們需在dhcpd.conf中增加一條host條目。

3) 給啓動服務器配置一個IP,這個IP必須在DHCP服務器定義的子網內。

這裏我們使用192.168.138.1。關于如何爲Red Hat Linux系統配置IP地址,請查閱參考資料3。

4) 啓動DHCP服務。

[root@bsvr] #service dhcpd restart

配置TFTP服務器

1) 安裝TFTP服務器包(RPM包名:tftpd)。

2) 編輯TFTP 服務器的配置文件 /etc/xinetd.d/tftp。配置文件如下:

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /tftpboot

disable = no

}

這裏選定了/tftpboot爲TFTP 服務器的根目錄位置。

3) 將Linux安裝程序的內核/根文件系統文件複制到 TFTP 服務器的根目錄。對于每一個要被安裝的Red Hat Linux版本,都需要執行一次該操作。

Red Hat Linux第一張安裝光盤/isolinux目錄下會包含Linux安裝程序的內核/根文件系統文件。下面一段命令將這些文件複制到TFTP服務器的根目錄下,並按照版本重新命名。

[root@bsvr]#mkdir /mnt/iso

[root@bsvr]#mount -o loop,ro RHEL4-U2-i386-AS-disc1.iso /mnt/iso

[root@bsvr]#cp /mnt/iso/isolinux/initrd.img /tftpboot

[root@bsvr]#cp /mnt/iso/isolinux/vmlinuz /tftpboot

[root@bsvr]#mv /tftpboot/initrd.img /tftpboot/initrd-rhel4u2-i386.img

[root@bsvr]#mv /tftpboot/vmlinuz /tftpboot/vmlinuz-rhel4u2-i386

4) 將啓動鏡像文件pxelinux.0複制到TFTP服務器根目錄。

啓動鏡像pxelinux.0可以在syslinux安裝包裏獲得。安裝好syslinux安裝包後,將pxelinux.0複制到TFTP服務器根目錄。

[root@bsvr]#cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

5) 編輯pxelinux.0的配置文件,以使pxelinux可以正確載入Red Hat Linux安裝程序。對于每一個要被安裝的Red Hat Linux版本,都需要執行一次該操作。

啓動鏡像pxelinux.0文件在執行過程中,會讀取配置文件以確定它應該載入什麽Linux內核文件來運行。所有的配置文件都放在啓動服務器的/tftpboot/pxelinux.cfg/目錄下。pxelinux.0根據一定的規則來搜索合適的配置文件名。舉例來說,對于前面爲待安裝機器分配的IP地址192.168.138.30(十六進制表示爲C0A88A1E),pxelinux.0會按如下次序搜索配置文件:

C0A88A1E > C0A88A1 > … > C0 > C > default

就是說,如果C0A88A1E文件存在,它就是pxelinux.0將載入的配置文件。否則,繼續往下找。如果C0A88A1文件存在,它就是pxelinux.0將載入的配置文件。如果前面的以C開頭的文件都不存在,那麽pxelinux.0將試圖從文件default中讀取配置。對于一台需要支持很多安裝機器的安裝服務器來說,將配置寫在與IP地址對應的文件裏很不靈活。把所有配置都集中在default文件中是個不錯的主意,可以減輕配置文件維護負擔。

可以將能想到的Red Hat Linux版本的配置都寫在default文件裏,以便同時支持多種Red Hat Linux版本,如下所示(對于具體某個 Red Hat Linux版本,對應的行該如何寫,可以參考它安裝盤裏的配置文件 /isolinux/isolinux.cfg):

DEFAULT rhel4u2-i386

DISPLAY pxelinux.cfg/list

PROMPT 1

LABEL rhel3u6-i386

KERNEL vmlinuz-rhel3u6-i386

APPEND initrd=initrd-rhel3u6-i386.img

LABEL rhel3u6-x86_64

KERNEL vmlinuz-rhel3u6-x86_64

APPEND initrd=initrd-rhel3u6-x86_64.img devfs=nomount ramdisk_size=9216

LABEL rhel4u2-i386

KERNEL vmlinuz-rhel4u2-i386

APPEND initrd=initrd-rhel4u2-i386.img ramdisk_size=8192

這樣用戶可以通過輸入某種版本的LABEL(例如,rhel4u2-i386)來選擇具體的安裝版本。爲了能在安裝時知道有哪些備選,可以讓pxelinux.0提示要戶選擇之前顯示一個列表。這通過在default裏指定DISPLAY選項來實現。在上面的樣例中,我們將所有備選Red Hat Linux版本列在文件pxelinux.cfg/list中,它的內容會被pxelinux.0顯示出來。

在我們的例子中,/tftpboot/pxelinux.cfg/list文件內容如下:

Choose one of the following Linux distributions for your installation:

Name Distribution Arch. Installation media

-------------------------------------------------------------------------

rhel3u6-i386 RHEL 3 AS U6 i386 192.168.138.1:/instsvr/i386/rhel3u6

rhel3u6-x86_64 RHEL 3 AS U6 x86_64 192.168.138.1:/instsvr/x86_64/rhel3u6

rhel4u2-i386 RHEL 4 AS U2 i386 192.168.138.1:/instsvr/i386/rhel4u2

6) 啓動TFTP服務。

[root@bsvr]#service xinetd restart

3. 步驟2:配置安裝服務器

安裝服務器在安裝期間提供對 Linux 安裝介質和無人值守安裝配置文件的訪問。安裝介質存儲在服務器上的一個目錄中,可以使用各種網絡協議訪問它,比如 HTTP,FTP,和NFS。使用NFS協議,Red Hat Linux安裝程序可以支持多種安裝介質目錄結構,尤其是支持ISO光盤鏡像文件。這裏我們選擇使用NFS協議來訪問安裝介質。

配置NFS服務器

1) 准備ISO安裝介質。將Red Hat Linux安裝介質的ISO文件都放置到/instsvr目錄下。注意不要改變文件名。

[root@bsvr]#mkdir /instsvr

[root@bsvr]#mv RHEL4-U2-i386-AS-disc1.iso /instsvr/i386/rhel4u2

[root@bsvr]#mv RHEL4-U2-i386-AS-disc2.iso /instsvr/i386/rhel4u2

[root@bsvr]#mv RHEL4-U2-i386-AS-disc3.iso /instsrv/i386/rhel4u2

[root@bsvr]#mv RHEL4-U2-i386-AS-disc4.iso /instsrv/i386/rhel4u2

2) 編輯NFS服務器配置文件 /etc/exports,以允許其它機器通過NFS訪問目錄/instsrv。/etc/exports 文件內容如下:

/instsvr *(ro,no_root_squash,sync)

其中:

* 表示任何IP地址都可以訪問該目錄。爲了安全的考慮,也可以指定具體的IP地址。

ro 表示遠程機器對該目錄只有讀權限。

其它選項請參考NFS手冊。

3) 重新啓動NFS服務以使新配置生效

[root@bsvr]# service portmap restart; service nfs restart

4) 檢測目錄/instsrv是否已被正確共享

[root@bsvr]#showmount -e localhost

Export list for localhost:

/instsrv *

這樣,我們就設置好了一個安裝服務器。很簡單吧!

配置kickstart安裝

自從 5.2 版開始, Red Hat Linux 開始支持一個稱爲 kickstart 的功能,其主要目的是爲了減少安裝過程中的人機交互,提高安裝效率。使用這種方法,只需事先定義好一個配置文件(通常存放在安裝服務器上),並讓安裝程序知道該配置文件的位置,在安裝過程中安裝程序就可以自己從該文件中讀取安裝配置,這樣就避免了繁瑣的人機交互,實現無人值守的自動化安裝。

要使用 kickstart ,你必須:

1) 創建 kickstart 配置文件。

2) 部署kickstart配置文件,即將kickstart配置文件放置到安裝服務器上,並在安裝程序的kernel參數中指定kickstart配置文件的位置。

創建kickstart配置文件

kickstart 配置文件是一個簡單的文本文件,包含一個安裝項目列表。每個項目對應于一個安裝選擇,都用關鍵字標明。

有如下幾種方法生成kickstart配置文件:

Red Hat提供了一個樣例文件。在Red Hat Linux 文檔光盤中 RH-DOCS 目錄裏的 sample.ks 文件。你可以基于該樣例來創建你自己的配置kickstart文件。

每當你安裝好一台Red Hat Linux機器,Red Hat Linux 安裝程序都會創建一個 kickstart 配置文件,記錄你的真實安裝配置。如果你希望實現和某系統類似的安裝,可以基于該系統的kickstart配置文件來生成你自己的kickstart配置文件。

Red Hat Linux提供了一個圖形化的kickstart配置工具。在任何一個安裝好的Red Hat Linux系統上運行該工具,就可以很容易地創建你自己的kickstart配置文件。kickstart配置工具命令爲redhat-config-kickstart(RHEL3)或system-config-kickstart(RHEL4)

閱讀kickstart配置文件的手冊。用任何一個文本編輯器都可以創建你自己的kickstart配置文件。

這裏有一個kickstart配置文件樣例:

注意:筆者在此處刪除了原文的kickstart樣例,因爲,不同公司 有不同的安裝需求,放一個樣例在這裏實在沒有什麽意思。

對于kickstart文件,有一點值得我們注意,那就是 %post 以後代表完成系統安裝之後將要執行的命令,我們可以在此配置系統,比如調整內核參數,配置主機防火牆等等。

所有以"#"號開頭的都是注釋。

文件中的nfs --server=192.168.138.1 --dir=/instsvr/i386/rhel4u2選項告訴安裝程序:到服務器192.168.138.1的NFS共享目錄/instsvr/i386/rhel4u2下尋找安裝介質。Red Hat Linux安裝程序足夠聰明,可以識別該目錄下應該被讀取的ISO光盤鏡像文件名,所有這裏你不需要指定ISO文件名。

關于kickstart配置文件支持的所有選項及其相信說明,請查閱參考資料3。

部署kickstart配置文件

首先我們需要把kickstart配置文件放在安裝服務器上。我們把它放到/instsvr/ks目錄下。即該文件的NFS訪問路徑爲:

nfs:192.168.138.1:/instsvr/ks/ks.cfg

其次,我們需要讓安裝程序知道我們希望它用kickstart方式安裝,並告知它可以從哪裏獲得kickstart配置文件。這可以通過給內核添加一個參數"ks=kickstart配置文件路徑"來實現。我們只需對啓動服務器上的default文件做一些小修改就可以做到這點:

LABEL rhel4u2-i386

KERNEL vmlinuz-rhel4u2-i386

APPEND ks=nfs:192.168.138.1:/instsvr/ks/ks.cfg initrd=initrd-rhel4u2-i386.img

ramdisk_size=8192

這樣在啓動安裝程序的時候,參數ks=nfs:192.168.138.1:/instsvr/ks/ks.cfg會被傳遞給它,告訴它使用這個文件作爲kickstart配置文件來進行kickstart安裝。

5. 步驟3:從網絡啓動機器以完成安裝

前面的配置工作完成後,下面我們就在待安裝機器上通過網絡以無人值守的方式來安裝Red Hat Enterprise Linux AS 4 Update 2。

啓動待安裝機器,選擇從網卡啓動。具體方法因BIOS版本不同而異。

基于網絡的Red Hat Linux無人值守安裝方法
1. 方案介紹 這種方案需要首先設置一個啓動服務器和一個安裝服務器(可以配置在同一台物理機上),然後通過網絡啓動存放在啓動服務器上的安裝程序。安裝程序會自動訪問存放在安裝服務器上的安裝配置文件和安裝介質來...查看完整版>>基于網絡的Red Hat Linux無人值守安裝方法
 
基于網絡的Red Hat Linux無人值守安裝方法
1. 方案介紹這種方案需要首先設置一個啓動服務器和一個安裝服務器(可以配置在同一台物理機上),然後通過網絡啓動存放在啓動服務器上的安裝程序。安裝程序會自動訪問存放在安裝服務器上的安裝配置文件和安裝介質來完...查看完整版>>基于網絡的Red Hat Linux無人值守安裝方法
 
Red Hat Linux 7.0安裝使用手記(六則)
Red Hat Linux 7.0安裝使用手記(六則) Red Hat Linux 7.0安裝使用手記(六則) Red Hat Linux 7.0安裝使用手記(1)  最近有關Linux産品的重大新聞莫過于Red Hat Linux 7.0版本的上市了。作爲業界頂級廠商...查看完整版>>Red Hat Linux 7.0安裝使用手記(六則)
 
安裝和更新Red Hat Linux軟件包
Red Hat Linux 由多種程序的文件而已。 本章向你解釋了三種更新系統的方法:使用 Red Hat 網絡;使用在線勘誤列表;使用 Red Hat Linux 安裝光盤。 15.1. Red Hat 網絡 Re...查看完整版>>安裝和更新Red Hat Linux軟件包
 
在雙引導環境中安裝 Red Hat Linux
G.2. 在雙引導環境中安裝 Red Hat Linux 當 Windows 已被安裝,而且你已爲 Linux 准備了空閑磁盤空間之後,你就可以啓動 Red Hat Linux 安裝程序了。請跳到 來開始。這時候,常規的 Red Hat Linux 安裝...查看完整版>>在雙引導環境中安裝 Red Hat Linux
 
在red hat linux 10下安裝 eclipse 3
我是在winxp上使用vmware 4安裝調試的1、假定你已經安裝好vmware 4和linux2、下在j2sdk-1_4_2_05-linux-i586-rpm.bin,保存在/mnt下3、chmod +x j2sdk-1_4_2_05-linux-i586-rpm.bin,解出j2sdk-1_4_2_05-linux-i586....查看完整版>>在red hat linux 10下安裝 eclipse 3
 
Red Hat Linux 7.0安裝使用手記(六則)
Red Hat Linux 7.0安裝使用手記(1)  最近有關Linux産品的重大新聞莫過于Red Hat Linux 7.0版本的上市了。作爲業界頂級廠商,他的一舉一動都令人矚目。在Linux世界裏面,軟件産品版本由6.2“蹦到”7.0,就可以認爲産...查看完整版>>Red Hat Linux 7.0安裝使用手記(六則)
 
Red Hat Linux Fedora Core系統管理與網絡配置指南(附盤)|報價¥36.70|圖書,計算機與互聯網,綜合,沈炜
目錄:圖書,計算機與互聯網,綜合,品牌:沈炜基本信息·出版社:人民郵電·頁碼:410 頁碼·出版日:2007年·ISBN:7115158703·條碼:9787115158703·版次:1·裝幀:平裝·開本:0開 0開內容簡介本書全面、翔實地介...查看完整版>>Red Hat Linux Fedora Core系統管理與網絡配置指南(附盤)|報價¥36.70|圖書,計算機與互聯網,綜合,沈炜
 
網管員必備寶典-Red Hat Enterprise Linux 4.0網絡管理(網管員必備寶典系列叢書)|報價¥36.70|圖書,計算機與互聯網,綜合,倪春勝
目錄:圖書,計算機與互聯網,綜合,品牌:倪春勝基本信息·出版社:清華大學·頁碼:541 頁碼·出版日:2007年·ISBN:7302151040·條碼:9787302151043·版次:1·裝幀:平裝·開本:0開 0開...查看完整版>>網管員必備寶典-Red Hat Enterprise Linux 4.0網絡管理(網管員必備寶典系列叢書)|報價¥36.70|圖書,計算機與互聯網,綜合,倪春勝
 
 
回到王朝網路移動版首頁