wiki:virtualization_schedule/SGE_first

Version 10 (modified by rock, 14 years ago) (diff)

--

SGE 初體驗


【不負責前言】

  • 萬丈高樓平地起,相對的以資訊技術來說,系統平台層(System/Platform? level) 穩固之後,就會到了 中介層(Middle) 和 應用層(Application)。相對於虛擬化平台穩固之後的下一步,(忘了是那一個講者說的,虛擬化之後的下一步就是自動化),不外忽視讓虛擬化的資源可以根據任務或應用來動態產生,和工作分配。
  • 而本組對於 OpenNEbula 也頗有研究心得,OpenNEbula 發展早期也是聚焦於如何佈署虛擬機器於多台實體機器上 (也就是管理多台機器上的Hypervisior),隨著成熟發展,OpenNEbula 收到使用者的回饋和實際用做經驗,在 OpenNEbula 前端需要一個 DRM(Distributed Resource manage) 和任務分配管理,於是 OpenNEbula 變相中了也是開放原始碼的 Sun Grid Engine (現在改名叫 Oracle Grid Engine),再他們的官方文件也是建議使用者使用 SGE。
  • 根據中研院的SGE的使用報告能力似乎優於 Torque。

【SGE 超簡短介紹】

  • SGE 主要透過(1)資源管理(Resource Management) (2)資源使用政策(Administering Ploicy) 來管理工作量(Workload)

【SGE 官方文件重點摘要】

  • 官方的文件落落長,主要分為四部份:

【SGE 架構】

  • 看了 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 的架構來看,就是下圖

【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】

Attachments (1)

Download all attachments as: .zip