この投稿では、RHV 電源管理について詳しく説明します。
ホストの電源管理 (フェンス) とは?
電源管理が設定されている場合、RHV は NonOperational または NonResponsive 状態のホストを再起動できます。 RHV は、次の電源管理デバイスをサポートしています:
- アメリカン パワー コンバージョン (apc)
- IBM Bladecenter (ブレードセンター)
- シスコ ユニファイド コンピューティング システム (cisco_ucs)
- デル リモート アクセス カード 5 (drac5)
- デル リモート アクセス カード 7 (drac7)
- 電子電源スイッチ (eps)
- HP BladeSystem (hpblade)
- 統合消灯 (ilo、ilo2、ilo3、ilo4、ilo_ssh)
- インテリジェント プラットフォーム管理インターフェイス (ipmilan)
- リモート管理アダプター (rsa)
- 富士通シーメンス RSB (rsb)
- Western Telematic, Inc (wti)
RHV はフェンス エージェントを使用して電源管理デバイスと通信します。
オートフェンシングとは
ホストに予期しない障害が発生すると、ホストのステータスが接続中に変わり、ホストは猶予期間中このステータスになります。このタイムアウトが経過すると、ホストは「NonResponsive」または「NonOperational」状態になります。その状態に対応するために、Engine は再起動を実行して問題のあるホストをフェンスします。エンジンは、ホスト上の電源管理カードのフェンシング エージェントを使用して、ホストを停止し、停止したことを確認し、ホストを起動し、ホストが起動したことを確認します。
自動フェンスの猶予期間:
デフォルトでは、エンジンは vdsm にステータスを 2 回問い合わせます。
option_name | option_value | default_value -------------------------+--------------+--------------- VDSAttemptsToResetCount | 2 | 2 (1 row)
Grace Period = TimeoutToResetVdsInSeconds + DelayResetPerVmInSeconds*(Number of VMs on host) + DelayResetForSpmInSeconds(isSPM)
たとえば、ホストが 2 つの VM と default_value を持つ SPM の場合、猶予期間は 60+ 0.5*2+20=81 秒です。
option_name | option_value | default_value ----------------------------+--------------+--------------- TimeoutToResetVdsInSeconds | 60 | 60 DelayResetForSpmInSeconds | 20 | 20 DelayResetPerVmInSeconds | 0.5 | 0.5 VDSAttemptsToResetCount | 2 | 2 (4 rows)
Kdump フェンス:
「Kdump 統合」を有効にすると、クラッシュの場合にホストがメモリ ダンプの書き込みを完了するまでハード フェンスを遅らせるだけです。
ソフトフェンス:
これは、クラスター レベルから構成できます:
AdminPortal-->Compute-->Cluster-->Edit Cluster-->Fencing Polciy-->Enable Fencing
ホストを「再起動」する前に、エンジンは「SSH ソフト フェンシング」によって、「応答しない」ホストで SSH 経由で VDSM を再起動しようとします。
option_name | option_value | default_value | version -----------------------+-------------------------------------------------+------------------------------------------------+--------- SshSoftFencingCommand | /usr/bin/vdsm-tool service-restart vdsmd | /usr/bin/vdsm-tool service-restart vdsmd | 4.3 (1 row)
SSH 経由のソフトフェンシングは、電源管理が構成されていないホストで実行できます。これは「フェンシング」とは異なります。フェンシングは、電源管理が構成されているホストでのみ実行できます。
プロキシの選択
デフォルトの電源管理プロキシ設定は cluster, dc です。 「other_dc」を追加するオプションがあります。 「UP」ステータスのプロキシ ホストを検出します。
# engine-config -g FenceProxyDefaultPreferences FenceProxyDefaultPreferences: cluster,dc version: general
フロー:
エンジンの流れ:
構成メタデータ
VdsFenceType、VdsFenceOptionTypes、VdsFenceOptionMapping、FenceAgentMapping、および FenceAgentDefaultParams のメタデータは次のとおりです。
-[ RECORD 1 ]+---------------------------------------------------------------------------------------------------------- option_name | VdsFenceType option_value | apc,apc_snmp,bladecenter,cisco_ucs,drac5,drac7,eps,hpblade,ilo,ilo2,ilo3,ilo4,ilo_ssh,ipmilan,rsa,rsb,wti version | 4.3 -[ RECORD 2 ]-+--------------------------------------------------------------------------------------------------------- option_name | VdsFenceOptionTypes option_value | encrypt_options=bool,secure=bool,port=int,slot=int default_value | encrypt_options=bool,secure=bool,port=int,slot=int -[ RECORD 3 ]-+---------------------------------------------------------------------------------------------------------- option_name | VdsFenceOptionMapping option_value | apc:secure=secure,port=ipport,slot=port; apc_snmp:port=port,encrypt_options=encrypt_options; bladecenter:secure=secure,port=ipport,slot=port; cisco_ucs:secure=ssl,slot=port; drac5:secure=secure,slot=port; drac7:;eps:slot=port; hpblade:port=port; ilo:secure=ssl,port=ipport; ipmilan:; ilo2:secure=ssl,port=ipport; ilo3:; ilo4:; ilo_ssh:port=port; rsa:secure=secure,port=ipport; rsb:;wti:secure=secure,port=ipport,slot=port default_value | apc:secure=secure,port=ipport,slot=port; apc_snmp:port=port,encrypt_options=encrypt_options; bladecenter:secure=secure,port=ipport,slot=port; cisco_ucs:secure=ssl,slot=port; drac5:secure=secure,slot=port; drac7:; eps:slot=port; hpblade:port=port; ilo:secure=ssl,port=ipport; ipmilan:; ilo2:secure=ssl,port=ipport; ilo3:; ilo4:; ilo_ssh:port=port; rsa:secure=secure,port=ipport; rsb:; wti:secure=secure,port=ipport,slot=port -[ RECORD 4 ]-+---------------------------------------------------------------------------------------------- option_name | FenceAgentMapping option_value | drac7=ipmilan,ilo2=ilo default_value | drac7=ipmilan,ilo2=ilo -[ RECORD 5 ]-+----------------------------------------------------------------------------------------------- option_name | FenceAgentDefaultParams option_value | drac7:privlvl=OPERATOR,lanplus=1,delay=10;ilo3:power_wait=4;ilo4:power_wait=4;ilo_ssh:secure=1 default_value | drac7:privlvl=OPERATOR,lanplus=1,delay=10;ilo3:power_wait=4;ilo4:power_wait=4;ilo_ssh:secure=1
上記のメタデータは、engine-config で構成できます:
# engine-config -a |grep 'CustomFence\|CustomVdsFence' CustomFenceAgentMapping: version: general CustomFenceAgentDefaultParams: version: general CustomFenceAgentDefaultParamsForPPC: version: general CustomVdsFenceOptionMapping: version: general CustomVdsFenceType: version: general CustomFencePowerWaitParam: version: general
その他の設定(タイムアウトと再試行):
# engine-config -a |grep 'FenceStart\|FenceStop' FenceStartStatusRetries: 18 version: general FenceStartStatusDelayBetweenRetriesInSec: 10 version: general FenceStopStatusRetries: 18 version: general FenceStopStatusDelayBetweenRetriesInSec: 10 version: general