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

Agent Builder 輸出

本節說明了 Agent Builder 產生的輸出。

來源檔與二進位檔

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

為了支援該模型,Agent Builder 將在 install_directory/rt_name/bin 目錄中產生八個可執行 C 程式或 Korn shell 程序檔,作為回呼方法。


注意 –

嚴格地說,實施故障監視器的 rt_name _probe 程式不是回呼程式。RGM 不會直接呼叫 rt_name _probe,但會呼叫 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/bininstall_directory/rt_name/src 目錄完全相同。每個目錄均包含對應於七個回呼方法和 Probe 方法的上述八個可執行程序檔。


注意 –

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


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

公用程式程序檔與線上援助頁

一旦您產生了資源類型並在叢集上安裝了資源類型的套件,則您仍必須取得正在叢集上執行的資源類型之實例 (資源),一般透過使用管理指令或 SunPlex Manager 來完成此作業。然而,為了方便,Agent Builder 將產生一個用於此目的的自訂公用程式程序檔 (啟動程序檔) 以及用於停止與移除目標資源類型的資源之程序檔。這三個位於 install_directory /rt_name/util 目錄中的程序檔將執行以下作業:


注意 –

您僅可以對透過相應啟動程序檔啟動的資源使用移除程序檔,因為這些程序檔使用內部慣例來命名資源與資源群組。


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

Agent Builder 將提供每一個公用程式程序檔在 install_directory/rt_name/man/man1m 目錄中的線上援助頁。在啟動這些程序檔之前您應該讀取這些線上援助頁,因為這些線上援助頁將歸檔您需要傳送至程序檔的參數。

若要檢視這些線上援助頁,請搭配使用 -M 選項與 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 將支援檔案 (如pkginfopostinstallpostremove 以及 preremove) 置於 install_directory/rt_name/etc 目錄中。該目錄還包含資源類型註冊(RTR) 檔案,此檔案宣告可用於目標資源類型的資源與資源類型特性,並在向叢集註冊資源時初始化特性值。請參閱設定資源特性和資源類型特性,以取得更多資訊。RTR 檔案以 vendor_name.resource_type_name 的形式進行命名,例如,SUNW.ftp

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

套件目錄

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 檔案,並在 [建立] 螢幕和 [配置] 螢幕中填入您為現有資源類型提供的資訊。如果您要複製現有資源類型, 則此功能將十分有用。請參閱如何複製現有的資源類型