Sun Cluster 資料服務開發者指南 (適用於 Solaris 作業系統)

Agent Builder 輸出

來源檔與二進位檔

Resource Group Manager (RGM) 管理資源群組和叢集上的終極資源。RGM 在回呼模型上工作。當發生特定事件時,例如,節點故障,RGM 將為每個在受影響節點上執行的資源呼叫資源類型的方法。例如,RGM 將呼叫 Stop 方法以停止正在受影響節點上執行的資源,然後呼叫資源的 Start 方法以在其他節點上啟動該資源。請參閱Resource Group Manager 模型回呼方法以及 rt_callbacks(1HA) 線上手冊,以取得有關此模型的更多資訊。

為了支援此模型,Agent Builder 將在 install-directory/rt-名稱/bin 目錄中產生八個可執行的 C 程式或 Korn shell 程序檔。這些程式或 shell 程序檔將作為回呼方法使用。


備註 –

嚴格來說,實作故障監視器的 rt-name_probe 程式不是回呼程式。RGM 不會直接呼叫 rt-name_probe。相反,RGM 將呼叫 rt-name_monitor_startrt-name_monitor_stop。這些方法可透過呼叫 rt-name_probe 啟動和停止故障監視器。


以下為 Agent Builder 產生的八種方法︰

請參閱 rt_callbacks(1HA) 線上手冊,以取得有關每種方法的特定資訊。

install-directory/rt-name/src 目錄中 (C 輸出),Agent Builder 將產生以下檔案︰

Agent Builder 將 rt-name.o 檔案連結至每種方法的 .o 檔案,以在 install-directory/rt-name/bin 目錄中建立可執行檔。

對於 Korn shell 輸出,install-directory/rt-name/bin 目錄與 install-directory/rt-name/src 目錄相同。每個目錄均包含對應於七個回呼方法和 Probe 方法的上述八個可執行程序檔。


備註 –

Korn shell 輸出包含兩個編譯的公用程式,gettimegethostnames。特定回呼方法需要使用這些方法取得時間和進行探測。


您可以編輯原始碼,執行 make 指令以重新編譯程式碼,而當您完成時,可執行 make pkg 指令以產生新的套裝軟體。為了支援對原始碼進行變更,Agent Builder 會在可增加程式碼的適當位置內嵌原始碼的註釋。請參閱編輯產生的來源代碼

Sun Agent Builder 建立的公用程式程序檔和線上手冊

在產生資源類型並將其套裝軟體安裝在叢集上後,您必須取得一個正在叢集上執行的資源類型實例 (資源)。通常,若要取得實例,您可以使用管理指令或 SunPlex Manager。然而,為了方便,Agent Builder 將產生自訂公用程式程序檔,以及用於停止和移除目標資源類型的資源的程序檔。這三個程序檔位於 install-directory/rt-name/util 目錄中,請執行以下作業︰


備註 –

由於這些程序檔使用內部慣例命名資源和資源群組,因此您僅可對由相應啟動程序檔啟動的資源使用移除程序檔。


Agent Builder 透過將應用程式名稱附加至程序檔名稱來命名這些程序檔。例如,如果應用程式名稱為 ftp,則程序檔名稱為 startftpstopftpremoveftp

Agent Builder 在 install-directory/rt-name/man/man1m 目錄中針對每個公用程式程序檔提供線上手冊。於線上手冊提供了有關您需要傳送至程序檔的引數的說明,因此在您啟動這些程序檔之前,應先閱讀這些線上手冊。

若要檢視這些線上手冊,請使用 -M 選項與 man 指令為此 man 目錄指定路徑。例如,如果 SUNW 是供應商名稱,ftp 是應用程式名稱,則請鍵入以下指令以檢視 startftp(1M) 線上手冊︰


% man -M install-directory/SUNWftp/man startftp

叢集管理員也可使用線上援助頁公用程式程序檔。Agent Builder 產生的套裝軟體安裝在叢集上時,公用程式程序檔的線上手冊就會置於 /opt/rt-name/man 目錄中。例如,鍵入以下指令以檢視 startftp(1M) 線上手冊︰


% man -M /opt/SUNWftp/man startftp

Agent Builder 建立的支援檔案

Agent Builder 將支援檔案 (例如,pkginfopostinstallpostremove 以及 preremove) 置於 install-directory/rt-name/etc 目錄中。該目錄還包含資源類型註冊 (RTR) 檔案。RTR 檔案將宣告可用於目標資源類型的資源與資源類型特性,並在使用叢集註冊資源時初始化特性值。請參閱設定資源特性和資源類型特性,以取得更多資訊。RTR 檔案命名為 vendor-name.resource-type-name,例如 SUNW.ftp

您可以使用標準文字編輯程式編輯此檔案並進行變更,而無需重新編譯來源代碼。然而,您必須使用 make pkg 指令重建套裝軟體。

Agent Builder 建立的套裝軟體目錄

install-directory/rt-name/pkg 目錄包含 Solaris 套裝軟體。套裝軟體名稱由供應商名稱和應用程式名稱連結而成,例如,SUNWftpinstall-directory/rt-name/src 目錄中的 makefile 檔案支援新套裝軟體的建立。例如,如果您對原始碼檔案做出變更,並重新編譯程式碼,或對套裝軟體公用程式程序檔做出變更,請使用 make pkg 指令以建立新套裝軟體。

當您從叢集中移除套裝軟體時,如果您嘗試同時從多個節點執行指令,則 pkgrm 指令可能失敗。您可以透過以下兩種方法之一來解決此問題:

如果由於您嘗試從多個節點同時執行 pkgrm 指令而導致該指令失敗,則請從一個節點再次執行該指令。然後,從剩下的節點執行該指令。

rtconfig 檔案

如果您在工作目錄中產生 C 或 Korn shell 原始碼,則 Agent Builder 將產生名為 rtconfig 的配置檔案。該檔案包含您在 [建立] 和 [配置] 畫面上指定的資訊。如果您從現有資源類型的工作目錄中啟動 Agent Builder,則 Agent Builder 將讀取 rtconfig 檔案。Agent Builder 會將為現有資源類型提供的資訊填入 [建立] 和 [配置] 畫面。如果您透過從 [檔案] 下拉式功能表中選擇 [載入資源類型] 來載入現有資源類型,Agent Builder 將執行相似的工作。如果您要複製現有資源類型, 則此功能將十分有用。請參閱重複使用使用 Agent Builder 建立的程式碼