請使用LDAP單一帳號登入

無硬碟電腦教室實作分享

 台中市立外埔國中資訊組長 郭特全 2013.03

 

 

 

 

 

   本校自行DIY無硬碟電腦教室,經過半年多的考驗,證明是個絕佳方案,分享給有興趣實作的人參考。

 

   目前電腦教室的服役機是ACER VM275,在我接資訊組前就已服役,原作業系統是windows 7,但使用狀況非常不順,很多似壞非壞的狀況層出不窮,每周電腦任課老師總要向我抱怨兩三次,引發心中怒火,決定大刀闊斧徹底解決!

 

   網路上遍尋資料得到結論,有效又經濟的方案非國高中心的DRBL莫屬,這可是屢獲國際大獎的台灣之光,自由軟體讚啦!

 

   接下來只針對建置過程作重點敘述,詳細資料及有用資訊請參看本文文末。

 

   有圖有真相,請看(圖一)左側或圖(二)是EZGO開機畫面,(圖一)右側證明真的無硬碟,我第一次看到時感動到快滴下淚(誇飾法),很興奮很激動倒是真的!傳聞中的無硬碟開機真的辦到了!

 

   為何會選擇EZGO 作為DRBL的作業系統呢? 而不是自己較熟悉的CENTOS,理論上只要是Linux Based應該都可以呀!原因有兩個:(一) CENTOS + DRBL 網路上資料很少,實作風險較高,萬一卡關大

PIC 1810001

 

(圖一)左側是EZGO開機畫面,右側證明真的無硬碟,太神奇了!

 

PIC 1812001

 

(圖二) EZGO 9畫面

 

 

概求助無門。國高中心官方網站的資料也都是UBUNTU方面。(二)電腦教室是教學用途,需要完善的桌面環境及豐富的應用軟體。綜合以上兩點,教育部支持的EZGO 計畫應是最好的選擇。

 

   2012.08實作時最新版本為EZGO 9,10月份EZGO 10才會釋出,開學在即已無法等待,所以就以EZGO 9下去實作。

 

PIC 1818001

(圖三)連上批acer M6(記憶體只有512M)都用的超順!

PIC 1811001

(圖四)DRBL SERVER

 

再來談SERVER的硬體規格,不用極端高檔,我是用IBM陽春直立式SERVER,大約三萬元左右,重點一定要有GIGA速率的雙網卡,要走網路開機這是必要條件,學生機倒不用擔心,現在市面上連最陽春的電腦都符合這個等級。

   接著是改善網路環境,DRBL SERVER 和學生機間的 SWITCH也要是GIGA速率,現在的價格應該是很親民了!所以換..換..換…

將舊SWITCH移至較不重要的地方使用,愛物惜物不要浪費。

PIC 1809001

 

(圖五) GIGA SWITCH

 

   最佳情況連網路線也要換成 CAT 6,我有線材也會壓水晶頭,但受限環境要搬走所有電腦才能施工,時間緊迫過幾日就要開學了,更換網路線就先暫緩,考量到SWITCH的距離也不長,CAT 5e應該勉強能用。

 

   外在環境符合要求後,所有心思放在SERVER設定上,有興趣的朋友參考文末資料,相信一定會成功,不再贅述。

 

   假設SERVER設定完成,客戶端(學生機)拔除硬碟,開機進入BIOS,BOOT順序選擇網路開機優先,約2分鐘開機完成進入桌面,與硬碟開機速度不相上下,但關機可快了只要5秒鐘(真的!)。

 

   興沖沖將SERVER上線,將學生機全部打開,晴天霹靂的事發生了,開機有的快、有的慢、有的無法開機成功,網路上的參考資料應該只要一台SERVER 就足堪負荷了!為何我校環境實作出來不是如此?我懷疑是網路線未升級造成的?這個問題的答案到現在還無法確認,不是因為問題太難,是因為到現在我還是沒換網路線,無法前後對照比較。後來我是增加為4台SERVER,每台SERVER只負責10台學生機,可維持開機2分鐘關機5秒鐘的水準,運作半年多以來,電腦老師未有任何抱怨,不曾維修過電腦,一切順順順!我愛上了無硬碟開機。

 

   拆下37顆500G硬碟作為備品,留供其他SERVER或行政電腦維修使用,雖然DRBL SERVER 硬體花了一些錢,但換回一堆備用硬碟也不無小補,無硬碟電腦教室真的很值得去做,大大降低網管人員工作量。

 

參考資料:

 

電腦教室SERVER機安裝

 

1. 安裝ezgo

 

光碟開機完直接點桌面install即可,選擇手動分割500GB,分割區切成:根目錄 / 200G,/tftpboot 200G,/tmp 50G ,SWAP 50G (格式選擇 ReiserFS)

 

Ubuntu Desktop edition (桌面版) 才會安裝 NetworkManager ,Server edition (伺服器版) 並不會安裝 NetworkManager,仍然用傳統的 network/interfaces 管理。兩種版本的網路設備管理策略並不相同,只有 Desktop edition 的使用者才會用到 NetworkManager 。NetworkManager 和 network/interfaces 兩種管理策略,基本上只能選擇一種使用。混用設定只會造成更多問題。

 

進入終端機

 

#sudo su

 

停止防火牆

 

# ufw disable

 

編輯網路卡組態

 

# vim /etc/network/interfaces

 

內容如下

 

auto lo

 

iface lo inet loopback

 

auto eth0

 

iface eth0 inet static

 

address xxx.xxx.xxx.xxx (對外IP 組態)

 

netmask xxx.xxx.xxx.xxx

 

gateway xxx.xxx.xxx.xxx

 

dns-nameservers XXX.XXX.XXX.XXX

 

auto eth1 (對內第一片網卡)

 

iface eth1 inet static

 

address 192.168.0.1

 

netmask 255.255.255.0

 

auto eth2 (對內第二片網卡)

 

iface eth2 inet static

 

address 192.168.1.1

 

netmask 255.255.255.0

 

auto eth3 (對內第三片網卡)

 

iface eth3 inet static

 

address 192.168.2.1

 

netmask 255.255.255.0

 

:wq

 

 

 

#vim /etc/resolv.conf

 

內容如下

 

nameserver xxx.xxx.xxx.xxx (校內DNS IP)

 

:wq

 

# /etc/init.d/networking restart 或

 

#reboot

 

修正ezgo9裏 shutter無法編輯的方法

 

#apt-get install shutter gnome-web-photo libgoo-canvas-perl

 

 移除NetworkManage

 

國網中心提醒當作伺服器的機器並不適合使用NetworkManager !! 

 

所以我們接下來就來停用NetworkManager吧 ~

 

先手動安裝圖形的網路設定程式

 

#apt-get install gnome-network-admin

 

#apt-get --purge remove network-manager

 

,重新開機後,執行"network-admin"

 

(或者在Gnome桌面選擇"系統"-> "管理" -> "網路")就可以查看DRBL網路的相關狀況。

 

#sudo su

 

# gpg --keyserver subkeys.pgp.net --recv-key D7E8DF3A

 

# gpg -a --export D7E8DF3A | apt-key add -

 

#vim /etc/apt/sources.list

 

最上面加入這3行

 

deb http://free.nchc.org.tw/ezgo-core ezgo-lucid main

 

deb http://free.nchc.org.tw/ubuntu lucid main restricted universe multiverse

 

deb http://free.nchc.org.tw/drbl-core drbl stable

 

更新套件庫

 

# apt-get update

 

系統更新

 

(在正式安裝DRBL之前建議要作好系統更新)

 

# apt-get dist-upgrade

 

# apt-get install dhcp3-server

 

安裝DRBL主程式

 

# apt-get install drbl

 

 

給沒有耐心的人:如果您真的沒有耐心看完或是設定以下所有的選項,而且你的網路連線順暢,你的套件也有提供apt, urpmi或是yum的儲藏庫,你可以直接執行"drbl4imp",這樣程式會用預設的場景,將以下步驟做完,然後您就馬上可以用了,原則上其實就是把以下步驟執行的時候都按Enter鍵使用預設的值就是了。但是,請注意,這個場景可能不符合您現場的環境。這個場景是預設您每張網路卡(eth1,eth2...不含eth0)經由switch連接到12台用戶端電腦,然後不鎖住MACaddress的方式來發放IP位址給用戶端使用。

 

 

安裝DRBL Server上所需要的軟體和環境

 

# /opt/drbl/sbin/drblsrv -i

 

設定DRBL

 

# /opt/drbl/sbin/drblpush -i

 

drblpush -i 詢問的問題真不少而且非常耗時 ~

 

建議只有第一次設定用戶端的資訊時和有新機器加入時才使用

 

平常若只是"更新安裝的軟體到用戶端"

 

比較建議使用

 

# /opt/drbl/sbin/drblpush -c /etc/drbl/drblpush.conf

 

(這個完整的指令會讀取前一次存下來的設定檔)

 

(我們就不用「慢慢交談」啦)

 

DRBL 在「新增軟體」或「新增client 端電腦」後的SOP

 

 往後有新增加的client電腦

 

 建議請再執行一遍

 

/opt/drbl/sbin/drblpush -i

 

 若是server上新安裝了軟體要讓用戶端也能使用

 

建議用底下完整的命令來執行

 

 sudo /opt/drbl/sbin/drblpush -c /etc/drbl/drblpush.conf

 

這個完整的指令完全等於底下

 

sudo /opt/drbl/sbin/dcs 選擇 re-deploy 的效果喔!!

 

(在drblpush時會讀取前一次存下來的設定檔,而不會囉囉嗦嗦的問一堆問題)

 

 總而言之

 

drblpush就是要重新部署檔案給您在DRBL的client電腦使用

 

 [註]執行完drblpush 指令後,您的用戶端有可能需要重新開機才能正常運作。

 

DRBL 模式的切換

 

 # /opt/drbl/sbin/dcs

 

請選擇more.....

 

drbl-mode 可以切換drbl的模式為Full還是SSI

 

DRBL Full模式和SSI模式的不同

 

 最大的不同是Full 模式下 /tfptboot/nodes/

 

每個ip資料夾裏頭的

 

/etc

 

/var

 

/root

 

是用nfs協定實體掛載

 

(每個Client都可以實體保留自己在這三個資料夾的設定 - - - 可以思考有必要嗎?? )

 

 SSI模式下

 

 /etc /var /root 則是用tmpfs的方式來掛載底下的三個tarball

 

 /tftpboot/node_root/drbl_ssi

 

template_etc.tgz

 

template_var.tgz

 

template_root.tzg

 

 (Client在這個模式下是無法保留任何在這三個資料夾的設定 ---- 重開機就會清除喔!! )

 

(這三個資料夾,本來就不該讓Client端來設定,所以非常建議使用SSI模式)

 

 所以SSI模式可以有效減低網路的流量

 

建議學校環境只要是Client端的機型相同可儘量採用DRBL SSI的模式

 

 而關於家目錄的檔案,請不用擔心:

 

 即使是在SSI模式,Client存放在自己家目錄的檔案並不會隨著重新開機就消失喔!!

 

關閉Ubuntu自動更新

 

系統/管理/synaptic套件管理

 

設定-套件庫--更新--自動更新

 

client端網路開機

 

用戶端機器的網卡有PXE網路開機功能

 

  1. 直接將用戶端電腦的BIOS設定成網路開機就可以當DRBL的client了。
  2. 設定的地方在Advanced -> Onboard Devices Configuration -> Onboard LAN -> Onboard LAN Boot Rom -> Enabled。
  3. Boot order設成優先順序為LAN -> CDROM -> HD
  4. 開啟Wake on LAN (可能在APM Configuration -> Power On By PCI Devices)。

 

DRBL的使用

 

最常用的指令是/opt/drbl/sbin/dcs,這個指令是用來切換用戶端電腦開機時候的模式,它的快照如下:

 

升級

 

日後如要升級DRBL的話,可以這樣做:

 

  1. 備份重要的檔案,例如/etc/drbl下所有的檔案,以及/etc/dhcpd.conf或是/etc/dhcp3/dhcpd.conf等檔案以備不時之需
  2. 執行/opt/drbl/sbin/drblsrv -u來移除所有已經安裝過的DRBL相關檔案
  3. 回到步驟2,下載新版的DRBL主程式,然後依照DRBL安裝的步驟,重新安裝一次(/opt/drbl/sbin/drblsrv -i與/opt/drbl/sbin/drblpush -i)。

 

基礎指令一覽表

由於DRBL屬於集中管理的環境,因此,透過以下這些指令,您可以

很方便與快速的管理整個環境,下一個指令就可以讓全部的電腦使用。
另外還有一些方便您做事的程式也一併列出。

以下所有的指令都存在於DRBL server的/opt/drbl/sbin或是/opt/drbl/bin中。

 

指令

說明

drbl-client-switch 或是 dcs

切換DRBL客戶端開機的模式

drbl-cp-host

將檔案複製到所有的DRBL客戶端電腦中

drbl-rm-host

移除所有的DRBL客戶端電腦中的某個檔案

drbl-useradd

DRBL環境中大量建立使用者帳號

drbl-userdel

DRBL環境中大量移除使用者帳號

drbl-cp-user, drbl-get-user, drbl-rm-user

放置(或是取回/移除)檔案到某個班級(群組)學生的家目錄

drbl-client-service

設定DRBL客戶端機器的服務(service)

drbl-doit

DRBL server上,下達指令給所有DRBL用戶端

drbl-ocs

Clonezilla還原系統,同時還原多台電腦

ocs-onthefly

硬碟直接對拷

drbl-SL.sh

DRBL環境中載入小型GNU/Linux (DSL, PuppyLinux, INSERT, PLD等)

drbl-all-service

啟動、重新啟動或是停止DRBL Server的服務

drbl-clean-autologin-account

移除自動登入的帳號

drbl-client-root-passwd

設定用戶端電腦的管理者密碼

drbl-login-switch

切換DRBL客戶端機器的圖形介面(X-window)登入模式

drbl-swapfile

設定DRBL客戶端機器的置換檔案產生服務(mkswapfile服務)

drbl-user-env-switch

還原使用者所有的環境設定為預設的初始狀態

drbl-nat

啟動、重新啟動或是停止DRBL server的NAT服務

cnvt-ocs-dev

改變映像擋中的裝置名稱

 

還原使用者所有的環境設定為預設的初始狀態

drbl-user-env-switch 這個指令可以還原使用者所有設定為預設的初始狀態,特別是使用者是自動登入的時候,可以用這個指令讓使用者登入後的狀態是初始的狀態,以免前一個使用者將桌面弄亂,造成後面使用的人不方便.
指令的格示如下所示
/opt/drbl/sbin/drbl-user-env-switch [-g|--group] group [-a|--all] [-r|--reset] [-v|--verbose]
-g, --group GROUP: 選定群組為GROUP的使用者來被處理.
-a, --all: 選定所有使用者(除了root)來被處理.
-r, --reset: 重新設定使用者家目錄的內容為最初始的狀態.
-v, --verbose 執行過程中詳細的印出資料
注意!!! 若沒有設定群組,預設是處理所有使用者,所以請小心使用,以免所有使用者家目錄的檔案被清光

 

反霸凌、性侵害、性騷擾投訴信箱 :

No_Bully@wpjh.tc.edu.tw

受理本校學生、師長、家長,媒體及

民眾申訴或諮詢有關暴力霸凌、詐騙案件。

投訴專線 : (04)26833721 分機 222

本市反霸凌申訴專線電話為0800-580-995

教育部反霸凌專線:0800-200-885

學校資訊

電話:04-2683-3721

【處室分機】

傳真:04-2683-3759

網路電話:070-910-5330

校址:

43857 臺中市外埔區大同里外埔路999號

【位置圖】

GPS資訊

北緯:(24.332599)

東經:(120.649367)

網站維護 : 外埔國中資訊組 (04)26833721 #231

Thursday the 2nd. PointLink.