
DRBL的安?
[
版??明
]
[
作者列表
]
[前言]
[修改??]
[安?] [使用]
[致?]
[?考?址]
修改日期 2005/Dec/04
[/url]
一、版??明
本文版??於全?作者任何,且以
[url=http://www.gnu.org/licenses/fdl.html]GNU FDL
授?合???。在遵守 GNU FDL 授?合?的情?下,您能够??、散?,连同修改本文档。唯?保持作者列表的完整,若您修改?此份文档,也?在作者列表中加入您的大名。
同??注意本文档?有任何?保,若因本文档而?生任何直接或?接的?失,本文作者群均不?任何法律及道?上的?任。
二、作者列表
?志?
(steven _at_ nchc org tw)
??? (klhaung _at_ gmail com)
王?泰 (c00wht00 _at_ nchc org tw)
?振? (ceasar _at_ nchc org tw)
王耀? (jazzwang _at_ nchc org tw)
三、前言
?校?公司在大量使用Linux?器的?候,常常?碰到一?很大的??,就是?器?量很多?的管理?架?,一?人力有限,二?故障除?太耗?。因此本??室?在PC Cluster上使用diskless, remote boot的??在此野人?曝一下。??校的??教室教?而言,使用??方式的好?在於系?管理者只需照?到server部分,?於clients就比?不用花??。由於硬碟现在?乎是PC最容易故障的部分,假如使用diskless的方式,只有server有硬碟,??能够?少一些不必要的困?。
DRBL?Clonezilla在
?家高速?路??算中央
的PC 教室使用已?超?三年,一直是很?定的??中。在此??中,本自由????室?架?的方式???明,相信一定能够省?您不少摸索的??。
另外,已?有
LTSP
了,?何?要再??DRBL? 我?分??部分?看:
LTSP是集中使用伺服器上?源,而DRBL?用的是分散式的作法。LTSP的client端只做?端?使用,也就是client端??程式的?候,用的是server的CPU,???等,client?乎?粹只做KVMN (Keyboard, Video, Mouse, NIC)的?入?出。另一方面,DRBL的client端是一台完整的??,只是硬碟在Server上而已,DRBL的client我?能够想成是一台完整安?好Linux的?器,所以client端??程式的?候,使用的?算?源,例如CPU, RAM等都是client端自己的。LTSP和DRBL??我?能够比喻成一?是中央集?,另一?是地方分?。?"地方能力?"的?,最好是用地方分?的方式,也就是DRBL分散式的作法。DRBL所需要的server只需中?的??,一台CPU 500MHZ左右的server搭配fast ethernet 的交?器就能够供现在台?中小???教室40台?生的??使用。同?的配?,假如使用LTSP,可能只能供10台?生??使用。
LTSP有???法克服的部分,主要就是?生??部分的?源使用,在LTSP?境中?生的??(client)上,?生?法"直接"使用光碟???光碟片,您?法??生使用?身碟?存取?料,?有,?生不容易直接在他那台??中放出音?等等,?些限制主要是因?在LTSP?境中,?生用的硬??源大部分是server那台的,光碟?,USB port,音效卡等都是server的。而在DRBL?境中,?生的??就像是Linux安?在自己的硬碟中,他能够完全的使用那台??的硬??源,只不???硬碟是在?端的server而已。
??更新速度很快,?在新??的??,CPU速度都在1 GHz以上,假如做LTSP的client的?,?乎只是用到KVMN,未能充分使用新??的?大功能。?在新??的??都能够?易的?DRBL的server。使用DRBL的?,您能充分的使用Client的硬?。然而,反??,假如?的??,要?源再利用的?,LTSP就是一?好的??。
以上的比?,我?能够看出,DRBL?LTSP?者各有所?,您不妨依照自己的需要???。
本DRBL程式,主要是提供一?整合的安?的方式,?您很快的?集中管理的?境建好。安??程中有很多??能够?,您能够依照您的需求??。
四、修改??
2003/07/07 DRBL for RH9 4步安?法首次撰?
2003/07/15 增加?路交?器要注意的事?
2003/07/17 假如client有local HD,程式增加使用local HD的free space??生swap file,??RAM不?的client也能跑
2003/08/01 增加???client?用是否用serial console连同SMP 的kernel
2003/08/25 etherboot 5.2.1 release了,不?现在DRBL for RedHat尚未支援,故在做client??片的?候提醒user不要用5.1.x (testing) ?5.2.x (stable)版本。
2003/08/25 因NCHC改???法人,.gov.tw domain即?失效,更新任何.nchc.gov.tw?.nchc.org.tw.
2003/08/27 增加利用一片??片?判?client?路卡??所需要的image?,另外也?原本etherboot 5.0.7的例子改成5.0.11。
2003/10/04 增加支援autologin, timed login等功能,修正一些bugs,?DRBL改名?Penguinzilla. Clonezilla (OCS)功能已?完成
2003/11/30 增加DRBL的使用?明
2003/12/28 增加在server上安?RedHat 9?的注意事?,连同增加使用?明(drbl-cp-host, drbl-cp-user连同更新指令等)。
2003/12/31 新??上?,版面稍微修改一下。
2004/03/08 支援RedHat 8.0, 9, Fedora Core 1连同Mandrake 9.2。
2004/03/21 支援Mandrake 10.0。
2004/04/03 安?程式包??rpm (drbl-setup),文档一?修改。
2004/05/25 加上建?使用reiserfs连同另外切一?/tftpboot的分割?。
2004/07/22 ?定中文名?叫做企??,英文叫做DRBL,Penguinzill?作副名,?竟,用英文?呼的?候,DRBL?是比Penguinzilla有名?。加上?FC2的支援,连同?人安?法。
2005/01/18 增加etherboot?用image?明。
2005/01/19 增加建???selinux的?明。
2005/02/07 增加正式支援Fedore Core 3的?明。
2005/04/27 新的安?程式版本改名?drbl,更改安??明。
2005/04/29 第四步?改用etherboot 5.4.0?例。
2005/05/26 drbl-setup*.rpm?名不再使用,改用drbl*.rpm。
2005/10/10 更新文档,现在已?是整合的版本,一?版本?用任何支援的GNU/Linux套件。
2005/11/26 第四步?改用etherboot 5.4.1?例,?增加grub的用法。
五、DRBL的安?
以下作法乃是??Debian Woody(3.0)/Sarge(3.1), B2D, Ubuntu Breezy(5.10), RedHat Linux 8.0, 9, Fedora Core 1, 2, 3, 4, Mandrake 9.2, 10.0, 10.1, Mandriva LE2005 (10.2), 2006,CentOS 4, 4.1, 4.2连同SuSE 9.3。其他的版本不?用。
4步安?法
步?1 - 安?您的GNU/Linux套件。
- ?安?RedHat Linux, Fedora Linux, Mandrake/Mandriva Linux, Debian Linux, CentOS Linux或是SuSE Linux,?部分很多文档都有,?直接?考各套件的官方(以下以RedHat 9?例)
安?手?(英文)
,
中文安?手?
。 要注意的是:
- 建??台server切割partition的?候,另外切一?partition?/tftpboot使用,大小大?是您的?生???目*100MB,也就是假如您有40台?生??的?候,建?切割4GB的空??/tftpboot。
- 建?server安?Linux的?候使用reiserfs的?案系?,而不是ext3/ext2(由於RedHat/Fedora???法?用reiserfs,您能够?考
??FAQ
?做到)。?主要是因?reiserfs?DRBL??的?境效能比?好。您能够?考??
benchmark
。
- 安?的?候您能够任???的??模式,以RedHat Linux?例,您能够?Personal Desktop, Workstation, Server或是custom等等。您无需??去安?後面DRBL需要的package,例如dhcp, tftp等等,
第二步?
中程式??找??定需要的package。假如您已??的package,
第二步?
不?重新再??套程式,只???需要而重新?定。
- ??得,您在server上所?有的程式,DRBL四步安?法
第三步?
?行完後,client才有,server上?有的程式,在
第三步?
完成後,client也不?有。所以您能够在
第三步?
之前先安?您??需要的程式,例如
flash player
或是
Java
等等。
- 有?SELINUX-若您是使用Fedora Core 2或是之後的版本,建?不要??selinux。Fedora Core 2??是disable的,但是Fedora Core 3 (含)以後的版本,??是??的。假如您在Fedora Core 3或是之後的版本常常莫名其妙地碰到"Permission denied"的??,或是Client出?"Enforcing mode requested, but no policy loaded.Halting now. Kernel pan ic not syncing. Attempted to kill init.",建???selinux,也就是在?台server的/etc/sysconfig/selinux中,?定SELINUX=disabled,然後重新??即可。
- ?中小?的??教室而言,中文?境是不可或缺的,现在大部份的GNU/Linux套件中文已?相?完整了,只要您安?的?候?得?取中文部分就能够了。
- 另外,??定好任何?路卡的IP,我?後面用的是eth0?外,其?的eth1以後的??部使用(??必??些?部使用的?路卡IP都?成192.168.x.x, 172.16-31.x.x或是10.x.x.x等的private IP,例如eth1:192.168.101.254, eth2:192.168.102.254, eth3:192.168.103.254...);?注意一?原?,private IP (192.168.x.x)??被拿?做DRBL?境的??用。安??也建???防火?,等DRBL安?完之後再??定防火?
其他注意事?:
- 安?完之後,假如您的系??有???硬碟 DMA 支援,建?您??以增快server硬碟?取速度。您能够用"hdparm /dev/hdx"?看using_dma是否on或是off,假如是off的?,能够?行"hdparm -d1 -c3 -k1 /dev/hdx"而??他,以上??/dev/hdx改成您的server硬碟?置?,一般是/dev/hda。假如要以後每次??之後都能??dma,以Fedora/RedHat/Mandrake?例,您能够在/etc/sysconfig/harddisks中?# USE_DMA=1的?解"#"拿掉?成USE_DMA=1。
- ??必??您?外的?路???,後面的安?我?需要用?路?接到
?家高速?路??算?中央主?
去抓?案。
- 假如?了?大server??的?路流量,您的eth0也能够用IP alias?成??IP,一?(eth0)供server?到public Internet用,另外一?(eth0:1)供DRBL?境用,eth0:1?定方法
?此
。
步?2 - server上相?套件的安?
?部分?然?是安?在server上,只是?些服?是提供?client用的。
- 下?或是安?之前,?先?考相?的"修改??":
?定版的
,
??版的
,
不?定版的
。同?,也?看一下"已知??"(尤其是您的用?端??有?人的sis?路卡的?候):
?定版的
,
??版的
,
不?定版的
。
- -依照不同的套件,有不同的方式安??取得drbl程式
- RedHat/Fedora Core/Mandriva (Mandrake)/CentOS
- 下?DRBL的RPM?:
?定版
,
??中的版本
,或是
不?定的版本
。
- 假如您不是系?管理者(root),?行指令"su - root",然後root?入密?,以便切?成root
- ?行"rpm -Uvh drbl-XXX.i386.rpm"?安?drbl程式,drbl-XXX.i386.rpm就是您??下?的?案,假如您是下??定版的?,就?行"rpm -Uvh drbl-current.i386.rpm"。
- ?:由於drbl程式使用到一?perl的模?,一般套件都??建安?perl-Digest-SHA1??package,假如您的系?中?有的?,?自己先?。以FC1?例,能够??安?"rpm -Uvh http://free.nchc.org.tw/fedora/linux/core/1/i386/os/Fedora/RPMS/perl-Digest-SHA1-2.01-15.i386.rpm"
- Debian或是Ubuntu
- ???/etc/apt/sources.list如下
- 假如您的套件是Sarge (3.1)?主的,例如真正的Debian Sarge或是其他衍生版本,如B2D pureKDE20051011版:
----------
deb http://free.nchc.org.tw/debian sarge main
deb http://free.nchc.org.tw/drbl-core drbl stable
----------
假如您的套件是Woody (3.0):
----------
deb http://free.nchc.org.tw/debian/ woody main
deb http://free.nchc.org.tw/drbl-core drbl stable
deb http://www.backports.org/debian/ woody grep
---------- 假如您的套件是Ubuntu Breezy (5.10):
----------
deb http://free.nchc.org.tw/ubuntu breezy main restricted universe
deb http://free.nchc.org.tw/drbl-core drbl stable
----------
- 以上第一行中sarge, woody或是Ubuntu Breezy的apt repository?然能够?用其他的apt repository,但是第二行DRBL相?程式?用??位址。
假如您想要使用??版本中的DRBL程式,第二行能够???: ----------
deb http://free.nchc.org.tw/drbl-core drbl stable testing
----------
假如您想要使用不?定版本的DRBL程式,第二行能够???:
----------
deb http://free.nchc.org.tw/drbl-core drbl stable testing unstable
----------
- ?行 "apt-get update"
- ?行 "apt-get install drbl"?安?drbl程式
- 有?B2D的相?提醒:(1) B2D???把TCPwrapper??,所以您必?注意要?得改/etc/hosts.allow。要不然後面第三步??行完後client??不了?。(2) B2D中的kdm似乎在DRBL client?境下,很不?定,有?候???,???已?有kdm了,然後就不跑了,造成用?端?有?形登入?面。解?的方法就是在?行步?2b的drblsrv之前,先安?gdm (apt-get install gdm),然後把gdm????的dm。
- ?:另外有??drbl-core的映射站: (1)
http://diskless.nchc.org.tw/drbl-core
(2)
http://drbl.sourceforge.net/drbl-core
- SuSE
- 假如您不是系?管理者(root),?行指令"su - root",然後root?入密?,以便切?成root
- SuSE 9.3 (因?SuSE 9.3?有?建apt或是yum,所以要先安?apt)
- 先下???程式"http://linux01.gwdg.de/~scorot/install-apt4suse",然後?行 "sh install-apt4suse"?安?apt for SuSE
- ??/etc/apt/sources.list,?容至少有以下?行: -----------------------------------
rpm ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt SuSE/9.3-i386 base
rpm http://free.nchc.org.tw/drbl-core i386 drbl-stable
-----------------------------------
- 以上第一行?然能够?用其他的SuSE apt repository,?且?注意????的版本(注意是9.3-i386或是10.0-i386)位置。第二行DRBL相?程式?用??位址。
假如您想要使用??版本中的DRBL程式,第二行能够???: ----------
rpm http://free.nchc.org.tw/drbl-core i386 drbl-stable drbl-testing
----------
假如您想要使用不?定版本的DRBL程式,第二行能够???:
----------
rpm http://free.nchc.org.tw/drbl-core i386 drbl-stable drbl-testing drbl-unstable
----------
- ?行 "apt-get update"
- ?行 "apt --no-checksig install drbl"?安?drbl程式
- ?:另外有??drbl-core的映射站: (1)
http://diskless.nchc.org.tw/drbl-core
(2)
http://drbl.sourceforge.net/drbl-core
- OpenSuSE 10.0/SuSE 10.0(已??建yum,所以????)
- 下?DRBL的RPM?:
??中的版本
,或是
不?定的版本
。
- ?行"rpm -Uvh drbl-XXX.i386.rpm"?安?drbl程式,drbl-XXX.i386.rpm就是您??下?的?案,例如"drbl-1.5.5-13.i386.rpm"。
- ?行"/opt/drbl/sbin/drblsrv -i"。注意"-i"前面有?空格。?行的例子?按
??
。原?上,假如您不?定的地方,您能够直接按Enter使用??值即可。
- ??有耐心的人:假如您真的?有耐心看完或是?定 完?任何的??,您能够直接?行"/opt/drbl/sbin/drbl4imp",??程式?用??的?景,??做完,然後您就?上能够用了,原?上其?就是把步?二和步?三?行的?候都按Enter?使用??的值就是了。但是,?注意,???景可能不符合您??的?境。???景是??您每??路卡(eth1,eth2...不含eth0)?由switch?接到12台用?端??,然後不?住MACaddress的方式??放IP位址?用?端使用。
步?3 - 在server上建置client的?案系?
??您的??教室,?耐心?解以下?容
- 以?家高速?路??算中央的C教室?例:?教室共有40台??,?了提高 DRBL 的效率,我??之分成4?子?路(subnet),分?是 192.168.100.0、192.168.101.0、192.168.102.0、192.168.103.0,DRBL 伺服器(Server)有四??路卡, 其中一?port?外(eth0),另外4?port??(eth0:1, eth1, eth2, eth3),??的4?ports IP分?是192.168.100.254, 192.168.101.254,192.168.102.254,192.168.103.254; 在 DRBL 伺服器上跑的 DHCP、TFTP、NFS 都?在?4??路卡上提供服?。 NIC NIC IP Clients
+-----------------------------+
| DRBL SERVER |
| |
|+-- [eth0] public IP +- to WAN
| (ex. 61.216.116.23) |
| |
|+-- [eth0:1] 192.168.100.254 +- to clients group 1 [ 10 clients, their IP
| | from 192.168.100.1 - 192.168.100.10]
|+-- [eth1] 192.168.101.254 +- to clients group 1 [ 10 clients, their IP
| | from 192.168.101.1 - 192.168.101.10]
|+-- [eth2] 192.168.102.254 +- to clients group 2 [ 10 clients, their IP
| | from 192.168.102.1 - 192.168.102.10]
|+-- [eth3] 192.168.103.254 +- to clients group 3 [ 10 clients, their IP
| | from 192.168.103.1 - 192.168.103.10]
+-----------------------------+
- ?路交?器??路卡分流注意事?
在?路交?器(switch)的部分,有一?地方要注意的,基本上建?您最好用?定?生??MAC address的方式,以?定每一台都能有固定不?的 IP(也就是在步?3a中,?行"/opt/drbl/sbin/drblpush -i"的?候,碰到"?在我?能够收集用?端???卡卡?(MAC Adrees)!"?,回答的是"Y")。要不然假如用不?定MAC address (以後我??做range)的方式,您的switch又恰好是一台48 ports(或是多台串成一台),DRBL server?用4??卡分流,???造成有些?器?DRBL server租不到IP,自然就??法??了。
假如您的DRBL server?用4??路卡分流(??所?的4??卡分流指的是您有4? private subnet,例如192.168.100.x, 192.168,101,x, 192.168.102.x, 192.168.103.x),您手?的?路交?器有4台,彼此不串接成一??路交?器,??的?,您就能够用range的方式,也就是不?定?生??的MAC address。??是不??生有些?器?DRBL server租不到IP而??法??。
??得一???,就是假如DRBL server用N??卡分流,要?用range的方式,您就需要N台?路交?器,而且?N?路交?器彼此不串接(不串接??很重要)。
- ?解您的?境後,??行 /opt/drbl/sbin/drblpush -i
?注意"-i"前面有?空格。然後程式?自???系?,找到??,系??有?定的??,程式?需要您?入。?行的例子?按
??
。原?上,假如您不?定的地方,您能够直接按Enter使用??值即可。
- 往後有新增加的client??或是server上新安?了??等,?再?行一遍"/opt/drbl/sbin/drblpush -i"以便重新部署?案?您的client??用。
步?4 - ?client端(也就是?生用的?器)?路??
要?用?端?器能?路??,基本上有4???。(1). 用?端?器的?卡有PXE?路??功能 (2). 用?端?器有?碟? (3). 用?端?器有光碟? (4). 用?端?器本身有硬碟。(2)到(4)的部份,我???以Etherboot 5.4.1?例。?注意,?DRBL版本1.3.9连同之後的版本,假如您?法使用PXE而必?使用Etherboot的?,您必?用Etherboot 5.4.0或是更新的版本。
(1). 用?端?器的?卡有PXE?路??功能
直接?用?端??的BIOS?定成?路??就能够?DRBL的client了。2003年(含)以後新??的??,主?板?建的?卡?乎都有PXE功能,您能够?BIOS查看看,然後把那?PXE?路??功能??。??考您的主?板手???。一般??,?定的地方在Advanced -> Onboard Devices Configuration -> Onboard LAN -> Onboard LAN Boot Rom -> Enabled。另外,??地方建????整,以方便由DRBL server集中管理: (1) Boot order?成?先?序?LAN -> CDROM -> HD (2)??Wake on LAN (可能在APM Configuration -> Power On By PCI Devices)。
假如您?生端?器?有支援?路??PXE的?路卡,能够用後面提到的?碟,光碟或是硬碟?做到?路??。另外,本??室也提供PXE?路卡?作服?,有需求者??考
??
。
(2). 用?端?器有?碟?
-
- 找到DRBL server的???案"/tftpboot/etherboot-5.4.1/etherboot-net.zdsk"。
- 然後放入磁片到?碟?,
- 若是在Linux下,?行 "cat /tftpboot/etherboot-5.4.1/etherboot-net.zdsk > /dev/fd0"
- 若是在M$ windows下,您要用
rawrite.exe
或是"RawWrite for windows" (
http://uranus.it.swin.edu.au/~jn/linux/
)??入此?到?碟片。
- 做完的磁片要放在?生??的?碟?中,?在?生??的BIOS中?定??碟??。
(3). 用?端?器有光碟?
假如要用光碟片??的?,基本步?是??:
1. 找到DRBL server的???案/tftpboot/etherboot-5.4.1/etherboot-net.iso
2. ?ISO??到CD:
在Linux例如: cdrecord -v speed=12 fs=16m dev=0,0,0 driveropts=burnproof -data /tftpboot/etherboot-5.4.1/etherboot-net.iso
(dev=0,0,0可能要改,您可根?"cdrecord -scanbus"而得知)
(driveropts要根?您的???而定,或是乾脆不?也能够,??小的image?不太容易?出??...)
?然,您也能够把?案?到M$ Windows上,然後用您熟悉的??程式??到光碟上。
3. ?定您PC的BIOS是?CDROM??,然後放入光碟,就能够??了. (4). 用?端?器本身有硬碟
- 假如用?端的硬碟已?有安?grub的?,
1. ?server的"/tftpboot/etherboot-5.4.1/etherboot-net.zlilo"??到用?端硬碟的"/boot/"目?下
2. ??用?端??的/boot/grub/menu.lst或是/boot/grub/grub.conf (?您的套件而定):
---------------
title Etherboot-PXE
kernel /boot/etherboot-net.zlilo
---------------
3. 修改?端??的/boot/grub/menu.lst或是/boot/grub/grub.con的"default值"?上述那???的????的?字, 例如"default 1"。
- 假如用?端的硬碟已?有安?MS Windows 9x:
1. ??DRBL server的"/tftpboot/etherboot-5.4.1/etherboot-net.com"到用?端??中
2. 改成短一?的?名"eb-net.com"。
3. ??MS Windows 9x?一?多重???(撰?的例子?按
??
)。
?些?定?好後,把用?端的????,正常的?,一??您??能够看到用?端??已????去了X-window了,任何的???密??伺服器上的??一?。不?比?累的是,假如您的?器?有PXE?路??,有40台用?端??,那您就要做40片??磁片或是光碟片。所以,假如您要新??器的?,一定要?有PXE功能的主?,??管理才容易。
六、DRBL的使用
由於DRBL?於集中管理的?境,因此,透?一些指令,您能够很方便?快速的管理整??境,下一?指令就能够?全部的??使用。??的指令列表??明??考
??
,其中最常用的指令是
/opt/drbl/sbin/dcs
,??指令是用?切?用?端?????候的模式,他的快照如下:

致?
感??家高速?路??算中央的?哲男主任,?自由??的支持;感?柯森博士,高速?路??算中央自由????室的同仁,?仁大?
毛??教授
教授,游?山同?的指教,连同教育部???教育多元化教?的支持。
?考?址
http://drbl.nchc.org.tw/
http://drbl.sf.net/
http://www.study-area.org/
阿?的自由??日? - 在 Mandrake 9.2 上安? DRBL
http://etherboot.sourceforge.org/
http://www.rom-o-matic.net/
http://www.ltsp.org/
Diskless HOWTO
Diskless-nfs-root HOWTO
Diskless-nfs-root-other HOWTO
Network-boot-HOWTO
NIS HOWTO
NFS HOWTO
Etherboot User Manual
http://disklessworkstations.com/
How to pick a bootrom
DIET-PC
Diskless Nodes with Gentoo
|