検索クエリーを入力してください
<book_title> を検索 ...
Cluster Server 7.3.1 エージェント開発者ガイド - AIX、Linux、Solaris、Windows
Last Published:
2018-01-17
Product(s):
InfoScale & Storage Foundation (7.3.1)
- 概要
- エージェントのエントリポイントの概要
- エージェントのエントリポイントについて
- エージェントエントリポイントの説明
- action エントリポイントについて
- info エントリポイントについて
- C++ またはスクリプトエントリポイントの使用上の注意事項
- エージェント情報ファイルについて
- ArgList 属性と ArgListValues 属性について
- C++ でのエントリポイントの作成
- C++ でのエントリポイントの作成について
- C++ のエントリポイントの構文
- エージェントフレームワークの基本関数
- コンテナサポートのためのエージェントフレームワーク基本関数
- スクリプトでのエントリポイントの作成
- スクリプトでのエントリポイントの作成について
- スクリプトエントリポイントの構文
- エージェントフレームワークの基本関数
- VCSAG_GET_ATTR_VALUE
- コンテナをサポートするエージェントフレームワーク基本関数
- スクリプトのエントリポイントの例
- エージェントメッセージのログ
- カスタムエージェントの作成
- スクリプトベースの IMF 対応カスタムエージェントの作成
- エージェントのテスト
- 静的タイプ属性
- 静的属性について
- 静的タイプ属性の定義
- AdvDbg
- ArgList
- 状態の遷移図
- 国際化されたメッセージ
- First Failure Data Capture(FFDC)を使用した VCS リソースの予期しない動作のトラブルシューティング
- 付録 A. 5.0 より前の VCS エージェントの使用
例: UNIX での C++ およびスクリプトエントリポイントの使用
次の例では、独自の VCSAgStartup 関数、C++ バージョンの monitor エントリポイント、スクリプトバージョンの online エントリポイントと offline エントリポイントを使って、FileOnOff エージェントを作成する方法を示します。この例では、VCSAgStartup、online、offline および monitor エントリポイントのみを実装します。
VCSAgStartup、C++、およびスクリプトエントリポイントを使用してエージェントを実装するには
- エージェントのディレクトリを作成します。
mkdir /opt/VRTSvcs/src/agent/FileOnOff
- サンプルエージェントディレクトリの内容を、前の手順で作成したディレクトリにコピーします。
cp -r /opt/VRTSvcs/src/agent/Sample/* /opt/VRTSvcs/src/agent/FileOnOff
- 新しいディレクトリに移動します。
cd /opt/VRTSvcs/src/agent/FileOnOff
- agent.C ファイルを任意のエディタを使って開き、VCSAgStartup() 関数(このファイルの最後の数行)を次の例に合わせて修正します。
// Description: This functions registers the entry points // void VCSAgStartup() { VCSAG_LOG_INIT("VCSAgStartup"); VCSAgSetLogCategory(10051); VCSAgInitEntryPointStruct(V51); VCSAgValidateAndSetEntryPoint(VCSAgEPMonitor, res_monitor); }
- res_monitor() 関数を修正します。
// Function: res_monitor // Description: Determine if the given file is online (file exists) // or offline (file does not exist). VCSAgResState res_monitor(const char *res_name, void **attr_val, int *conf_level) { int ret = 0; char *pathname = NULL; struct stat64 stat_buf; VCSAgResState state = VCSAgResUnknown; VCSAG_LOG_INIT("res_monitor"); /* * Get PathName attribute form attr_val parameter, passed to res_offline function and store * under pathname variable. * */ if (NULL == pathname) { return VCSAgResUnknown; } VCSAG_LOGDBG_MSG(VCS_DBG2, VCS_DEFAULT_FLAGS, "Checking if file %s exists or not", pathname); if (0 == stat64(pathname, &stat_buf)) { /* * If the pathname is a directory, return status as unknown */ if (S_ISDIR(stat_buf.st_mode) != 0) { VCSAG_LOG_MSG(VCS_ERROR, 2004, VCS_DEFAULT_FLAGS, "%s is a directory", pathname); VCSAG_CONSOLE_LOG_MSG(VCS_ERROR, 2004, VCS_DEFAULT_FLAGS, "%s is a directory", pathname); *conf_level = 0; return VCSAgResUnknown; } *conf_level = 100; return VCSAgResOnline; } *conf_level = 0; return VCSAgResOffline; }
- agent.C をコンパイルし、make コマンドを実行してエージェントを作成します(標準添付の Makefile を使います)。
make
- エージェントのスクリプトエントリポイントを作成します。
例: UNIX でのスクリプトエントリポイントの使用を参照してください。
- エージェントのディレクトリを作成します。
mkdir /opt/VRTSvcs/bin/FileOnOff
- FileOnOff エージェントをインストールします。