[[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 超簡短介紹】 =
* SGE 主要透過'''(1)資源管理(Resource Management)''' '''(2)資源使用政策(Administering Ploicy)''' 來管理工作量(Workload)
----
= 【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
}}}
== [3. 安裝 Master Host] ==
* 下面使用互動式的方式來安裝 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
18. ......(略)
* 檢查
{{{
# ps -ef | grep sge_qmaster
sgeadmin 10429 1 0 09:18 ? 00:00:04 /home/ge6.2u5/bin/lx24-amd64/sge_qmaster
# qconf -sh
# qconf -sconf
}}}
== [4. 安裝 Execution Host] ==
* 下面使用互動式的方式來安裝 Execution Host
{{{
# ./install_execd
}}}
* 檢查
{{{
# ps -ef |grep sge_execd
sgeadmin 11786 1 0 15:57 ? 00:00:00 /home/ge6.2u5/bin/lx24-amd64/sge_execd
}}}
----
= 【SGE 配置】 =
* 使用 QMON,debian使用 qmon 必須安裝 libmotif3 套件 (否則會出現找不到 libxm.so.3 的訊息)
== [Master] ==
== [Execution] ==
----
= 【SGE 操作】 =
* qconf 介紹
{{{
# qconf -ah //增加 administrative host
# qconf -as //增加 submit host
# qconf -ae [exec_server_template] //使用範本增加 submit host
# qconf -sh //列出 administrative host
# qconf -ss //列出 submit host
# qconf -sel //列出 execution host
# qconf -sep //列出 execution host 可使用的 CPU
}}}
----
= 【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://wikis.sun.com/display/GridEngine/Home Sun Grid Engine Home]
* [http://docs.sun.com/app/docs/coll/1017.3?l=zh SGE 英文文件]
* [http://docs.sun.com/app/docs/coll/1192.1?l=zh SGE 中文文件]