自由軟體與資訊公民聯網
DRBL (Diskless Remote Boot in Linux)簡介
2004/05/24
本篇文章的目的,是以Linux為基礎,建置一個集中管理的自由軟體教學環境,如果將此環境用在學校的電腦教室,可以大幅減輕學校資訊組長和教師的工作負荷。這樣的環境可以:
筆者從事個人電腦叢集(PC Cluster)相關的使用與研究已經有一段時間了,由於Linux的功能相當強大,因此常作為伺服器或是工程計算之作業系統。因而,多年以來,筆者服務的國家高速網路與計算中心所建置的叢集電腦都是以Linux作為工作平台。由於叢集電腦乃是由大量的個人電腦透過高速網路連結組成,為了節省管理的人力,因此,我們採用集中式的管理系統。這個集中式的管理系統,我們稱做Diskless Remote Boot in Linux (DRBL, http://opensource.nchc.org.tw/diskless)。我們的叢集電腦(見參考資料1、2與圖1)乃是用在高效能計算[High-Performance Computing (HPC)]上,用來模擬複雜的科學問題,例如生命科學、奈米計算、大氣模擬、流體力學與電漿研究等等。因而,高效能計算所採用的硬體設備,都是上上之選。我們將DRBL使用在叢集電腦上,確實大幅降低我們的管理成本,減少很多人力上的需求。另外一方面,這兩年非常受到大家矚目的格網計算(grid computing),也大量採用個人電腦叢集。由於格網計算可以說是在廣域網路(WAN)上結合數個叢集電腦,串連成一個更大的叢集電腦。因此,DRBL也適合用來建置格網計算所用的叢集電腦。那麼,同樣的作法,如何運用在中小學的資訊教學環境中呢?為何會有這樣的需求呢?待筆者娓娓道來…
在2002年,由於台灣進入WTO,政府訂定今年為「保護智慧財產行動年」,加上微軟公司從2002年8月以後,實施第六版授權方式(Licensing 6.0),企業購買的微軟大量授權軟體不再永久有效(見參考資料3),而是2年或是3年授權就過期。這些因素使得長久以來一般人的軟體使用習慣才略有所改變,大家也才有所覺醒,如果我們的教育只教授單一作業系統,單一軟體,那麼永遠無法享受多元化競爭所帶來的好處。自由軟體多年來在全世界社群的耕耘下,2002年可以說是達到一個相當成熟的階段。尤其Openoffice.org的出現,更使得Linux非常適合拿來做桌上型電腦的工作環境。綜合以上這些原因,國家高速網路與計算中心成立開放原始碼推動計畫(http://opensource.nchc.org.tw),致力於自由軟體的推廣。而筆者在因緣際會下,和致力於推廣自由軟體的輔仁大學圖書資訊學系毛慶禎教授搭上線,因而使得筆者得以將個人電腦叢集上Linux的使用經驗,轉化為適合電腦教室教學使用的「自由軟體教學平台 Diskless Remote Boot in Linux (DRBL)」。
那麼,使用自由軟體來教學有何好處呢?我們約略可以歸納出以下幾個優點:
採用自由軟體有這樣多的好處,那到底要如何用在教學上呢?
現在,我們列舉一下目前適合用來教授自由軟體的工作平台,筆者將之約略分類為以下三類(見表一):
這是最直接想到的作法,這樣做的好處是每台機器獨立,網路頻寬需求低;但是缺點是很費時,而且不容易維護。即使是您使用Partimage(參考資料4)或是Symantec的Norton Ghost(參考資料5)來大量複製作業系統到每一台電腦都很不容易維護。
這是使用一片光碟開機,所有的作業系統以及軟體就在那片光碟上。這樣做的好處是不需硬碟,只需光碟機,而且不需要每台逐一安裝,只要有光碟片就可以了。此外,每台機器也是獨立,所以網路頻寬需求較低。但是缺點是光碟讀取速度較慢,用來教學的話,學生容易抱怨等待的時間過長,造成自由軟體速度慢的假象。此外,這樣的作法靈活度非常低,如果需要安裝新軟體或是更改資料等,所有的光碟都需要重新燒錄。再來,若學生需要存取資料,您還是需要有伺服器來提供檔案服務[file service,例如NFS (Network File Sharing protocol server)]與帳號管理的服務[例如NIS (Network Information Service server) service]。不過,由於這片光碟沒有安裝的門檻,幾乎所有的電腦,將此光碟片放進去,設成由光碟開機,啟動後一下子馬上就可以體驗Linux。因此實在是非適合新手使用,也方便學生回家練習。目前最有名的Live Linux Filesystem on CD首推KNOPPIX(參考資料6)以及Virtual Linux (參考資料7),如果您還沒體驗過Linux的,可以下載來玩玩看。
| 逐一安裝 | Live Linux File System on CD | LTSP | DRBL | |
|---|---|---|---|---|
| 電腦教室維護 | 難 | 易 | 易 | 易 |
| 整體網路頻寬需求 | 低 | 低 | 高 | 中 |
| 伺服器配備要求 | 低(需NFS,NIS server時) | 低(需NFS,NIS server時) | 高 | 中 |
| 經費 | 中 | 低 | 中 | 低 |
| 學生使用舒暢度 | 高 | 低 | 低∼中(視學生電腦數目而定) | 高 |
表一 自由軟體教學平台的選擇(以電腦教室有1台伺服器,40台學生電腦為例)
在管理電腦教室上,為了減少管理上的人力需求,集中式管理的方式最符合經濟效益。因此,依上述的分類,最好的選擇不外乎LTSP或是DRBL。那麼,既然已經有LTSP了,為何還要再做DRBL?基本上,LTSP是集中使用伺服器上資源,而DRBL是將所需要的資源交回給所有的電腦。我們可以比喻成一個是中央集權,另一個是地方分權。當「地方能力」夠的話,最好是用地方分權的方式,也就是DRBL分散式的作法。DRBL所要求的伺服器只需中階的電腦,一台CPU 500MHZ左右的伺服器搭配高速乙太網路交換器(fast ethernet switch)就可以供目前台灣中小學電腦教室中40台學生電腦使用。同樣配備的伺服器,如果使用LTSP,也許只能提供10台學生電腦使用。此外,很多朋友認為採用DRBL的作法之後,整個軟體也就變陽春了,事實上是,採用DRBL的作法,跟您逐台安裝的軟體環境是一樣的,學生感受不到兩者之間的差別。
綜合以上的說明,以台灣目前的電腦教室的情況來看,大部份是41台電腦(包括老師1台與學生40台);設備則是1999年擴大內需時所購買的機器,CPU約是300 MHz左右,記憶體約是64MB,不算太陽春的設備;安裝的作業系統大多是微軟公司的Windows 98作業系統;在考量管理、經費、人力需求、使用上的舒暢度以及不破壞原先已有的作業系統等因素下,DRBL乃是筆者認為最適合用來架設自由軟體教學平台的方式;以下筆者就針對DRBL做詳細的介紹。
DRBL主要是由 etherboot (參考資料9)+ NFS (參考資料10)+ NIS (參考資料11)所組成,它的優點包括:
管理過電腦教室的老師一定知道,硬碟是PC所有零組件中最易故障的部分,如果學生端的機器(client machine)簡化為無硬碟,就可以減少因為硬碟故障而無法使用的情形。此外,學生端的機器沒有硬碟,當然您就不需要用再生卡之類的東西了。每台學生的電腦都省下硬碟與再生卡這兩樣硬體(這兩樣硬體合計大約要新台幣4000元左右),整個電腦教室的經費自然就省不少了。
所有的服務集中在伺服器管理,因此可以減少檢視每台學生機器軟體的困擾。此外,在伺服器上安裝一套作業系統與軟體,就等於40台學生端的機器已經安裝。備份一台伺服器上的資料,就等於備份40台學生端的機器。身為電腦教室的管理老師,您能不心動嗎?
因為DRBL並不需要將作業系統與軟體安裝在學生端機器的硬碟中,因此學生的機器可以保留原來硬碟中的作業系統(例如目前大部分的電腦教室中都已經安裝了微軟公司的Windows 98),您只需告訴學生開機的時候,選擇適當的作業系統即可。您的電腦教室可以在幾分鐘內全部由Windows 98的環境切換到Linux的教學環境,或是反過來由Linux的教學環境切換到Windows 98的環境。如果您是支持電腦教育多元化的老師,您能不心動嗎?的確,DRBL非常適合多元化的教學。
學生端機器僅透過網路由伺服器載入檔案與資料,然後利用學生端機器的資源來處理,不像LTSP 的伺服器,所有的資源都賴伺服器提供。所以,DRBL伺服器的負載當然較LTSP的伺服器輕很多。
電腦教室一部份的噪音是來自硬碟,採用DRBL可以有效的降低教室中的高頻噪音,提升教學品質。親愛的老師,您的麥克風可以不用調這麼大聲了!
由於學生的電腦規格簡化,經費可以節省。因此,節省下來的經費可以拿做其他規劃,例如購買比較不佔空間且幾乎沒有輻射線的液晶螢幕。另外,由於電腦的機殼縮小,因此您的電腦教室可以購買比較好擺設的電腦桌椅。因而整個電腦教室的規劃可以變得非常溫馨,學生和老師的互動可以更良好。
說了這麼多,使用DRBL到底電腦教室所需要的配備需求為何?會不會高速網路與計算中心的人,推薦的伺服器就是非常高檔,要花很多經費,買一台"超級電腦"來當伺服器?呵呵!當然不會,以下我們都以伺服器1台,學生機器40台為例。基本上所需配備:
這麼神奇?幾乎用1999年擴大內需所購買的機器就可以做到?沒錯,就是這樣,您只需將伺服器稍微升級,學生端的電腦記憶體擴充一下就可以了。如果整個電腦教室要採購新電腦的話,以目前市面上您所能買到的PC配備,絕對是綽綽有餘。舉個例子,國家高速網路與計算中心和新竹市青草湖社區大學合開的「Linux系統管理入門」課程(見參考資料12與圖2)中,我們採用的環境就是DRBL,該電腦教室用的配備見附錄一。讀者可以發現,該教室的電腦配備,並不是非常高階,也因為我們使用DRBL之後,整個電腦教室的管理工作輕鬆很多。
整個電腦教室的分配我們建議如圖3所示,眼尖的讀者可以發現,我們採用多張網路卡,配合多個網路交換器,這主要是一張高速乙太網路卡所能提供的頻寬有限,我們採用多張網路卡來分流,配合3台16 埠的網路交換器,可以將頻寬增加,價格卻沒有增加多少。
以全台目前中小學電腦教室的配備(1999年擴大內需所購買的機器為例),將一個電腦教室改為DRBL方式運作所需要的經費並不需要很多,在數萬元新台幣內一定可以搞定,所有的經費全部是用在硬體採購與擴充方面,這包含學生端電腦記憶體的擴充,網路交換器,以及伺服器升級的費用等等。至於軟體的經費,由於全部是採用自由軟體,當然不需要花到半毛錢。DRBL有這樣多的好處,您不心動嗎?
DRBL是如何運作的呢?基本上,伺服器提供的服務包括DHCP (Dynamic Host Configuration Protocol Server)、TFTP (Trivial File Transfer Protocol server)、NFS、NIS,學生的機器透過etherboot向伺服器要求IP address,透過dhcp 服務取得IP address之後,從伺服器下載開機的核心(kernel)以便網路開機。然後,透過NFS將檔案系統掛載到伺服器上。最後,學生透過伺服器所提供的NIS服務來登入。如果您需要讓學生端的機器使用對外的網際網路,您可以在伺服器上設定masquerading(見參考資料13)服務。
實際詳細的安裝將在下一期介紹,您也可以看參考資料14,那裡我們有提供作法。這裡我們簡單摘要一下:
1. 先在伺服器上安裝4個服務:dhcp、 tftp、nfs、nis
2. 製作學生機器所需要的網路開機核心 (etherboot tagged kernel):
請取得最新的kernel,選定etherboot需要的選項,然後編譯。再來就是將所產生的bzImage用mknbi linux做Tag,然後放到/tftpboot中,以便學生機器網路開機時使用。
3. 在伺服器上建置學生端機器檔案系統
每個學生端的機器所需要的檔案,都在伺服器上建置一份。透過NFS分享給學生的機器。您可能會擔心如果每台學生的機器檔案系統都在伺服器上,伺服器需要提供非常大的硬碟空間。這點其實不用擔心,由於學生端機器大部分共用一份檔案系統,所以伺服器的硬碟空間不需要很大。以redhat 7.3為例,每增加一台學生端的機器,伺服器所需額外增加的硬碟空間約是40MB。如果採用Debian,效果更好,每增加一台學生端的機器,伺服器所需額外增加的硬碟空間大約只有5MB。傑克!這實在是太神奇了!
這部分您不需要手動一台一台更改,我們已經寫好程式來提供您建置DRBL(見參考資料14),包含「N步安裝法」,「4步安裝法」以及「0步安裝法」。您可以根據您的需求選擇適當的作法來建置。
當然,DRBL這樣的東西我們不能紙上談兵,我們已經在以下幾個地方實際安裝與測試了:
由於上述這些地方的測試非常成功,因此,台北縣,嘉義縣市,桃園縣,以及新竹市等部分學校已經將要開始使用DRBL來做電腦教學的工作平台,並且也有研習營來分享DRBL的安裝與使用。未來,全台灣的中小學電腦教室DRBL的使用會不會越來越普遍呢?答案是肯定的。
以上我們雖然是介紹DRBL在教學上的運用,事實上,由於Linux系統在辦公室的使用越來越成熟,公司行號使用這樣的集中式管理環境必可以大幅降低管理的成本。此外,圖書館等提供公共上網的地方,採用DRBL,必然可以省去管理與軟體授權費的成本。
筆者由於管理大量的個人電腦,因而可以深刻的了解中小學電腦教師在管理電腦教室上的辛勞。套句自由軟體大師之一的Eric. S. Raymond(見參考資料15)所說的(見參考資料16),"好軟體都是起源於程式發展者要解決切身之痛"。由於Linux開放的原始碼,因而可以讓我們深入了解整個作業系統的內容,然後依照自己的需求調整出符合我們使用的作法。做個比喻,我們並不是在重複發明另外一個輪子,而是在瞭解輪子的規格與製作的方法後,改良出功能更強的輪子。我們深深被自由軟體與開放原始碼這樣的自由度所吸引,在自由軟體的環境下,我們可以無後顧之憂的發展我們所要的東西,然後回饋給社群。使用與發展自由軟體,讓我們懷有感恩的心,知識,就是要共享;好東西,要和大家分享。教育是百年大計,像自由軟體這麼優秀東西,不應該在我們的資訊教育中缺席。讓我們擁有軟體自由權吧!
Happy DRBLing!
感謝國家高速網路與計算中心的莊哲男主任,對自由軟體的支持;感謝柯森博士,高速網路與計算中心開放原始碼計畫的同仁,輔仁大學毛慶禎教授,游龍山同學的指教,以及教育部對電腦教育多元化教學的支持。
圖1. 國家高速網路與計算中心的個人電腦叢集

圖2. 國家高速網路與計算中心的電腦教室,採用DRBL運作

圖3. DRBL電腦教室建議配置圖
