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.
下載
- Unibox 2.0.0 (917MB)
http://gridweb.csie.chu.edu.tw/unibox/unibox-2.0.0-CentOS.4.4.x86.tgz
這個版本包含(在/package)
ganglia-gmond-3.0.2-1(rpm)
jdk-1_5_0_08(rpm)
apache-ant-1.6.5
condor-6.7.20-linux-x86-glibc23-dynamic
globus_simple_ca for unigrid
gt4.0.3-all-source
mpich-1.2.7p1
nws-2.13
nws-bundle_20060801
SRB3.4.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

建置環境及參數
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計畫的工作人員辛苦了!

最新回應