7.6. ホストの耐障害性
7.6.1. ホストの高可用性
7.6.2. Red Hat Virtualization におけるプロキシーを使用した電源管理
- フェンシングが必要なホストと同じクラスター内にある任意のホスト
- フェンシングが必要なホストと同じデータセンター内にある任意のホスト
7.6.3. ホスト上でのフェンシングパラメーターの設定
手順7.16 ホスト上でのフェンシングパラメーターの設定
- ホスト リソースタブ、ツリーモード、または検索機能を使用して、結果一覧に表示された候補の中から対象のホストを選択します。
- ホストの編集 ウィンドウを開きます。をクリックし、
- 電源管理 タブをクリックします。
図7.2 電源管理の設定
- 電源管理を有効にする のチェックボックスを選択し、フィールドを有効にします。
- kdump 統合 チェックボックスを選択して、カーネルクラッシュダンプの実行中にホストがフェンシングされないようにします。
重要
既存のホストに Kdump 統合 を有効にする場合には、kdump を設定するためにそのホストを再インストールする必要があります。 「ホストの再インストール」を参照してください。 - オプションで、ホストのクラスターの スケジューリングポリシー がホストの電源管理を制御しないようにするには、電源管理のポリシー制御を無効にする のチェックボックスを選択します。
- プラス (フェンスエージェントの編集 ウィンドウが開きます。) のボタンをクリックして、新規電源管理デバイスを追加します。
図7.3 フェンスエージェントの編集
- 電源管理デバイスの アドレス、ユーザー名、および パスワード を入力します。
- ドロップダウンリストから、電源管理デバイスの タイプ を選択します。
注記
カスタムの電源管理デバイスの設定方法については、https://access.redhat.com/ja/articles/1260573 の記事を参照してください。 - 電源管理デバイスがホストとの通信に使用する SSH ポート 番号を入力します。
- 電源管理デバイスのブレードの特定に使用する スロット 番号を入力します。
- 電源管理デバイスの オプション を入力します。'key=value' エントリーのコンマ区切りリストを使用してください。
- 電源管理デバイスからホストへのセキュアな接続を有効にするには、セキュリティー保護 のチェックボックスを選択します。
- Test Succeeded, Host Status is: on」というメッセージが表示されます。ボタンをクリックして、設定が正しいことを確認します。検証が正常に完了すると、「
警告
Red Hat Virtualization Manager によって電源管理のパラメーター (ユーザー ID、パスワード、オプションなど) がテストされるのは、セットアップ時のみで、それ以降は手動で実行します。パラメーターが正しくないことを警告するアラートを無視した場合や、電源管理デバイスで変更されたパラメーターが Red Hat Virtualization Manager では同じように変更されていない場合には、フェンシングを最も必要とする時に失敗してしまう可能性があります。 - フェンスエージェントの編集 ウィンドウを閉じます。をクリックして
- 電源管理 タブでは、オプションとして 詳細パラメーター の箇所を展開し、上下に移動するボタンを使用して Manager がホストの cluster および dc (データセンター) でフェンシングプロキシーを探す順序を指定します。
7.6.4. fence_kdump の詳細設定
ホストを選択して、詳細ペインの 全般 タブで kdump サービスのステータスを確認します。
- 有効: kdump が適切に設定されており、kdump サービスが実行中です。
- 無効: kdump サービスは実行されていません (その場合には、kdump 統合は適切に機能しません)。
- 不明: kdump ステータスを報告しない、旧バージョンの VDSM を使用しているホストでのみ発生します。
新規ホスト または ホストの編集 ウィンドウの 電源管理 タブで Kdump 統合 を有効にすると、標準的な fence_kdump 構成が設定されます。環境のネットワーク設定が単純で、かつ Manager の FQDN が全ホストで解決可能な場合に使用するには、デフォルトの fence_kdump 設定で十分です。
engine-config
を使用して、適切なホスト名または IP アドレスを設定することができます。
engine-config -s FenceKdumpDestinationAddress=A.B.C.D
- Manager に 2 つの NIC があり、一方がパブリックで、他方が fence_kdump メッセージの指定送信先の場合。
- 異なる IP またはポートで fence_kdump リスナーを実行する必要がある場合。
- fence_kdump 通知メッセージの間隔をカスタム設定して、パッケージの損失を防ぐ必要がある場合。
7.6.4.1. fence_kdump リスナーの設定
手順7.17 fence_kdump リスナーの手動設定
/etc/ovirt-engine/ovirt-fence-kdump-listener.conf.d/
に新規ファイルを作成します (例:my-fence-kdump.conf
)。- OPTION=value の構文でカスタマイズの設定を入力し、ファイルを保存します。
重要
編集した値は、「Manager での fence_kdump の設定」の fence_kdump リスナーの設定オプションの表に記載したように、engine-config
でも変更する必要があります。 - fence_kdump リスナーを再起動します。
# systemctl restart ovirt-fence-kdump-listener.service
変数 | 説明 | デフォルト | 注記 |
---|---|---|---|
LISTENER_ADDRESS | fence_kdump メッセージを取得する IP アドレスを定義します。 | 0.0.0.0 | このパラメーターの値を変更する場合には、engine-config の FenceKdumpDestinationAddress の値と一致する必要があります。 |
LISTENER_PORT | fence_kdump メッセージを受信するポートを定義します。 | 7410 | このパラメーターの値を変更する場合には、engine-config の FenceKdumpDestinationPort の値と一致する必要があります。 |
HEARTBEAT_INTERVAL | リスナーの Heartbeat の更新間隔を秒単位で定義します。 | 30 | このパラメーターの値を変更する場合には、engine-config の FenceKdumpListenerTimeout の値の半分以下にする必要があります。 |
SESSION_SYNC_INTERVAL | リスナーのホストのメモリー内の kdump セッションをデータベースと同期する間隔を秒単位で定義します。 | 5 | このパラメーターの値を変更する場合には、engine-config の KdumpStartedTimeout の値の半分以下にする必要があります。 |
REOPEN_DB_CONNECTION_INTERVAL | 以前に利用できなかったデータベース接続を再開する間隔を秒単位で定義します。 | 30 | - |
KDUMP_FINISHED_TIMEOUT | kdump を実行するホストからメッセージを最後に受信した後に、ホストの kdump フローが FINISHED とマークされるまでのタイムアウトの最大値を秒単位で定義します。 | 60 | このパラメーターの値を変更する場合には、engine-config の FenceKdumpMessageInterval の値の 2 倍以上にする必要があります。 |
7.6.4.2. Manager での fence_kdump の設定
# engine-config -g OPTION
手順7.18 engine-config を使用した kdump の手動設定
engine-config
コマンドを使用して kdump の設定を編集します。# engine-config -s OPTION=value
重要
編集した値は、Kdump の設定オプション
の表に記載した fence_kdump リスナーの設定ファイルでも変更する必要があります。「fence_kdump リスナーの設定」を参照してください。ovirt-engine
サービスを再起動します。# systemctl restart ovirt-engine.service
- 必要な場合には、Kdump 統合 が有効化されている全ホストを再インストールします (以下の表を参照)。
engine-config
を使用して設定することができます。
変数 | 説明 | デフォルト | 注記 |
---|---|---|---|
FenceKdumpDestinationAddress | fence_kdump メッセージの送信先のホスト名または IP アドレスを定義します。この値が指定されていない場合には、Manager の FQDN が使用されます。 | 空の文字列 (Manager の FQDN が使用されます) | このパラメーターの値を変更する場合には、fence_kdump リスナー設定ファイルの LISTENER_ADDRESS の値と一致しなければなりません。また、Kdump 統合 が有効化された全ホストを再インストールする必要があります。 |
FenceKdumpDestinationPort | fence_kdump メッセージを送信するポートを定義します。 | 7410 | このパラメーターの値を変更する場合には、fence_kdump リスナー設定ファイルの LISTENER_PORT の値と一致しなければなりません。また、Kdump 統合 が有効化された全ホストを再インストールする必要があります。 |
FenceKdumpMessageInterval | fence_kdump のメッセージの送信間隔を秒単位で定義します。 | 5 | このパラメーターの値を変更する場合には、fence_kdump リスナー設定ファイルの KDUMP_FINISHED_TIMEOUT の値の半分以下にする必要があります。また、Kdump 統合 が有効化された全ホストを再インストールする必要があります。 |
FenceKdumpListenerTimeout | 最後の Heartbeat の後に、fence_kdump リスナーが実行中と見なされなくなるまでのタイムアウトの最大値を秒単位で定義します。 | 90 | このパラメーターの値を変更する場合には、fence_kdump リスナー設定ファイルの HEARTBEAT_INTERVAL の値の 2 倍以上にする必要があります。 |
KdumpStartedTimeout | kdump を実行するホストからの最初のメッセージを受信するまで (ホストの kdump フローが開始したことを検知するまで) の待ち時間のタイムアウトの最大値を定義します。 | 30 | このパラメーターの値を変更する場合には、fence_kdump リスナー設定ファイルの SESSION_SYNC_INTERVAL および FenceKdumpMessageInterval の値の 2 倍以上にする必要があります。 |
7.6.5. ホストのソフトフェンシング
- 初回のネットワーク障害発生時には、ホストのステータスが「connecting」に変わります。
- Manager は次に VDSM に対してステータス確認を 3 回試みるか、ホストの負荷によって決定される時間が経過するのを待ちます。この時間を決定する計算式は、TimeoutToResetVdsInSeconds (デフォルトは 60 秒) + [DelayResetPerVmInSeconds (デフォルトは 0.5 秒)]*(ホスト上で実行中の仮想マシン数) + [DelayResetForSpmInSeconds (デフォルトは 20 秒)] * 1 (ホストが SPM として稼働している場合) または 0 (ホストが SPM としては稼働していない場合) の設定値によって設定されます。VDSM が応答する時間を最大限にするために、Manager は上記のオプション (VDSM のステータス確認を 3 回試みる、または上記の計算式で決定される時間の経過を待つ) でいずれか長い方を選択します。
- この時間が経過してもホストが応答しない場合には、SSH を介して
vdsm restart
が実行されます。 vdsm restart
を実行しても、ホストと Manager 間の接続が再度確立されない場合には、ホストのステータスがNon Responsive
に変わります。電源管理が設定されている場合には、フェンシングは外部のフェンスエージェントによって引き継がれます。
注記
7.6.6. ホストの電源管理機能の使用方法
ホストに電源管理の設定を行うと、管理ポータルから数多くのオプションにアクセスすることができるようになります。電源管理デバイスには、それぞれカスタマイズ可能なオプションがありますが、ホストを起動、停止、再起動する基本的なオプションは全デバイスでサポートされます。
手順7.19 ホストの電源管理機能の使用方法
- ホスト リソースタブ、ツリーモード、または検索機能を使用して、結果一覧に表示された候補の中から対象のホストを選択します。
- 電源管理 ドロップダウンメニューをクリックします。
- 以下のオプションのいずれかを選択します。
- 再起動: このオプションはホストを停止させて、ホストのステータスが
Down
に変わるのを待ちます。ホストが Down の状態となったことをエージェントが確認すると、高可用性の仮想マシンが同じクラスター内の別のホスト上で再起動します。次にエージェントは、このホストを再起動させて、ホストの準備が整うと、ステータスがUp
に変わります。 - 起動: このオプションは、ホストを起動させて、クラスターに追加します。使用する準備が整うと、ステータスが
Up
に変わります。 - 停止: このオプションは、ホストの電源を切断します。このオプションを使用する前には、そのホスト上で実行中の仮想マシンが同じクラスター内の別のホストに移行済みであることを確認してください。そうでない場合には、仮想マシンがクラッシュし、高可用性のマシンのみが別のホストで再起動します。ホストが停止すると、ステータスは
Non Operational
に変わります。
重要
1 台のホストに 2 つのフェンスエージェントを定義すると、それらのエージェントは同時もしくは順次に使用することができます。同時エージェントの場合に、ホストを停止させるには、両方のエージェントが停止のコマンドに応答する必要があります。また、一方のエージェントが起動のコマンドに応答すると、ホストが起動します。順次エージェントの場合に、ホストを起動または停止させるには、プライマリーエージェントが最初に使用され、それが失敗するとセカンダリーエージェントが使用されます。 - 上記のいずれかのオプションを選択すると、確認のウィンドウが表示されます。OK をクリックして確定し、続行します。
選択したアクションが実行されます。
7.6.7. 応答なしのホストの手動によるフェンシングまたは分離
ハードウェア障害などが原因で、ホストが予期せず応答なしの状態となった場合には、環境のパフォーマンスに多大な影響を及ぼす可能性があります。電源管理デバイスを使用していない場合や、正しく設定されていない場合は、ホストを手動でリブートすることができます。
警告
手順7.20 応答なしのホストの手動によるフェンシングまたは分離
- ホスト タブでホストを選択します。ステータスは
Non Responsive
と表示されるはずです。 - ホストを手動で再起動します。これは、物理的にラボに入って、ホストをリブートすることを意味します。
- 管理ポータルで、ホストエントリーを右クリックし、のボタンを選択します。
- ホストがシャットダウンまたは再起動されていることを確認するメッセージが表示されます。操作を承認 チェックボックスにチェックを入れて、OK をクリックします。
ホストを手動でリブートして、高可用性の仮想マシンがアクティブなホストで起動できるようになりました。管理ポータルで手動によるフェンシング操作を確認し、ホストがオンライン状態となりました。