Unibox

Unibox - Unigrid’s Easy Install Package

前言

在2006年的今天,套件安裝已經不是這樣簡單的問題。因為MiddleWare套件的複雜度,上一版的Unibox採取的是build on site這樣的方式,各個cluster所執行的應該是在其上建置(build)而且最佳化的套件。

雖然自動建置程式能夠完成,可是卻遇到很多問題
1. 使用者還是得手動處理大量的憑證作業
2. 需要使用者提供root密碼,否則就必須使用較無安全性的ssh public key authentication

這樣的問題導致管理員維護困難,也對Unigrid的推廣毫無幫助。

但是第二版不採用這樣的方式,最主要原因還是將MiddleWare還原其本質:
建置一個Cluster所需要的MiddleWare是需要有Unix經驗或管理員資格的人來配置(deploy)及管理,所以Unibox應該要是管理人員的輔助工具

參考了AppServ及Xampp這些LAMP的解決方案,我決定將Unibox2改成這個樣子。

Unibox包含了所有Unigrid的:
Binary Compatible套件(Build on CentOS 4.4)
文件
貢獻軟體

Unibox可以做到:
快速地完成單一節點憑證申請前的安裝
幫助管理員快速取得資料與原始套件

Unibox不能做到:
全自動的無痛安裝,很多系統環境的變因光靠程式去判斷是不夠的
自動地編輯必要的設定檔
自動地幫使用者申請憑證

軟硬體需求

Any PC Compatible with Intel x86 32 bit CPU, more then 256MB RAM
CentOS 4 or CentOS 5
注意! CentOS  在安裝的時候請務必勾選「Software Developement」,「Lagacy Software Developement」,「System Tools」套件群組

詳情請見Q&A 1.

下載

安裝

由於是已經安裝好的Midleware進行目錄配置與打包,安裝已經變得很簡單。
但是眾多軟體套件畢竟還是得靠管理員根據自己cluster的狀況進行配置。

  • 直接將壓縮檔解開至/opt,請勿解到其他目錄
    tar zxf unibox-2.0.0.x86.CentOS4.4.tgz -C /opt
  • 你可以直接source /opt/unigrid/bash_profile.sh以便繼續接下來的步驟
    路徑設定應該會在安裝後下一次登入時生效
  • 執行/opt/unigrid/unigrid
    選擇Install,程式會自動進行下列工作
    中途有修改過的檔案都會備份
    * 安裝所有rpm
    * 安裝simple ca(產生/etc/grid-security)
    * 註冊gatekeeper,gsiftp兩個服務至/etc/services
    * 安裝主機對照至/etc/hosts
    * 安裝/etc/xinetd.d兩個gsi設定檔
    * 安裝/etc/grid-security/grid-mapfile
    * 安裝路徑設定至/etc/bashrc
    * 移除啟動ntpd,並且將ntpdate.sh加入到/etc/cron.hourly
    他會詢問你是不是第一台(HeadNode),如果是的話才會繼續安裝以下
    ** 新增globus,condor,unigridroot,unigridtest,unigridtest1,unigridtest2帳號
    他會詢問你要不要預設啟動,如果是的話
    ** 新增啟動路徑至/etc/rc.local
    * 新增~codor/config_config連結
    * 複製file/nwsdata, file/srbdata 至/opt並且設定好權限如果管理員覺得需要依照該cluster的狀況手動進行配置也是可以
    只要完成上述作業即可

設定

在啟動之前必須手動完成設定
接下來的設定都會提供中華的範本(檔名都會加上.chu)給管理員們參考
如果有任何問題請參考/opt/unigrid/docs底下的文件

設定condor

你可以在/opt/unigrid/condor/etc/chu找到中華的設定檔
基本上先將condor_config,roster複製到/opt/unigrid/condor/etc/
修改condor_config,將Part1裡面的資訊換成你的cluster的資訊
roster也換成你的主機名稱
接下來將複製srbn01.local.chu至/opt/unigrid/condor/etc/<主機hostname>.local
編輯他並且依照你的主機狀況修改記憶體的值

根據unibox的配置,也可以順利地將condor利用nfs共享出去
請參考散佈至其他Node一節

設定srb

安裝程式會在/opt/srbdata產生預設的設定檔
請編輯
mcatHost:你應該將第一行改成你所在地區的mcat主機
mcat主機列表
hostConfig:你應該要將第一行改成你的主機名稱
srb.conf:srb的所有設定都在這裡,但基本上你不需要修改

.MdasEnv的問題:
目前Unigrid採取將MCAT服務分散在北中南等五區的方式,請各學校判斷自己的區域,並且聯絡該區的MCAT負責人
請他們提供MdasEnv及MdasAuth檔案資料

根據SRB的系統架構,各區的MCAT負責人,必須設定好各學校的Domain(例如說NCKUEE)及管理員帳號(例如srbadmin)
並且將其資料以MdasEnv及MdasAuth格式發給其他沒有MCAT的學校

設定etc/gmond.conf

進入/opt/unigrid/etc下編輯你的gmond.conf
依照範例gmond.conf.chu
修改
cluster {}
host{}
udp_send_channel{}
有幾個udp_send_channel設定則依照你的主機增加或減少

啟動

啟動前的注意事項

各個元件啟動有其必要存在檔案,這個會在unigrid script中的u_start()副程式
有一行u_check(約在150行左右),檢查不過就不能啟動
如果你覺得有突發狀況不需要檢查,請你將這行mark起來
globus
/etc/hostcert.pem
/etc/hostkey.pem

condor
/opt/unigrid/condor/etc/condor_config
/home/Unigrid/condor/condor_config(link)
/opt/unigrid/condor/etc/roster
我沒有檢查local file,因為這不是必要

srb
/opt/srbdata/.MdasEnv
/opt/srbdata/.MdasAuth

啟動script

執行/opt/unigrid/unigrid
選擇Start all unigrid services

或者你可以
/opt/unigrid/unigrid start
/opt/unigrid/unigrid stop
/opt/unigrid/unigrid restart

也有準備各元件的script
condor.init
gmond.init (請不要使用rpm安裝的/etc/init.d/gmond或是service gmond start/stop)
srb.init
nwsbin/start-sensor.sh

散佈至其他Node

基本上Unibox需要透過NFS散佈至其他Node
啟動第一台的NFS,並且將/opt/unigrid共享出去
啟動NIS,並且將帳號分享出去
要安裝的node請先確定nfs有掛上/opt/unigrid至同樣目錄,並且yptest有正確抓到帳號
剩餘非共享的的目錄如/opt/srbdata,請自行使用scp複製過去並且依照設定srb的方式設定
在其他的Node上重新執行一次/opt/unigrid/unigrid並選擇安裝
注意詢問到是否為Head Node的時候選擇「n」

進入選單程式執行Start all unigrid services,你的安裝就完成了

建議測試

在~unigridtest裡已經有hello3_mpi程式
編輯machinefile之後便可以測試

Q&A

如果我執行./unigrid的時候出現”./unigrid: line 246: /bin/cat: Argument list too long”怎麼辦?

參考下圖:

在選擇套件群組的時候,請務必確認”Software Development”,”Legacy Software Development”及”System Tools”有沒有勾選(中文版請交叉參考圖片的位置)
否則便會因為dialog這隻程式找不到而出錯

完整的 CentOS 安裝教學也可以參考
http://openmyhand.com/cms/index.php?option=com_content&task=view&id=18&Itemid=31

附錄

Screenshots

unibox2_2.PNGunibox2_11.png

建置環境及參數

HP ProLiant DL-380 G4, Intel Xeon 3.2G, 4GB RAM
CentOS 4.4
gt4.0.3-all-source-installer
./configure –prefix=/opt/unigrid/globus –enable-i18n

mpich-1.2.7p1
./configure –prefix=/opt/unigrid/mpich –with-device=globus2:-flavor=gcc32dbg

nws-2.13
為了能夠在nfs上使用,稍微修正了一下nws的配置,將只有資料的部分搬到/opt/nwsdata
./configure –prefix=/opt/unigrid/nws

srb
也修正配置,$data在/opt/srbdata
./configure –enable-gsi-auth –enable-globus-location=/opt/unigrid/globus –enable-globus-flavor=gcc32dbg

目錄結構

package:所有的原始套件(.tar.gz)都在這
rpms:所有需要的rpm都在這
docs:所有的Unigrid文件都放在這
certs:移除的時候會自動地將該主機的憑證放到這
etc:目前只有gmond.conf

有關Unigrid

Unigrid的網址是:http://www.unigrid.org.tw/

感謝

感謝清大史伯其,東海陳松毅,中研院的TK還有錫民大力相助
各位Unigrid計畫的工作人員辛苦了!

相關計畫

Rocks Cluster Distribution

SLIM


Leave a Reply