NCHC Opensource task force 自由軟體集中式管理的電腦教室與辦公環境 DRBL 黃國連蕭志榥 steven@nchc.gov.tw, c00hkl00@nchc.gov.tw 國家高速網路與計算中心 National Center for High-Performance Computing http://www.nchc.gov.tw Mar, 2003 1
研習時間表 2003/3/24 ( 星期四 ) 09:30-10:30 自由軟體集中式管理的電腦教室與辦公環境簡介 10:40-12:00 Linux 安裝實做 13:00-14:30 DRBL 安裝實做 ( 一 ) 14:40-16:30 DRBL 安裝實做 ( 二 ) 2
Outline 1. 自由軟體集中式管理的電腦教室與辦公環境的選擇 2. 為何高速電腦中心要推廣自由軟體 3. DRBL 的優點 4. DRBL 的硬體需求 5. DRBL 伺服器提供的服務 6. 實際安裝 3
自由軟體集中式管理的電腦教室與辦公環境的選擇 每台機器逐一安裝 網路頻寬需求低 費時, 不易維護 Live Linux Filesystem on CD 不需硬碟, 只需光碟機 網路頻寬需求較低 沒有安裝門檻 若學生需要存取資料, 還是需要 file server 與 NIS server 靈活度較低 4
自由軟體集中式管理的電腦教室與辦公環境的選擇 ( 續 ) LTSP (Linux Terminal Server Project) 不需硬碟與光碟機 Client 配備要求極低 網路頻寬要求極高 Server 配備要求極高 DRBL (Diskless Remote Boot in Linux) 不需硬碟與光碟機 Client 配備要求中等 網路頻寬要求稍高 Server 配備需求中等 5
LTSP vs DRBL 既有 LTSP, 何要 DRBL - 中央集權 vs. 地方分權 6
為何國家高速網路與計算中心 要推廣自由軟體理念 自由 經費 鼓勵創新, 培植本土軟體資訊人材 建立資訊工業自主實力 節省政府支出, 每年省下二十億以上 促進資料交換格式開放, 確保資訊自由 7
為何國家高速網路與計算中心 要推廣自由軟體 在台灣, 大部分個人電腦的作業系統與辦公室軟體均為少數 外商的產品 至民國 89 年底, 政府機關與學校單位設置的個人電腦總數為 1,229,276 部, 估計支付外商公司軟體授權費超過新台幣七十億元以上 身為政府機構, 若有能力卻不做, 有違我們的認知 8
DRBL DRBL (diskless remote boot in Linux) etherboot + nfs + nis 優點 : 1. 學生端的硬體架構簡化, 降低故障率, 亦可節省經費 硬碟是 PC 所有零組件中最易故障的部分 學生端 (client machine) 簡化為無硬碟的主機,, 可以減少因為硬碟故障而無法使用的情形 2. 簡化管理工作 9
DRBL( 續 ) 3. 硬體雖簡化, 軟體卻完整 軟體和逐一安裝的機器一樣, 沒有任何偷工減料 4. Server 負載輕 不像 LTSP (Linux terminal server project) 的 server, 所有的資源都賴 server 提供, 因此 DRBL 的 s erver 負載較 LTSP 的 server 輕很多 5. 噪音低 電腦教室很大一部份的噪音是來自硬碟, 無碟的方式可有效降低高頻噪音, 提高教學品質 10
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 ~ ~ ~ 11
硬體需求 伺服器 基本需求 : CPU 450MHz 以上為佳, 記憶體 256 MB 以上, fast ethernet 網路卡 ( 以兩張以上為佳 ), 硬碟 20GBytes 以上為佳. 學生端 基本需求 : CPU 300 Mhz 以上為佳, 記憶體 128 MB 以上為佳, fast ethernet 網路卡, 無需硬碟, 若網路卡未內建 bootrom, 則需有軟碟機來提供網路開機的機制 網路設備 基本需求 : fast ethernet switch, port 數目配合 client machine 的數目, 一般電腦教室 40 台 12
整體運作示意圖 server client node001... client node040 DHCP IP etherboot 192.168.0.1 etherboot 192.168.0.40 TFTP kernel boot boot NFS file system /, /usr, /home... /, /usr, /home... NIS account user login user login 13
伺服器提供的 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"; 14
伺服器提供的 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 15
伺服器提供的 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)... 16
伺服器提供的 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... 17
實際安裝 參考網址 http://opensource.nchc.gov.tw/diskless 摘要 1. 安裝 server 上的 service dhcp server tftp server nfs server nis server (ypserv) 2. 製作 client machine remote boot 所需要的 ke rnel 取得最新的 kernel, 選定 etherboot 需要的選 18
實際安裝 ( 續 ) 3. 在 server 上建置 client 的檔案系統 在 /tftpboot 下建一個目錄 ( 以下以 node001 為例 ), 複製所需的檔案, 包含 dev, etc, lib, bin, sb in 到 /tftpboot/node001 下 有些部份可以將 server 的用 NFS 分享給 client, 有些目錄卻是基於安全以及方便管理的考量, 每個 client 自己有一份 client 的 /dev 採用 devfs, /tmp 採用 tmpfs, 以減少 server 與網路的負載 19
實際安裝與測試 1.NCHC 測試 Server Celeron 450MHz, 512MB ram, fast ethernet, Client:40 台 PC (PIII 550MHz, 256 MB Ram) 2. 台北縣大豐國小, 中壢林森國小, 台北縣三芝國小 Server 1 GHz, 1 GB ram, gigabits ethernet, Clie nt:40 台 PC ( 約 350 MHz, 96-128 MB Ram) 3. 台北縣福營國中 Server 600 MHz, 1 GB ram, fast ethernet, Client :40 台 PC (750 MHz, 128 MB Ram) 4. Redhat & Debian 的比較 20
參考資料 http://opensource.nchc.gov.tw/diskless 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 21