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

輸出

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

來源檔與二進位檔

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

為了支援此模型,Agent Builder 將 (在 install_directory/rt_name/bin 目錄中) 產生 8 個作為回呼方法的可執行程式 (C) 或程序檔 (ksh)。


註解 –

嚴格地說,實施故障監視器的 rt_name _probe 程式不是回呼程式。 RGM 不會直接呼叫 rt_name _probe,但會呼叫 rt_name_monitor_startrt_name_monitor_stop,其透過呼叫 rt_name_probe 來啟動與停止故障監視器。


Agent Builder 產生的 8 個方法為:

請參閱 rt_callbacks(1HA) 線上援助頁,以取得有關這其中每個方法的特定資訊。

install_directory/rt_name/src 目錄 (C 輸出) 中,Agent Builder 產生以下檔案:

Agent Builder 將連結 rt_name.o 檔案至每個方法 .o 檔案,以在 install_directory/rt_name/bin 目錄中建立可執行檔。

對於 ksh 輸出,install_directory /rt_name/bin 目錄與 install_directory/rt_name/src 目錄完全相同,各包含八個可執行程序檔,對應於七個回呼方法和 PROBE 方法 。


註解 –

ksh 輸出包含兩個編譯的公用程式 (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 套件。 套件的名稱是供應商名稱與應用程式名稱的串接,例如,SUNWftp install_directory/rt_name/src 目錄中的 Makefile 支援建立新套件。 例如,如果您變更來源檔並重新編譯程式碼,或變更套件公用程式程序檔,請使用 make pkg 指令來建立新套件。

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

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

rtconfig 檔案

如果您在工作目錄中產生 C 來源代碼或 ksh 來源代碼,Agent Builder 將會產生配置檔案 rtconfig,該檔案包含您在 [建立] 畫面與 [配置] 畫面上輸入的資訊。 如果您從現有資源類型的工作目錄啟動 Agent Builder (或使用 [檔案] 功能表中的 [載入資源類型] 指令載入現有的資源類型),Agent Builder 將讀取 rtconfig 檔案,並使用您為現有資源類型提供的資訊填寫 [建立] 畫面與 [配置] 畫面。 如果您要複製現有資源類型, 則此功能將非常有用 (請參閱複製現有的資源類型)。