前のトピック: APK 準備スクリプトの手動実行次のトピック: vme: イベント ジェネレータ


アプライアンス動作のカスタマイズ

スタートアップ スクリプトの自動動作をカスタマイズして、カスタム機能を持ったアプライアンスを提供できます。

/etc/sysconfig/applogic_init または ¥applogic¥config¥applogic init ファイルで以下のパラメータを定義します。

アプライアンス Init 設定

ファイル /etc/sysconfig/applogic_init または ¥applogic¥applogic_init が存在する場合、APK init スクリプトは「.」コマンドでシェル インクルード スクリプトとして読み取ります。

重要: /etc/sysconfig/applogic_init ファイルは設定データが取得または適用される前に実行されます。 したがって、スクリプトはアプライアンスのいずれの設定ファイルの存在にも依存できません。 このファイルは、上記に定義した設定変数にのみ使用し、初期化コードを実行するためには使用しないでください。

/etc/sysconfig/applogic_init の例:

APK_CONFIG_FILES=/etc/httpd/conf.d/myconfig.conf
APK_AUTH_KEY_PATH=/root/.ssh/alternate_keys 

いずれかのスクリプトで以下のパラメータを定義できます。

APK_AUTH_KEY_PATH

アプライアンスの SSH のアクセス公開キーを格納する場所。 3t comp ssh コマンドは、対応する秘密キーを使用して、アプライアンスに接続します。 デフォルトは /home/Administrator/.ssh です。 空の文字列に設定された場合、キーはどこにも格納されません。
指定された場所が既存のファイルの場合、その所有者と権限が保持されます。 そうでない場合は、ファイルは所有者のルートに作成されます。

APK_CONFIG_FILES

アプライアンスのプロパティを適用するファイルのスペース区切りリスト。

APK を使用したアプライアンスは、GUI で指定されたリストではなく、アプライアンス自体に置かれている APK_CONFIG_FILES リストを使用します。

アプライアンスが APK を使用していない場合、これは GUI 内の[境界の変更]ダイアログ ボックスで指定された設定ファイル リストに取って代わります。

重要: APK を既存のアプライアンスにインストールする場合は、クラス記述子内の設定ファイルを確認します。 クラス記述子は、Infrastructure Editor 内の[境界の変更]ダイアログ ボックスの[環境設定ファイル]タブにあります。 ファイルのリストをアプライアンスの APK_CONFIG_FILES 設定に転送します。

APK_CONFIG_DNS

システム名リゾルバ設定の更新を制御します。

値:

  • yes - APK は AppLogic グリッドで設定されている値で、システム リゾルバ設定(Linux では /etc/resolv.conf ファイル、Windows では netsh コマンドを使用する DNS 設定)を更新します。 (デフォルト)
  • no - APK は更新を実行しません。

APK_DISABLE_NTPCONFIG

NTP デーモンを無効にして、アプライアンスをホストしているサーバの時間に同期するのを停止します。

値:

  • いいえ - 時間同期を無効にします(デフォルト)
  • はい - 時間同期を有効にします

NTP をインストールし、かつ、APK_DISABLE_NTPCONFIG がいいえに設定されているか、定義されていない場合、アプライアンスをホストしているサーバの時間に同期するように APK は NTP デーモンを設定します。 APK は NTP デーモンを開始せず、設定を準備するだけです。

APK_CONFIG_EXTIFC

外部の Raw インターフェースの APK 設定を有効にします

  • はい - 設定を有効にします(デフォルト)
  • いいえ - 設定を無効にします

「no」に設定する。APK 自動設定外部インターフェースの前に作成された古いアプライアンスに APK の新しいバージョンをインストールする場合、値を「no」に設定します。

これらのアプライアンスは外部インターフェースの設定を APK に求めません。設定すると、通常はエラーが発生します。

APK_HOSTNAME_UPDATE

このパラメータを No に設定すると、ホスト名(Windows ではコンピュータ名とも呼びます)をアプライアンスのインスタンス名から派生した文字列に変更するデフォルト動作が無効になります。

アプライアンス所有者がホスト名などその設定のすべての側面をメンテナンスする仮想プライベート/専用サーバ アプライアンスでは、自動的なホスト名変更を無効にすることが望ましい場合があります。

重要: APK_HOSTNAME_UPDATE が Yes に設定されている、またはまったく設定されていない場合、ホスト名の変更は OS の再起動のトリガになります。 この状況は、初回起動時、またはアプライアンスのインスタンス名が変更されて再起動されるたびに発生します。

この再起動は APK が開始の成功をレポートする前に行われるため、アプライアンスの開始に 2 倍の時間がかかるように見えます。

再起動が APK によってトリガされた場合、スタートアップ進捗状況詳細でのメンテナンス モード入力に関するメッセージが表示されます。

APK_AUTOMOUNT

アプライアンス クラスで指定されるように、このパラメータを No に設定すると、ドライブ文字またはマウント ポイントの自動割り当てが無効になります。 これにより、APK 内のボリューム状態確認もすべて無効になります。

重要: このオプションは、ISO 形式のイメージをその仮想ディスクの 1 つとして割り当てることによってアプライアンスに CD-ROM デバイスが設定されている場合に使用する必要があります。 APK 自動マウントは、この特定の組み合わせでは動作せず、アプライアンスの開始が失敗する原因になります。


アプライアンスの開始後チェック

ファイル /etc/sysconfig/applogic_appliance または ¥aookiguc¥config¥applogic_appliance が存在する場合、APK late init スクリプトはアプライアンス上の他のすべてのサービスが開始した後、「.」コマンドでシェルのインクルード スクリプトとしてそのファイルを読み取ります。 スクリプトからのリターン ステータスは、アプライアンスが正常に開始されたか失敗したかを示します。

スクリプトによってメッセージが stderr に出力され、エラーが返される場合は、このメッセージの最後の行が、コントローラに送信されるエラー メッセージとして使用されます。

Web サーバ アプライアンス用の起動後チェック ファイルの例。 これは、サーバが起動し、ホーム ページへの HTTP GET に応答することを確認します。

if ! wget -q -O /dev/null http://localhost/ ; then
echo "start failed - Web server is not responding" >&2
return 1
fi
return 0 

アプライアンス サービスを起動する起動スクリプトとして /etc/sysconfig/applogic_appliance を使用することは避けてください。 使用すると、APK がインストールされているアプライアンスの外部でユーザのセットアップを使用またはテストできません。

重要: Windows SCM (サービス コントロール マネージャ)がサービスをすべてロードした後、applogic_appliance の開始後チェックが始まります。初期化を完了した時点ではありません。 これは APK によってサポートされた他のプラットフォームとは異なります。

Windows で、いくつかのサービスは明示的な依存性としてではなく、API コールを使用して、他のサービスによって開始されます。 これらは単に自動的なサービス ロード完了イベントを待機するだけでは把握できません。 そのため、/etc/sysconfig/applogic_appliance ファイルに追加された「スタートアップ確認」コードでこれを把握し、まだ初期化されていない場合には監視する必要のあるサービスを待機する必要があります。