2010/08/13

Globus Toolkit 概要

Globus Toolkit (GT) 是一套網格中介軟體,是網格的基礎建設。
如果所有主機都佈署 GT,那麼網格裡某個 node 的使用者就可以透過 GT 使用其他 node 的資源。
#最新版本是 Globus Toolkit 5.0.0 (2010/03)

概念類似於 Web Service,大家遵循一定的規範將主機資源對外開放,外界對其存取有必需的流程及限制。

當然,背後的運作還有許多事情需要處理,
例如:資源的搜尋;使用者認證與授權;任務的分發;結果的傳遞;錯誤處理 ......。
這些使用者都不用去操心,Globus Toolkit 都會幫您處理好,這也是為什麼它叫基礎建設的原因。

其中在安全機制方面,Globus Toolkit 預設提供有 SimpleCA 認證模組,
使用者可以安裝自己的 SimpleCA Server,認證網格機器。

「Globus Toolkit 網格使用者」和「主機作業系統使用者」是不一樣的。
通常會在 Globus Toolkit 的 grid-mapfile 檔案裡作一個映對。
#grid-mapfile 一般在 /etc/grid-security/ 底下。

一組映對通常是這樣子的:
"//U=網格使用者名稱" 作業系統使用者帳號

所以網格使用者對主機的存取權限會為所映對的使用者帳號在該主機的權限所影響。

Linux 使用者可以試著執行:
globus-job-run 主機名稱 /bin/whoami
檢查網格使用者在該主機所映對的作業系統使用者帳號。

Globus Toolkit 4.2.x 和 Globus Toolkit 4.0.x 是沒有辦法兼容的。
官方推薦的 4.0.x 版本是 4.0.8。
官方推薦的 4.2.x 版本是 4.2.1。

編譯安裝 Globus Toolkit 之前,有一些前置工作。

首先先確認您的網格主機都使用在一個網域(domain),例如:*.example.org

編輯您的 /etc/hosts 檔案,讓主機名稱與 IP 位址正確映對。

安裝編譯 Globus Toolkit 所必需的軟體,官方有其必需軟體清單:
//
//

除了 Apache Ant 和 Java SDK,建議直接使用 apt-get 安裝以上軟體和函式庫。

Apache Ant 和 Java SDK 可以直接解壓縮到 /opt 目錄底下使用。

編輯 /etc/profile 檔案,將 Java 和 Apache Ant 的 bin 目錄加入環境變數。
假設 Globus Toolkit 將安裝在 /opt/globus 底下,則將 GLOBUS_LOCATION 變數也加入 shell 環境中:

JAVA_HOME=/opt/java
ANT_HOMT=/opt/ant
GLOBUS_LOCATION=/opt/globus

PATH=$GLOBUS_LOCATION/bin:$GLOBUS_LOCATION/sbin:$JAVA_HOME/bin:$ANT_HOME/bin:$PATH;

在最後加上以下指令,以便之後每次登入都自動匯入 Globus 環境變數:
. $GLOBUS_LOCATION/.../globus-user-env.sh

然後使用 source 指令讓 /etc/profile 的設定立即生效:
source /etc/profile

#先不用理會 gloubs-user-env.sh 無效的通知,因為還不存在。

將 Globus Toolkit 原始碼檔案解壓縮,進入其資料夾,使用以下指令 configure 產生 make 檔:
./configure --prefix=/opt/globus

順利設定完成便可以用以下指令進行編譯:
make | tee gt_make.log

編譯產生的訊息會儲存到 gt_make.log 檔案中,以便除錯。

順利編譯完成便可以用以下指令進行安裝:
make install

接下來是 Globus Toolkit 的後置部署,使用 gpt-build 這個指令。
這部分主要是 Globus Toolkit 安全機制 GSI 的部署。

全新安裝的網格通常還沒有 SimpleCA Server,可以使用 Globus Toolkit 所附帶的 SimpleCA,
第一臺安裝 Globus Toolkit 的機器可以身兼 SimpleCA Server。

安裝 SimpleCA Server ...

每個 Globus Toolkit 的 SimpleCA Server 都會有唯一一個網格認證檔,檔案名稱會是:
globus_HASH_.....
#HASH 是一串亂數編碼。

非 SimpleCA Server 的機器進行 Globus Toolkit 後置部署需要 SimpleCA Server 的網格認證檔。

將網格認證檔複製到 /opt/globus 底下,并切換到該目錄,使用以下指令:
32 位元環境:gpt-build globus_HASH_..... gcc32dbg
64 位元環境:gpt-build globus_HASH_..... gcc64dbg

然後執行:
gpt-postinstall