[[PageOutline]] {{{ #!html

SGE 初體驗

}}} ---- = 【不負責前言】 = * 萬丈高樓平地起,相對的以資訊技術來說,系統平台層(System/Platform level) 穩固之後,就會到了 中介層(Middle) 和 應用層(Application)。相對於虛擬化平台穩固之後的下一步,(忘了是那一個講者說的,虛擬化之後的下一步就是自動化),不外忽視讓虛擬化的資源可以根據任務或應用來動態產生,和工作分配。 * 而本組對於 OpenNEbula 也頗有研究心得,OpenNEbula 發展早期也是聚焦於如何佈署虛擬機器於多台實體機器上 (也就是管理多台機器上的Hypervisior),隨著成熟發展,OpenNEbula 收到使用者的回饋和實際用做經驗,在 OpenNEbula 前端需要一個 DRM(Distributed Resource manage) 和任務分配管理,於是 OpenNEbula 變相中了也是開放原始碼的 Sun Grid Engine (現在改名叫 Oracle Grid Engine),再他們的官方文件也是建議使用者使用 SGE。 * 根據[http://newsletter.ascc.sinica.edu.tw/news/read_news.php?nid=1648 中研院的SGE的使用報告]能力似乎優於 Torque。 ---- = 【SGE 官方文件重點摘要】 = * 官方的文件落落長,主要分為四部份: * [http://docs.sun.com/app/docs/doc/817-6118?l=zh N1 Grid Engine 6 Installation Guide] * N1 Grid Engine 6 Administration Guide * N1 Grid Engine 6 User's Guide * Grid Engine Management Module User's Guide * N1 Grid Engine 6 Release Notes ---- = 【SGE 架構】 = * 看了 [http://docs.sun.com/app/docs/doc/817-6118?l=z N1 Grid Engine 6 Installation Guide h],從 SGE 的安裝流程,可以看到幾個重要的架構元件: * Master Host :主要運作 sge_qmaster 和 sge_schedd * Execution Host :sge_execd * Administrator Host :最簡單是設定跟 Master 同一台 * Submit Host :最簡單是設定跟 Master 同一台 * DB spooling server :最簡單是設定跟 Master 同一台 * 如果套用到 DRBL Virtualization 的架構來看,就是下圖 * [[Image(SGE_DRBL-Virtualization.png)]] ---- = 【SGE 安裝】 = * SGE 的安裝主要分為兩種,互動式和自動式,第一次安裝時建議使用互動式安裝以了解 SGE 的必要參數和步驟,之後就可用 自動式 來安裝其他台。 == [1. 下載 SGE binary] == * http://gridengine.sunsource.net/downloads/latest.html * 解壓縮並移到 /home 路徑下 {{{ $ su - # chown root.root zxvf ge62u5_lx24-amd64.tar.gz # tar zxvf ge62u5_lx24-amd64.tar.gz # sudo mv ge6.2u5 /home # tar zxvf ge-6.2u5-bin-lx24-amd64.tar.gz # tar zxvf ge-6.2u5-common.tar.gz }}} == [2. 環境配置] == * 檢查 /etc/hosts 資訊是否正確? * root 是否可免密碼 ssh 到其他 nodes? * 宣告 SGE_ROOT 環境變數 {{{ $ su - # echo export SGE_ROOT=/home/ge6.2u5 >> ~/.bashrc # source ~/.bashrc # echo $SGE_ROOT }}} * 配置檔案權限 {{{ # ./util/setfileperm.sh $SGE_ROOT }}} == [2. 安裝 Master Host (互動式安裝)] == {{{ # cd $SGE_ROOT # ./install_qmaster }}} * 他會依序詢問您相關的參數: 1. license 問題按 [y] 2. 一些注意事項 3. 選擇帳戶擁有者 (這邊是用 root) 4. 輸入合法的使用者 (這邊是用 sgeadmin。若是沒有此使用者的話,可以用 useradd sgeadmin 產生) 5. SGE_ROOT 路徑確認 (若是出現無法 create tmp dir ,可先 chmod 777 $SGE_ROOT -R,之後再用 ./util/setfileperm.sh $SGE_ROOT 改回來) 6. 設定網路服務到 /etc/services (sge_qmaster、sge_execd) 7. 設定 cell (這邊是用 default) 8. 設定 cluster name (預設為 p6444) 9. 設定 qmaster spool 路徑 10. 是否有 windows 系統要作為 execution host (這邊選[n]) 11. 設定檔案權限 12. 選擇解析 dns 的方式 (這邊選[y]) 13. 是否啟動 JMX Bean Server (這邊選[n]) 14. 使用那種 spooling 模式 (這邊選[berkeleydb]) 15. 設定 Berkeley DB Spooling Server,包含了 server 名稱和路徑 (另外開一個視窗來安裝 inst_sge -db) 16. 輸入 group id range 17. 設定 spool directory of the execution host == [3. 安裝 Execution Host] == ---- = 【SGE 操作】 = ---- = 【Reference】 = * [http://padraigkitterick.wordpress.com/2007/07/25/building-a-diskless-linux-cluster-debian-etch-drbl-gridengine/ Building a Diskless Linux Cluster: Debian (Etch) + DRBL + GridEngine] * [http://docs.sun.com/app/docs/coll/1017.3?l=zh SGE 英文文件] * [http://docs.sun.com/app/docs/coll/1192.1?l=zh SGE 中文文件]