打造REDHAT網絡安裝服務器
本文介紹了 PC 平台上的一種快速 Red Hat Linux 安裝方案。他具有非常高的自動化程度--用戶只需手工啟動機器並選擇從網絡啟動,就能完成整個安裝過程。在需要批量安裝大量
Red Hat Linux 系統和需要技術人員 Red Hat Linux 安裝支持的情況下,這種方案能節省大量的時間。
而且由於不必額外的軟件和光驅和軟驅等硬件設備,在成本上也有非常大優勢。所有安裝 Red Hat Linux 的研發/測試人員,和 IT 支持人員都能夠從本文中獲益。讀者在閱讀本文前需要有 Red Hat Linux 的安裝經驗。
1. 引言
一般情況下,安裝Linux需要從光驅用安裝光盤啟動機器,然後進入交互式安裝界面輸入安裝所需的各種設置完成安裝。在下面這些情況下,這種安裝方式就會暴露出缺點:
1) 機器無光驅、光驅壞了(這種情況在現實中頻繁發生) 或光盤壞了,無法從光驅安裝Linux。
2) 軟件測試人員在搭建測試環境時,需要安裝大量的Red Hat Linux測試機器時。這時采用手工安裝方式逐台機器安裝效率會非常低。
3) 對IT支持人員來說,指導一個RedHat Linux生手安裝Red Hat Linux系統會耗費非常多時間。日復一日重復這種工作會浪費寶貴的人力資源。
從降低商業成本和提高安裝系統效率的角度出發,本文向大家介紹一種方案--基於網絡的Red Hat無人值守安裝。該方案將非常多安裝准備工作在服務器上一次性完成,這樣在客戶機上安裝時就不必為每個客戶機重復這些工作,節省了時間和成本,提高了效率。
在一次性的環境設置工作完畢後,該套方案能達到非常高的自動化程度:用戶只需要執行非常少的手工步驟即可完成安裝。安裝過程中的手工步驟和自動步驟如下:
1) 手工步驟:開機,選擇從網絡啟動。如果你的方案設置得比較負責復雜靈活,也許還需要你選擇安裝何種系統。總之,手工步驟非常少。
2) 自動化步驟:剩余步驟,包括系統設置,硬盤分區,和程式包安裝,將全部自動完成。
2. 方案介紹
這種方案需要首先設置一個啟動服務器和一個安裝服務器(能設置在同一台物理機上),然後通過網絡啟動存放在啟動服務器上的安裝程式。安裝程式會自動訪問存放在安裝服務器上的安裝設置文件和安裝介質來完成安裝。
涉及到的技術
該方案主要應用了三種技術:
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是網絡安裝環境的一個原理示意圖。整個安裝環境由一個局域網,和連接到該局域網的三台機器組成:啟動服務器(Boot Server),安裝服務器(Installation Server),和待安裝機器(Client)。其中啟動服務器和安裝服務器能部署在同一台物理機上。表1列出了對這些機器的軟硬件需求,和其上負載的服務和數據。
圖1 網絡安裝原理示意圖
表1 網絡安裝環境裡各機器上的軟硬件設置
該方案的實現步驟
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。
3. 步驟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