自由軟體與資訊公民聯網
首頁 ] / 上一層 ] 上一篇 ] 下一篇 ]


自由軟體教學環境:
集中管理的自由軟體教學環境

DRBL (Diskless Remote Boot in Linux)簡介

蕭志榥(steven@nchc.org.tw)
黃國連(c00hkl00@nchc.org.tw)
國家高速網路與計算中心開放原始碼計畫
(http://opensource.nchc.org.tw)

2004/05/24


一、前言

本篇文章的目的,是以Linux為基礎,建置一個集中管理的自由軟體教學環境,如果將此環境用在學校的電腦教室,可以大幅減輕學校資訊組長和教師的工作負荷。這樣的環境可以:

  1. 支援多元化的資訊教育,您的電腦教室可以很方便與快速的切換作業系統,而且不會影響到原來的作業系統,兩者可以共存。
  2. 在伺服器上安裝一套作業系統與軟體,就等於40台學生端的機器已經安裝。
  3. 備份一台伺服器上的資料,就等於備份40台學生端的機器。
  4. 每台學生的電腦可以省下新台幣4000元左右的硬體費用,以及5000元左右的教育版軟體授權費用。

二、從個人電腦叢集環境到中小學的資訊教學環境

筆者從事個人電腦叢集(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,政府訂定今年為「保護智慧財產行動年」,加上微軟公司從20028月以後,實施第六版授權方式(Licensing 6.0),企業購買的微軟大量授權軟體不再永久有效(見參考資料3),而是2年或是3年授權就過期。這些因素使得長久以來一般人的軟體使用習慣才略有所改變,大家也才有所覺醒,如果我們的教育只教授單一作業系統,單一軟體,那麼永遠無法享受多元化競爭所帶來的好處。自由軟體多年來在全世界社群的耕耘下,2002年可以說是達到一個相當成熟的階段。尤其Openoffice.org的出現,更使得Linux非常適合拿來做桌上型電腦的工作環境。綜合以上這些原因,國家高速網路與計算中心成立開放原始碼推動計畫(http://opensource.nchc.org.tw),致力於自由軟體的推廣。而筆者在因緣際會下,和致力於推廣自由軟體的輔仁大學圖書資訊學系毛慶禎教授搭上線,因而使得筆者得以將個人電腦叢集上Linux的使用經驗,轉化為適合電腦教室教學使用的「自由軟體教學平台  Diskless Remote Boot in Linux (DRBL)」。

那麼,使用自由軟體來教學有何好處呢?我們約略可以歸納出以下幾個優點:

  1. 多元化的資訊教學,學生學習的不是單一系統與軟體,可以營造多元化的資訊軟體環境。
  2. 軟體可以自由、不受限制的複製與流通,所有學生可以合法的擁有軟體。
  3. 促進資料交換格式開放,確保資訊自由。
  4. 節省軟體經費,不需花任何經費在軟體上,錢可以花在刀口上。

採用自由軟體有這樣多的好處,那到底要如何用在教學上呢?

三、自由軟體教學平台的種類

現在,我們列舉一下目前適合用來教授自由軟體的工作平台,筆者將之約略分類為以下三類(見表一):

1.每台機器逐一安裝上課所需要的作業系統與軟體

這是最直接想到的作法,這樣做的好處是每台機器獨立,網路頻寬需求低;但是缺點是很費時,而且不容易維護。即使是您使用Partimage(參考資料4)或是SymantecNorton Ghost(參考資料5)來大量複製作業系統到每一台電腦都很不容易維護。

2.Live Linux Filesystem on CD

這是使用一片光碟開機,所有的作業系統以及軟體就在那片光碟上。這樣做的好處是不需硬碟,只需光碟機,而且不需要每台逐一安裝,只要有光碟片就可以了。此外,每台機器也是獨立,所以網路頻寬需求較低。但是缺點是光碟讀取速度較慢,用來教學的話,學生容易抱怨等待的時間過長,造成自由軟體速度慢的假象。此外,這樣的作法靈活度非常低,如果需要安裝新軟體或是更改資料等,所有的光碟都需要重新燒錄。再來,若學生需要存取資料,您還是需要有伺服器來提供檔案服務[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的,可以下載來玩玩看。

3.無碟開機,基本上有以下兩種作法:

  1. LTSP (Linux Terminal Server Project)(參考資料8):它的作法與大型主機相似,都是採用一台強而有力的伺服器,所有使用者的程式都在伺服器上執行,而學生端的電腦則只是作為終端機之用,它可以是非常老舊或是陽春的機器(例如Pentium 100,記憶體只有16MB)。這種作法的好處是學生端的機器不需要硬碟與光碟機,配備要求極低,缺點則是網路頻寬要求高,伺服器配備要求極高,而且需求是根據電腦的數目增加而增加,也就是說,就算有一台再強的伺服器與網路設備,讓多台的學生機器共用後,效能就沒有這麼好了。然而由於LTSP的這些特性,非常適合在電腦設備貧乏的地方使用,學生端的機器只要能拿到機器(386, 486都可以),搭配一台強悍的高階伺服器,就可以跑起來。但是多台學生端電腦使用時的順暢與舒適度就會受到相當程度的影響。
  2. DRBL:相較於LTSP集中使用伺服器上資源的作法,DRBL採用的是分散式的作法。學生端的電腦透過網路向伺服器取得程式後,程式就在學生端的電腦上執行。整個環境跟您逐台安裝的環境是一樣的,只是透過一些特殊的服務程式,以方便管理。相較於LTSPDRBL伺服器的配備要求是中等程度的配備。同時,學生端的電腦只要有中等程度的計算能力[例如CPU頻率在300 MHz以上,記憶體約在128 MB()以上],不是太過陽春的話,都非常適合使用。

 
逐一安裝 Live Linux File System on CD LTSP DRBL
電腦教室維護
整體網路頻寬需求
伺服器配備要求 (NFS,NIS server) (NFS,NIS server)
經費
學生使用舒暢度 低∼中(視學生電腦數目而定)

表一 自由軟體教學平台的選擇(以電腦教室有1台伺服器,40台學生電腦為例)

四、為何採用DRBL來集中管理電腦教室

在管理電腦教室上,為了減少管理上的人力需求,集中式管理的方式最符合經濟效益。因此,依上述的分類,最好的選擇不外乎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的優點

DRBL主要是由 etherboot (參考資料9)+ NFS (參考資料10)+ NIS (參考資料11)所組成,它的優點包括:

1. 學生端的硬體架構簡化,因而方便管理與節省經費

管理過電腦教室的老師一定知道,硬碟是PC所有零組件中最易故障的部分,如果學生端的機器(client machine)簡化為無硬碟,就可以減少因為硬碟故障而無法使用的情形。此外,學生端的機器沒有硬碟,當然您就不需要用再生卡之類的東西了。每台學生的電腦都省下硬碟與再生卡這兩樣硬體(這兩樣硬體合計大約要新台幣4000元左右),整個電腦教室的經費自然就省不少了。

2. 簡化管理工作

所有的服務集中在伺服器管理,因此可以減少檢視每台學生機器軟體的困擾。此外,在伺服器上安裝一套作業系統與軟體,就等於40台學生端的機器已經安裝。備份一台伺服器上的資料,就等於備份40台學生端的機器。身為電腦教室的管理老師,您能不心動嗎?

3. 適合多元化的教學

因為DRBL並不需要將作業系統與軟體安裝在學生端機器的硬碟中,因此學生的機器可以保留原來硬碟中的作業系統(例如目前大部分的電腦教室中都已經安裝了微軟公司的Windows 98),您只需告訴學生開機的時候,選擇適當的作業系統即可。您的電腦教室可以在幾分鐘內全部由Windows 98的環境切換到Linux的教學環境,或是反過來由Linux的教學環境切換到Windows 98的環境。如果您是支持電腦教育多元化的老師,您能不心動嗎?的確,DRBL非常適合多元化的教學。

4. 伺服器負載輕

學生端機器僅透過網路由伺服器載入檔案與資料,然後利用學生端機器的資源來處理,不像LTSP 的伺服器,所有的資源都賴伺服器提供。所以,DRBL伺服器的負載當然較LTSP的伺服器輕很多。

5. 噪音低

電腦教室一部份的噪音是來自硬碟,採用DRBL可以有效的降低教室中的高頻噪音,提升教學品質。親愛的老師,您的麥克風可以不用調這麼大聲了!

6. 電腦教室規劃自由度更高

由於學生的電腦規格簡化,經費可以節省。因此,節省下來的經費可以拿做其他規劃,例如購買比較不佔空間且幾乎沒有輻射線的液晶螢幕。另外,由於電腦的機殼縮小,因此您的電腦教室可以購買比較好擺設的電腦桌椅。因而整個電腦教室的規劃可以變得非常溫馨,學生和老師的互動可以更良好。

六、DRBL所需的硬體規格

說了這麼多,使用DRBL到底電腦教室所需要的配備需求為何?會不會高速網路與計算中心的人,推薦的伺服器就是非常高檔,要花很多經費,買一台"超級電腦"來當伺服器?呵呵!當然不會,以下我們都以伺服器1台,學生機器40台為例。基本上所需配備:

這麼神奇?幾乎用1999年擴大內需所購買的機器就可以做到?沒錯,就是這樣,您只需將伺服器稍微升級,學生端的電腦記憶體擴充一下就可以了。如果整個電腦教室要採購新電腦的話,以目前市面上您所能買到的PC配備,絕對是綽綽有餘。舉個例子,國家高速網路與計算中心和新竹市青草湖社區大學合開的「Linux系統管理入門」課程(見參考資料12與圖2)中,我們採用的環境就是DRBL,該電腦教室用的配備見附錄一。讀者可以發現,該教室的電腦配備,並不是非常高階,也因為我們使用DRBL之後,整個電腦教室的管理工作輕鬆很多。

整個電腦教室的分配我們建議如圖3所示,眼尖的讀者可以發現,我們採用多張網路卡,配合多個網路交換器,這主要是一張高速乙太網路卡所能提供的頻寬有限,我們採用多張網路卡來分流,配合316 埠的網路交換器,可以將頻寬增加,價格卻沒有增加多少。

以全台目前中小學電腦教室的配備(1999年擴大內需所購買的機器為例),將一個電腦教室改為DRBL方式運作所需要的經費並不需要很多,在數萬元新台幣內一定可以搞定,所有的經費全部是用在硬體採購與擴充方面,這包含學生端電腦記憶體的擴充,網路交換器,以及伺服器升級的費用等等。至於軟體的經費,由於全部是採用自由軟體,當然不需要花到半毛錢。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需要的選項,然後編譯。再來就是將所產生的bzImagemknbi linuxTag,然後放到/tftpboot中,以便學生機器網路開機時使用。

3. 在伺服器上建置學生端機器檔案系統

每個學生端的機器所需要的檔案,都在伺服器上建置一份。透過NFS分享給學生的機器。您可能會擔心如果每台學生的機器檔案系統都在伺服器上,伺服器需要提供非常大的硬碟空間。這點其實不用擔心,由於學生端機器大部分共用一份檔案系統,所以伺服器的硬碟空間不需要很大。以redhat 7.3為例,每增加一台學生端的機器,伺服器所需額外增加的硬碟空間約是40MB。如果採用Debian,效果更好,每增加一台學生端的機器,伺服器所需額外增加的硬碟空間大約只有5MB。傑克!這實在是太神奇了!

這部分您不需要手動一台一台更改,我們已經寫好程式來提供您建置DRBL(見參考資料14),包含「N步安裝法」,「4步安裝法」以及「0步安裝法」。您可以根據您的需求選擇適當的作法來建置。

八、實地測試的地點與未來使用情形

當然,DRBL這樣的東西我們不能紙上談兵,我們已經在以下幾個地方實際安裝與測試了:

  1. 國家高速網路與計算中心與新竹市青草湖社區大學合開的「Linux系統管理入門」課程(見參考資料12)
  2. 台北縣大豐國小,中壢林森國小,台北縣三芝國小
  3. 台北縣福營國中

由於上述這些地方的測試非常成功,因此,台北縣,嘉義縣市,桃園縣,以及新竹市等部分學校已經將要開始使用DRBL來做電腦教學的工作平台,並且也有研習營來分享DRBL的安裝與使用。未來,全台灣的中小學電腦教室DRBL的使用會不會越來越普遍呢?答案是肯定的。

九、結語

以上我們雖然是介紹DRBL在教學上的運用,事實上,由於Linux系統在辦公室的使用越來越成熟,公司行號使用這樣的集中式管理環境必可以大幅降低管理的成本。此外,圖書館等提供公共上網的地方,採用DRBL,必然可以省去管理與軟體授權費的成本。

筆者由於管理大量的個人電腦,因而可以深刻的了解中小學電腦教師在管理電腦教室上的辛勞。套句自由軟體大師之一的Eric. S. Raymond(見參考資料15)所說的(見參考資料16)"好軟體都是起源於程式發展者要解決切身之痛"。由於Linux開放的原始碼,因而可以讓我們深入了解整個作業系統的內容,然後依照自己的需求調整出符合我們使用的作法。做個比喻,我們並不是在重複發明另外一個輪子,而是在瞭解輪子的規格與製作的方法後,改良出功能更強的輪子。我們深深被自由軟體與開放原始碼這樣的自由度所吸引,在自由軟體的環境下,我們可以無後顧之憂的發展我們所要的東西,然後回饋給社群。使用與發展自由軟體,讓我們懷有感恩的心,知識,就是要共享;好東西,要和大家分享。教育是百年大計,像自由軟體這麼優秀東西,不應該在我們的資訊教育中缺席。讓我們擁有軟體自由權吧

Happy DRBLing!

誌謝

感謝國家高速網路與計算中心的莊哲男主任,對自由軟體的支持;感謝柯森博士,高速網路與計算中心開放原始碼計畫的同仁,輔仁大學毛慶禎教授,游龍山同學的指教,以及教育部對電腦教育多元化教學的支持。

1. 國家高速網路與計算中心的個人電腦叢集

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

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

參考資料

  1. 詳見網頁 http://pccluster.nchc.org.tw
  2. 詳見網頁 http://hpcserv2.nchc.org.tw/project
  3. 詳見微軟網頁 "全新大量授權方案License 6.0 八月一日正式實施"(http://www.microsoft.com/taiwan/business/licensing/letter.htm)
  4. 詳見網頁 http://www.partimage.org
  5. 詳見網頁 http://www.symantec.com.tw/region/tw/product/ghost
  6. 詳見網頁 http://www.knopper.net/knoppix
  7. 詳見網頁 http://www.virtual-linux.org
  8. 詳見網頁 http://www.ltsp.org/
  9. 詳見網頁 http://etherboot.sourceforge.org/
  10. NFS HOWTO
    (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/NFS-HOWTO.html)
  11. NIS HOWTO
    (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/NIS-HOWTO.html)
  12. 國家高速網路與計算中心與青草湖社區大學合開的「Linux系統管理入門」課程,詳見網頁(http://www.bamboo.hc.edu.tw/course/session08/syllabus/computer/91b-9402.html)。
  13. Linux IP Masquerade HOWTO
    (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/IP-Masquerade-HOWTO.html)
  14. 詳見網頁http://opensource.nchc.org.tw/diskless
  15. 詳見網頁http://www.tuxedo.org/~esr
  16. "The Cathedral and Bazaar",非官方中文翻譯詳見網頁(http://www.linux.org.tw/CLDP/doc/Cathedral-Bazaar.html)

其他參考資料

  1. http://www.study area.org/
  2. http://www.rom o matic.net/
  3. Diskless HOWTO
    (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Diskless-HOWTO.html)
  4. Diskless nfs root HOWTO
    (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Diskless-root-NFS-HOWTO.html)
  5. Diskless nfs root other HOWTO
    (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Diskless-root-NFS-other-HOWTO.html)
  6. Network boot HOWTO
    (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Network-boot-HOWTO.html)

附錄

  1. 高速網路與計算中心訓練教室PC的規格

首頁 ] / 上一層 ] 上一篇 ] 下一篇 ]


wind@fcu.org.tw