NCHC Opensource task force 自由軟體教學平台 DRBL 蕭志榥黃國連 steven@nchc.org.tw, c00hkl00@nchc.org.tw 國家高速網路與計算中心 National Center for High-Performance Computing http://www.nchc.org.tw July, 2003 1
研習時間表 90 分鐘研習 1. 自由軟體教學平台 (DRBL) 簡介 (20 min) 2. 安裝與使用介紹 (40 min) 3. DRBL 體驗 (20 min) 4. 討論 (10 min) 2
Outline 1. 自由軟體簡介與教學平台的選擇 2. 為何高速網路與計算中心要推廣自由軟體 3. DRBL 的優點 4. DRBL 的硬體需求 5. DRBL 伺服器提供的服務 6. 目前使用 DRBL 的學校 3
GNU Gnu is Not Unix! 1983/9/27 教主 :Richard Stallman http://www.stallman.org/ Free software manifesto http://www.gnu.org/gnu/ma Free means freedom! Free Software Foundation FSF 軟體應該是人類的共同智能, 屬於公共財!
GNU Richard Stallman 試想, 如果有人跟你說 : 只要你保證不拷貝給其他人使用的話, 我就把這些寶貝拷貝給你用 其實這樣的人才是魔鬼 ; 而誘人當魔鬼的, 則是賣高價軟體的人 Stallman Stallman: 我要做出一系列亂棒的免費軟體, 好到讓廠家們只要不用他就會倒店的程度
Legal Issues GPL General Public License LGPL Lesser General Public License 非官方中文翻譯 http://www.gnu.org/licenses/translations.zh.html
Opensource 傳教士 : Eric S. Raymond http://www.tuxedo.org/~esr/ Opensource 一詞的發明人 The Cathedral & The Bazaar The Art of UNIX Programming A Brief History of Hackerdom
中文翻譯版 : http://www.linux.org.tw/cldp/do c/cathedral-bazaar.html The Cathedral & The Bazaar Case study Linus Torvalds' Linux Esr's fetchmail Netscape, Mozilla Many many more! 把你的使用者視為協同發展人, 可以讓你傷最少的腦筋, 但做到原始碼的快速改善, 程式的除錯有績效.
The Cathedral & The Bazaar [ 格言 1] 好軟體都是起源於程式發展者要解決切 身之痛. [ 格言 2] 優秀的程式師知道要寫程式, 偉大的程式師知道要改寫 ( 和重覆利用 ) 程式. [ 格言 5] 當你對一個問題不再感興趣時, 你最後的責任就是找位能勝任的接棒人. [ 格言 7] 儘早, 經常發表新版本, 並且傾聽使用 者的意見.
Linux History Linux Torvalds, Finland Just for fun! Related to Minix Newsgroup flame Opensource Internet effect
Linus 名言 人類進化演進的過程 - Linus 三定律 為求生存 為求社會地位 為娛樂, Just for fun! Examples: Sex 戰爭 電視 手機 Linux Software is like sex, it's better when it's free. 全球性的團隊遊戲 (for developer)
What's Linux? Linux 是一套免費的 32* 位元多人多工 Unix-like 作業系統, 同時相容於 System V 與 BSD 並且符合 POSIX 標準 It's GPLed! Ported to other platforms: i386, IA64, DEC's Alpha, Sun SPARC, PowerPC, VAX, SGI MIPS etc.
Linux Features Totaly Free! Opensource Cross platform 多人多工 具網路功能 上千種 GNU 軟體 可與其他作業系統並存
Mandrake Linux History Developers worldwide Opensource, thounds of eyeballs Community support Vendors support IBM Redhat
Linux & distribution Linux 是 kernel! A distribution = Linux kernel + software packages Linux kernel + 基本的 libc utilities + X Window system 最重要的工具集 : GNU tools! 嚴格來講 叫做 GNU/Linux
Linux Distributions LFS Linux From Scratch http://www.linuxfromscratch.org/ Slackware http://www.slackware.org/ Redhat http://www.redhat.com/ Mandrake http://www.mandrake.com/
Linux Distributions Suse http://www.suse.com/ Debian http://www.debian.org/ Gentoo http://www.gentoo.org/
Linux Distribution TurboLinux OpenLinux UnitedLinux Etc
Debian GNU/Linux 非商業化的 distribution 由全世界 5000 多個志願者共同維護 http://www.debian.org/ 安裝難度略高 但容易控制管理
自由軟體教學平台的選擇 每台機器逐一安裝 網路頻寬需求低費時, 不易維護 Live Linux Filesystem on CD 不需硬碟, 只需光碟機網路頻寬需求較低沒有安裝門檻若學生需要存取資料, 還是需要 file server 與 NIS server 靈活度較低 20
自由軟體教學平台的選擇 ( 續 ) LTSP (Linux Terminal Server Project) 不需硬碟與光碟機 Client 配備要求極低網路頻寬要求極高 Server 配備要求極高 DRBL (Diskless Remote Boot in Linux) 不需硬碟與光碟機 Client 配備要求中等網路頻寬要求稍高 Server 配備需求中等 另外的選擇 -> DRBL + Live Linux CD 21
LTSP vs DRBL 既有 LTSP, 何要 DRBL - 中央集權 vs. 地方分權 22
為何國家高速網路與計算中心要推廣自由軟體理念自由經費 鼓勵創新, 培植本土軟體資訊人材建立資訊工業自主實力節省政府支出, 每年省下二十億以上促進資料交換格式開放, 確保資訊自由 23
為何國家高速網路與計算中心要推廣 自由軟體 台灣, 大部分個人電腦的作業系統與辦公室軟體均為少數外 商的產品 至民國 89 年底, 政府機關與學校單位設置的個人電腦總數為 1,229,276 部, 估計支付外商公司軟體授權費超過新台幣七十億元以上 身為政府機構, 若有能力卻不做, 有違我們的認知 24
DRBL DRBL (diskless remote boot in Linux) etherboot + nfs + nis 優點 : 1. 學生端的硬體架構簡化, 降低故障率, 亦可節省經費 硬碟是 PC 所有零組件中最易故障的部分 學生端 (client machine) 簡化為無硬碟的主機,, 可以減少因為硬碟故障而無法使用的情形 2. 簡化管理工作 所有的服務集中在 server 管理, 減少檢視每台 client 軟體的困擾 安裝一台就等於安裝 40 台 備份一台就等於備份 40 台 因為 DRBL 學生端無需硬碟碟即可運作, 因此學生端可以保留原來硬碟中的作業系統, 適合多元化的教學 25
DRBL( 續 ) 3. 硬體雖簡化, 軟體卻完整 軟體和逐一安裝的機器一樣, 沒有任何偷工減料 4. Server 負載輕 5. 噪音低 不像 LTSP (Linux terminal server project) 的 server, 所有的資源都賴 server 提供, 因此 DRBL 的 server 負載較 LTSP 的 server 輕很多 電腦教室很大一部份的噪音是來自硬碟, 無碟的方式可有效降低高頻噪音, 提高教學品質 6. 不需要大量採用再生卡 學生端的電腦無硬碟, 所以不需要採用再生卡, 所有的備份只要備份 server 上的資料 要還原只要在 server 下個指令即可 7. 電腦教室規劃自由度更高 節省下來的經費可以拿做其他規劃 26
DRBL 示意圖 public ip NIC 2 NIC 1 server NIC 3 NIC 4 private ip private ip private ip switch 1 switch 2 switch 3 node001 node013 node014 node027 node028 node040 ~ ~ ~ 27
硬體需求 伺服器 基本需求 : CPU 450MHz 以上為佳, 記憶體 256 MB 以上, fast ethernet 網路卡 ( 以兩張以上為佳 ), 硬碟 20GBytes 以上為佳. 學生端 基本需求 : CPU 300 Mhz 以上為佳, 記憶體 128 MB 以上為佳, fast ethernet 網路卡, 無需硬碟, 若網路卡未內建 bootrom, 則需有軟碟機來提供網路開機的機制 網路設備 基本需求 : fast ethernet switch, port 數目配合 client machine 的數目, 一般電腦教室 40 台 client machines, 2 台 24 ports switch 或是 3 台 16 ports switch 即可 28
整體運作示意圖 server client node001... client node040 DHCP IP etherboot 192.168.0.1 etherboot 192.168.0.40 TFTP kernel boot boot file system NFS /, /usr, /home... /, /usr, /home... NIS account user login user login 29
伺服器提供的 Service DHCP, TFTP, NFS, NIS 1.DHCP server (Dynamic Host Configuration Protocol Server) - For distributing IP for every client - /etc/dhcpd.conf looks like: default-lease-time 21600; max-lease-time 21600; use-host-decl-names on; option subnet-mask 255.255.255.0; subnet 192.168.0.0 netmask 255.255.255.0 { option broadcast-address 192.168.0.255; option routers 192.168.0.254; option domain-name-servers 192.168.0.254; host node001 { hardware ethernet 00:50:BA:65:C0:58; fixed-address 192.168.0.1; filename "vmlinuz.etherboot.viarhine"; }... 30
伺服器提供的 Service( 續 ) 2. TFTP server (Trivial File Transfer Protocol server) - For distributing kernel - /etc/xinetd.d/tftp looks like: service tftp { } socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = 11 cps = 100 2 31
伺服器提供的 Service( 續 ) 3. NFS server (Network File Sharing protocol server) - For mounting file system - /etc/exports looks like: /tftpboot/node001 192.168.0.1(rw,no_root_squash) /usr 192.168.0.1(ro,no_root_squash) /opt 192.168.0.1(ro,no_root_squash) /home 192.168.0.1(rw,no_root_squash) /tftpboot/node002 192.168.0.2(rw,no_root_squash) /usr 192.168.0.2(ro,no_root_squash) /opt 192.168.0.2(ro,no_root_squash) /home 192.168.0.2(rw,no_root_squash)... 32
伺服器提供的 Service( 續 ) 4. NIS server (Network Information Service server) - For account authentization - /var/yp/securenets looks like: # allow connections from local host -- necessary host 127.0.0.1 # same as 255.255.255.255 127.0.0.1 # # allow connections from any host # on the 192.168.0.0 network 255.255.255.0 192.168.0.0... 33
實際安裝 參考網址 http://opensource.nchc.org.tw/diskless 摘要 1. 安裝 server 上的 service dhcp server tftp server nfs server nis server (ypserv) 2. 製作 client machine remote boot 所需要的 kernel 取得最新的 kernel, 選定 etherboot 需要的選項, 編譯將所產生的 bzimage 用 mknbi-linux 做 Tag 34
實際安裝 ( 續 ) 3. 在 server 上建置 client 的檔案系統 在 /tftpboot 下建一個目錄 ( 以下以 node001 為例 ), 複製所需的檔案, 包含 dev, etc, lib, bin, sbin 到 /tftpboot/n ode001 下 有些部份可以將 server 的用 NFS 分享給 client, 有些目錄卻是基於安全以及方便管理的考量, 每個 client 自己有一份 client 的 /dev 採用 devfs, /tmp 採用 tmpfs, 以減少 server 與網路的負載 更改每個 node 的設定, 包括 ip 等設定 以 redhat 9.0 為例, 每增加一台 client, server 所需額外增加的硬碟空間約是 20MB 4.NCHC 提供 shell script 與 binary packages 建置 client 的檔案系統 35
目前使用 DRBL 的學校 高速電腦中心與青草湖社大合開的 Linux 系統管理入門 嘉義縣網中心 ( 位於嘉義縣中埔鄉頂六國民小學 ) 嘉義市崇文國小新竹市建功國小 桃園縣陽明國小 ( 位於楊梅鎮 )... 參考網址 :http://drbl.nchc.org.tw/sites/ 36
參考資料 http://drbl.nchc.org.tw http://drbl.sf.net http://www.study-area.org/ 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 NFS HOWTO NIS HOWTO 37