DRBL + Clonezilla 伺服器安裝與佈署

1) CentOS 4.6 最小安裝

(測試期間,會選 4.6 版是因為 4.5 版沒有有網路 Source)

(需要有兩張網卡,或者用 eth0, eth0:1 的方式帶過)

2) import key
rpm –import http://drbl.nchc.org.tw/GPG-KEY-DRBL

3) 安裝 perl-Digest-SHA1
yum install perl-Digest-SHA1

4) 安裝 drbl 穩定版最件
rpm -ivh http://drbl.nchc.org.tw/one4all/desktop/download/stable/RPMS/drbl-current.i386.rpm

5) 安裝 drbl 伺服器
/opt/drbl/sbin/drblsrv -i –language 1

*****************************************************.
提示! 當有yes/no選項的時候,預設的值是大寫的字母。例如 (y/N), 預設值是 “N”, 當你按 “Enter”的時候,程式使用的值就是 “N”。如果你不確認選用那個好的時候,直接按”Enter”鍵是一個保險的方式。
*****************************************************.
*****************************************************.
在 RedHat/Fedora Linux 上安裝 DRBL 環境…
你的作業系統版本: CO4.6
*****************************************************.
dnsdomainname: Unknown host
你要設定代理伺服器嗎?[y/N] # 預設,不要 proxy
*****************************************************.
*****************************************************.
Use the CO4.6 repository settings in /etc/yum.repos.d/.
Seting the DRBL yum repository in /etc/yum.repos.d/… done!
*****************************************************.
你是否要使用 DRBL “不穩定版”中的程式(如果您的DRBL的rpm程式是從不穩定版中下載的,請回答”是”)(這些程式功能可能多很多,但可能有非常多的瑕疵,如果您是超級勇敢的話,值得一試)?
[y/N] # 預設,不使用不穩定版
你是否要使用 DRBL “測試版”中的程式(如果您的DRBL的rpm程式是從測試版中下載的,請回答”是”)(這些程式功能比較多,但可能有些瑕疵,如果您夠勇敢的話,值得一試)?
[y/N] # 預設,不使用測試版

*****************************************************.
Try to find yum repository url…
We need curl, lftp and wget to parse config file to get url, try to install them if not installed…
Setting up Install Process

(中間安裝相關套件)
(略過…)

Complete!
*****************************************************.
Use yum repository in http://ftp.cs.pu.edu.tw/Linux/CentOS
*****************************************************.
你是否要安裝一些網路安裝的開機檔案使得用戶端的電腦可以透過網路安裝Linux (Debian, Ubuntu, RedHat Linux, Fedora Core, Mandriva, CentOS與OpenSuSE等)到本身的硬碟中? ///注意/// 這個動會下載一些檔案(全部的大小可能超過100 MB),所以有可能會花不少時間。假如你的用戶端電腦有硬碟,而你又有可能會需要安裝作業系統,建議選擇Y。假如你回答no,之後你仍舊可以使用drbl-netinstall來安裝這些檔案。
[y/N] # 預設,(這是用於當要遠端安裝新系統時使用)

*****************************************************.
用戶端電腦是否要使用對稱多處理器核心(SMP kernel),這些電腦必須有兩顆(含)以上的CPU? 注意! 如果你使用對稱多處理器核心,程式會自動選用 CPU 最佳化核心.
[y/N] # 預設
*****************************************************.
你的 DRBL 用戶端的電腦是否要使用序列終端機(Serial Console)?
如果你不清楚什麼序列終端機的話,就回答”N”,否則有可能造成用戶端電腦螢幕無法顯示!
[y/N] # 預設

*****************************************************.
您用戶端的電腦要使用哪個等級CPU的核心?
0 -> 使用i386 CPU等級架構
1 -> 使用i586 CPU等級架構
2 -> 使用與此DRBL伺服器同等級CPU的核心
注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意! 注意!
!!! 如果你的用戶端電腦與 DRBL 伺服器的 CPU 架構不同等級,請回答 “0”或是”1″,否則用戶端電腦將無法順利開機.
如果您用錯的CPU架構核心,會造成 glibc 和 openssl 因與核心架構不同,而無法適用於所有的用戶端電腦.
如果您無法確定用戶端電腦的 CPU 等級,建議使用”1″,這樣可以兼顧效能與相容性.
[1] 1 # 預設

*****************************************************.
你選用 i586 架構的 CPU 最佳化.
*****************************************************.
*****************************************************.
你是否要升級你的作業系統?
[y/N] # 預設,不要升級

*****************************************************.
如果找到新版的程式,嘗試升級某些需要的程式…
*****************************************************.
準備用戶端電腦用的核心,在儲藏庫中尋找可用的核心…
可用的核心有:
1: kernel-2.6.9-67.0.1.EL.i586.rpm (in updates repository)
2: kernel-2.6.9-67.0.4.EL.i586.rpm (in updates repository)
3: kernel-2.6.9-67.0.7.EL.i586.rpm (in updates repository)
4: kernel-2.6.9-67.EL.i586.rpm (in release repository)
你要選擇哪個核心給用戶端電腦使用? 如果您已經更新過系統,建議選擇updates中的,如果沒有更新過,建議選擇release中的.
[4] # 預設
你選擇 4.
選定的核心為: kernel-2.6.9-67.EL.i586.rpm
Downloading i586 kernel-2.6.9-67.EL.i586.rpm from http://ftp2.tnc.edu.tw/pub1/centos/4.6/os/i386/CentOS/RPMS//kernel-2.6.9-67.EL.i586.rpm to /tmp/client_kernel_PKG.De5655/… done!
*****************************************************.
安裝 DRBL 所需之相關程式…
*****************************************************.
正在安裝 dhcp, tftp, nfs, yp, mkpxeinitrd-net…
Searching if lvm2 ntfs-3g lshw available…
Package lvm2 exists in repository.
Setting up Install Process
Setting up repositories

(開始安裝必需套件)
(略過…)

Finished!
!
*****************************************************.
!

Q1) 安裝時遇到的問題

準備用戶端電腦用的核心,在儲藏庫中尋找可用的核心…
*****************************************************.
無法在這些地方找到核心的RPM檔: http://mirror..org/centos/4.6/updates/i386/RPMS/ http://mirror..org/centos/4.6/os/i386/CentOS// http://mirror..org/centos/4.6/os/i386/CentOS/RPMS//
:
1. 你的網際網路連線正常。
2. 檢查/etc/yum.repos.d/下的設定檔(例如/etc/yum.repos.d/CentOS-Base.repo). 建議可以嘗試不要使用mirrorlist,改使用baseurl來指定適當的yum儲藏庫。
程式停止!

A1) 將 /etc/yum.repos.d/CentOS-Base.repo 裡的

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

# 改為

baseurl=http://ftp2.tnc.edu.tw/pub1/centos/4.6/os/i386/

# 其它的有樣學樣更改

6) 佈署環境

執行 drblpush 前的幾個可以自定的地方 —

a) 如果DRBL server上有其他特別的目錄你要分享給所有用戶端的話(只可以讀不能寫),例如/work1 (要絕對路徑),
那可以編輯 /opt/drbl/conf /drbl.conf,
設定 diskless_root_dir_ro_user_add=”/work1″

那如果要可以讀寫的話,則 diskless_root_dir_rw_user_add=”/work2″

以上的動作設完後,drbl會在 /tftpboot/node_root/ 裡建立work1 , work2 這兩個目錄 (根目錄名稱),

也會在 /etc/exports 作這兩個目錄的設定

在client 機器開機進入drbl環境,這兩個目錄就會被掛載起來(NFS)

b) 如果用戶端本身有硬碟,且分割區已經格式化了(例如/dev/sda1,檔案系統是ext3),
想要用戶端開機後會自動掛載到/localwork目錄中 (目錄會由 drblpush -i 時自行產生)
可以編輯/opt/drbl/conf/client-append-fstab,把資料填進去
(寫法如同/etc/fstab: /dev/da1 /localwork ext3 defaults 0 0)

c) 如果有特別的服務(例如apmd與bluetooth等)要在所有的用戶端開機後自動啟動,
可以編輯 /opt/drbl/conf/client-extra-service,
把設定寫成 service_extra_added=”apmd bluetooth”

d) 如果要自定用戶端的電腦名稱,不讓程式自動產生,
編輯/opt/drbl/conf/client-ip-hostname,
把要指定的名稱依據IP address與名稱一行一行對應好
(192.168.1.1 cross)
而沒有指定到的機器,drblpush會給與一個自動產生的機器名稱。

7) 開始佈署

/opt/drbl/sbin/drblpush -i –language 1

******************************************************
提示! 當有yes/no選項的時候,預設的值是大寫的字母。例如 (y/N), 預設值是 “N”, 當你按 “Enter”的時候,程式使用的值就是 “N”。如果你不確認選用那個好的時候,直接按”Enter”鍵是一個保險的方式。
******************************************************
正在搜尋DRBL伺服器中已經安裝的相關程式…這個可能需要幾分鐘…
完成尋找DRBL伺服器所需的相關程式.
******************************************************
——————————————————
這是一個交談模式,在設定DRBL環境的過程中,您必須提供相關資料
——————————————————
dnsdomainname: Unknown host
——————————————————
請輸入網域名稱(DNS domain),例如drbl.sf.net:
[drbl.sf.net] ssorc.tw
您設定的網域名稱(DOMAIN)是 ssorc.tw
——————————————————
請輸入NIS/YP網域名稱:
[penguinzilla] # 預設
您設定的網域名稱(DOMAIN)是 penguinzilla
——————————————————
請輸入用戶端電腦名稱的前置字元:
這個前置字元是用來搭配流水編號自動產生用戶端電腦名稱,如果你有部份或是全部機器不想使用這個自動產生的電腦名稱,想要自己指定用戶端電腦名稱,現在可以先按Ctrl-C中斷此程式,編輯/opt/drbl/conf/client-ip-hostname後,再執行此程式。
[drbl] # 預設
您設定的用戶端電腦名稱的前置字元是 drbl
——————————————————
Found private IP “192.168.1.93” in eth0 on your system!
Found private IP “192.168.2.94” in eth1 on your system!
在你的系統上找到已經設定好的乙太網路埠有: eth0 eth1
——————————————————
沒有找到這台伺服器的公開IP位址,
哪個網路連接埠是這台伺服器用來連接到外部網際網路,而不是給DRBL環境使用的 ?
這台伺服器有的乙太網路埠:
eth0 (192.168.1.93), eth1 (192.168.2.94),
[eth0] eth1 # 設定對外網卡
你所選擇連接到網際網路的乙太網路埠是: eth0
DRBL環境使用乙太網路埠是:  eth1
******************************************************
******************************************************
現在我們可以收集用戶端電腦網卡卡號(MAC Address)!
透過這個收集的步驟可以幫助您的DRBL環境讓用戶端電腦每次開機都拿到相同的IP,
如果您沒有用戶端電腦網卡卡號的紀錄檔時,你現在就應該做!
如果您已經有用戶端電腦網卡卡號時,您也可以把那些卡號依序,分組後,一行一行填在檔案中(檔案的數目就是您DRBL分流網路卡的張數),那麼,這個步驟您就可以略過.
這個步驟就是幫您做偵測卡號,然後存到檔案中,省去您抄錄卡號的時間與可能造成的打字錯誤.!
用戶端電腦的網卡卡號(MAC Adrees)將會依照您用戶端電腦開機的順序依序被紀錄下來.
所收集到的網路卡卡號將會依照用戶端電腦連到DRBL伺服器的網路卡來給檔名,存下來的檔名如macadr-eth1.txt, macadr-eth2.txt… 你可以在/etc/drbl/目錄下找到這些檔案。
請先將用戶端的電腦設定為由網路開機(etherboot或是PXE),並依照您想要排列的順序開機!
你是否要收集用戶端的網卡卡號 ?
[y/N] # 預設,不要收集
******************************************************
繼續…
******************************************************
你是否要讓DRBL伺服器的DHCP服務每次都發相同的IP給用戶端電腦(要使用此選項,您必須已經收集好用戶端電腦的網卡卡號(MAC Adrees)(如前述的步驟)並且存在檔案中),這是針對連接到DRBL伺服器網路連接埠 eth0 ?
[y/N] # 預設,不要每次發相同IP
******************************************************
繼續…用戶端電腦會採用非固定IP!
******************************************************
這個網域的用戶端電腦中,起始的IP 4組數字中,最後一組數字的起始值是(也就是IP a.b.c.d的d的起始值) ? 這是針對連接到DRBL伺服器網路連接埠 eth0.
[1] 60 # 啟始 IP address
******************************************************
有多少台DRBL用戶端的電腦(也就是給學生使用的電腦)連接到DRBL伺服器網路連接埠 eth0 ?
請輸入數字:
[12] # 預設,配給 12 台主機
******************************************************
這個網域的用戶端電腦中,起始的IP 4組數字中,最後一組數字的最後一個為 “71”.
我們將設定這些用戶端電腦的IP為,這是針對連接到DRBL伺服器網路連接埠 eth0 為: 192.168.1.60 – 192.168.1.71
接受 ? [Y/n] # 預設,接受
******************************************************
繼續…
******************************************************
你的DRBL環境配置:
******************************************************
NIC    NIC IP                    Clients
+———————————+
|         DRBL SERVER             |
|                                           |
|    +– [eth1] 192.168.2.94 +- to WAN
|                                           |
|    +– [eth0] 192.168.1.93 +- to clients group 0 [ 12 clients, their IP
|                                           |            from 192.168.1.60 – 192.168.1.71]
+———————————+
******************************************************
Total clients: 12
******************************************************
按”Enter”鍵來繼續… # 預設
******************************************************
——————————————————
本系統中,有3種模式可以提供無碟的Linux服務給用戶端使用:
[0] 完全DRBL模式(Full DRBL mode),每個用戶端都有自己的/etc與/var (基於NFS).
[1] 單一系統印象檔模式(DRBL SSI, single system image) , 每個用戶端都使用tmpfs(以記憶體來當虛擬磁碟)的/etc與/var。此模式中,DRBL伺服器的負載與所需要的硬碟空間會少一些。但是請注意!在這個模式中,(a)用戶端電腦的記憶體建議至少要256MB以上,(b)用戶端電腦的系統設定檔並不會回存到伺服器中。所有開機後的系統設定只會使用一次然後關機後就消失。此外,如果你有修改過任何範本機器的設定檔(也就是位於/tftpboot/nodes下的設定檔),你要再執行/opt/drbl/sbin/gen_ssi_files來產生新的tarball範本檔於/tftpboot/node_root/drbl_ssi/中,(c) 如果你要針對某些用戶端設定一些特別的檔案,可以參考/tftpboot/node_root/drbl_ssi/clients/00_README。
[2] 不要提供無碟Linux服務給用戶端使用.
你要選用哪一個模式 ?
[0] # 預設,使用 Full DRBL mode
使用完全DRBL模式.
******************************************************
******************************************************
——————————————————
本系統中,Clonezilla再生龍有3個模式可以選用:
[0] 完全模式(Full clonezilla mode),每個用戶端都有自己的/etc與/var (基於NFS).
[1] 再生龍盒模式(Clonezilla box mode), 每個用戶端都使用tmpfs(以記憶體來當虛擬磁碟)的/etc與/var。此模式中,Clonezilla伺服器的負載與所需要的硬碟空間會少一些。但是請注意!這個模式中用戶端電腦的系統設定檔並不會回存到伺服器中。所有開機後的系統設定只會使用一次然後關機後就消失!
[2] 我不要使用再生龍.
你要選用哪一個模式 ?
[0] # 預設,使用 Full clonezilla mode
你選用完全模式(Full clonezilla mode)!
******************************************************
******************************************************
——————————————————
使用再生龍的時候,你要把印象檔存在此台機器的那個目錄中(請用絕對路徑,並且不要指定在/mnt/, /media/ 或是/tmp/下)?
[/home/partimag] # 預設,存放備份檔的目錄
Directory for clonezilla saved images: /home/partimag
——————————————————
如果你的用戶端的電腦有硬碟,其中有置換分割區(swap partition)或是可以寫的檔案系統,你是否要使用該置換分割區或是在上面產生一個置換檔來做虛擬記憶體,
以便用戶端的電腦可以使用需要更多記憶體的程式? (這個步驟不會毀損硬碟中原來的資料)
[Y/n] # 預設
******************************************************
確定要產生一個置換檔在用戶端電腦的硬碟中!
——————————————————
置換檔要用多少硬碟空間(Megabytes)?
我們將會試著配置您指定的置換空間大小,但是如果可寫的空間不夠的話,我們只會取可用空間的60%.
[128] # 預設
maxswapsize=128
******************************************************
——————————————————
用戶端開機後要進入何種模式?
“1” 為圖形模式(預設),
“2” 為文字模式.
[1] 2 # 使用文字模式
用戶端開機後為文字模式.
******************************************************
——————————————————
基於安全考量, 你是否要為用戶端電腦設定管理者密碼(預設為複製DRBL伺服器的管理者密碼給用戶端電腦管理者使用)?
[y/N] # 預設,不要設密碼
繼續…
——————————————————
基於安全考量, 你是否要為用戶端電腦設定開機密碼?
[y/N] # 預設,不要設密碼
繼續…
——————————————————
你是否要在用戶端電腦開機的時候讓使用者可以選擇所要的系統?
[Y/n] # 預設
用戶端電腦開機,出現提示符號時要等待多少個0.1秒?
[70] # 預設
繼續…
——————————————————
——————————————————
你是否要在用戶端電腦開機的時候使用圖形背景的選單?
注意!如果你的用戶端使用圖形背景無法正常開機,你可以使用”/opt/drbl/sbin/switch-pxe-bg-mode -m text”來切換成文字模式的背景.
[y/N] # 預設,不要使用圖形背景
Use graphic PXE Linux menu for client.
——————————————————
——————————————————
利用別名介面的方式,每台用戶端電腦可以擁有2個IP,
其中一個是私有IP,用來連接到DRBL伺服器,另一個公開IP是用來直接透過交換器連接到外部網路使用!
你是否要設定每台用戶端電腦的公開IP?
[y/N] # 預設,不要設定給每台 Client 有 public IP
——————————————————
你是否要讓DRBL用戶端可以選擇使用終端機(Terminal)模式? 也就是說,你要讓用戶端電腦執行DRBL伺服器的遠端畫面(remote display) (這會大部分使用伺服器的資源), 請在此回答”Y”.
請注意!
0. 若開啟此模式,用戶端的環境是非常有限的,例如用戶端無法直接使用USB,CD,聲音,印表機等.
1. 如果你的DRBL伺服器不夠強,你最好在此回答”no”.
2. 如果你在此回答”yes”,我們會開啟XDMCP讓用戶端來連線,
開啟XDMCP永遠不會是一個安全的作法,一個可行的方式是另外設定/etc/hosts.allow以及/etc/hosts.deny來讓您的用戶端機器連接,但是還不是最安全的.
在防火牆中設定網路埠177的規則是一個最安全的做法.
你可以讀XDMCP的相關手冊來了解相關細節.
請您自己根據您的需要來設定這些規則.
3. 如果你這裡回答”yes”,待會你可能必須要重新啟動X視窗的桌面環境管理程式(gdm/kdm),在關閉所有的應用程式之前請記得先儲存您的資料!
你是否要開放終端機(Terminal)模式給用戶端選用?
[y/N] # 預設,不要開放 Terminal
繼續…
——————————————————
——————————————————
你是否要讓DRBL伺服器也能提供NAT服務(也就是一般俗稱的IP分享器弁? ? 如果不要的話,DRBL用戶端電腦將無法連到網際網路.
[Y/n] # 預設,要有 NAT
繼續…
——————————————————
******************************************************
dnsdomainname: Unknown host
DRBL伺服器目前使用的核心支援 NFS over TCP!
【注意】如果你改變DRBL伺服器目前使用的核心版本,並且不確認那個核心是否支援NFS over UDP 或是 TCP,你最好重新執行”drblpush -i”以免用戶端電腦開不了機!
按”Enter”鍵來繼續… # 預設

——————————————————
Searching installed Etherboot files for dhcpd.conf… done!
******************************************************
The calculated NETWORK for eth0 is 192.168.1.0.
******************************************************
******************************************************
現在準備部署這些檔案到系統中!
你要繼續執行嗎?
警告!如果你繼續執行,你的防火牆規則將會被改掉!
原來的規則將會被備份成iptables.drblsave於系統的設定目錄中(/etc/sysconfig或是/etc/default).
[Y/n] # 預設

(略過…)

etting clonezilla_mode=”full_clonezilla_mode” in /etc/drbl/drbl_deploy.conf and /etc/drbl/drblpush.conf… done!
你必須要再執行”/opt/drbl/sbin/dcs” -> clonezilla-start來啟動再生龍clonezilla服務,用戶端開機的時候也才會出現再生龍的選單
*****************************************************.
Enjoy DRBL!!!
http://drbl.nchc.org.tw; http://drbl.sf.net
NCHC Free Software Labs, Taiwan. http://free.nchc.org.tw
*****************************************************.
如果你喜歡,你可以現在把這台DRBL伺服器重新開機,確認所有的程式與設定是正確的。(這個步驟不一定要做,只是一個選項供您確認)。
*****************************************************.
DRBL伺服器已經就緒! 現在請設定用戶端電腦由PXE或是Etherboot開機(參考4步安裝法的第四步驟)。打開用戶端電腦,然後開始享用DRBL吧!
! 如果你的用戶端電腦使用Etherboot開機,Etherboot版本必須使用5.4.0或是之後的版本!

以上的動作會存在 /etc/drbl/drblpush.conf
可以修改後 /opt/drbl/sbin/drblpush -c /etc/drbl/drblpush.conf
或 /opt/drbl/sbin/drblpush -i 重來

手動設定開機選單為圖形或文字介面

“/opt/drbl/sbin/switch-pxe-bg-mode -m text”

8) 如上面所提到的,執行 “/opt/drbl/sbin/dcs” 來啟動設定 clonezilla 服務

a) 選第一個項目

b) 選擇 clonezilla-start

c) 讓 client 端去選擇備份或還原

d) 照預設選的

e) 讓 client 端選擇結束後的動作

如果在下了dcs出現 segmentation fault時

解決辦法為

編輯 /opt/drbl/conf/drbl.conf

if type  whiptail >/dev/null 2>&; then

DIA=”whiptail”

else

DIA=”dialog”

fi

改為 只留

DIA=”dialog”

參考文件
http://fsoss.fcu.org.tw/2005/2-1-present.pdf
http://phorum.study-area.org/index.php/topic,46907.msg237380.html#msg237380
http://doc.jls.idv.tw/mra2006/drbl/
http://drbl.nchc.org.tw/one4all/desktop/

Related posts 相關文章
在 Windows 上架設 PXE Server
More...
架設 PXE Server 透過 Kickstart 自動網路安裝 Linux 系統
More...
備份 VSCode 設定
More...
QUALYS 發現 Linux glibc 有嚴重漏洞,可以遠端控制系統 part2
More...

作者

留言

你好: 不好意思,忘了留下連絡方式,希望沒打擾到你! 我的信箱:keynes1223@hotmail.com

你好: 抱歉,我想請問,你上訴的第三點安裝 perl-Digest-SHA1 有比較詳細的嗎?這段我上網查過!但是也只有鳥哥網站有下載點, 可是我不知道該下載哪個的版本進行安裝!

    作者

    你的linux是用什麼 ? 如果是 centos 或 fedora ,應該是可以用 yum 來安裝即可。 ubuntu的話,應該也可以用apt-get 安裝。

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。