lkpolicy コマンドを利用することで、リソース障害時のローカルリカバリーやフェイルオーバーの設定をカスタムすることができます。
標準ポリシー
Failover
リソースフェイルオーバーを有効 / 無効にできます。
[コマンド例]
lkpolicy --set-policy Failover --off
lkpolicy --set-policy Failover --on tag=myresource
LocalRecovery
ローカルリカバリーを有効 / 無効にできます。
[コマンド例]
lkpolicy --set-policy LocalRecovery --on
lkpolicy --set-policy LocalRecovery --off tag=myresource
TemporalRecovery
指定した時間内に指定した回数のローカルリカバリーが発生した場合、フェイルオーバーを実行します。
※ローカルリカバリーが成功したか失敗したかの結果は考慮しません。
[コマンド例]
lkpolicy --set-policy TemporalRecovery --on recoverylimit=3 period=20
"recoverylimit" にリカバリ回数、 "period" に時間(分)を設定します。
上記の設定では、20 分の間に、リカバリ処理が 3 度続くようであればフェイルオーバーの動作を行う設定です。
(1)quickcheck に失敗 → ローカルリカバリーによる復旧
→ 失敗したらフェイルオーバー
→ 成功したらサービス復旧
↓
(2)quickcheck に失敗 → ローカルリカバリーによる復旧
→ 失敗したらフェイルオーバー
→ 成功したらサービス復旧
↓
(3)quickcheck に失敗 → ローカルリカバリーの成功失敗に関わらずフェイルオーバー
※(1)~(3)の間が20分以内です。
※ローカルリカバリーのカウントは、リソースごとです。
period は recoverylimit で指定された監視とローカルリカバリーの実行に対して、十分な時間を確保する必要がある為、以下の式に示す通り、period に指定される値はrecoverylimit に指定される値よりも大きい必要があります。
period (分) > recoverylimit (回) * LKCHECKINTERVAL (秒) / 60
TemporalRecovery ポリシーは、デフォルトでは何も設定されていません。
設定したポリシーを削除すれば、デフォルトの状態に戻ります。
[コマンド例]
lkpolicy --remove-policy TemporalRecovery
メタポリシー
メタポリシーは、標準ポリシーであれば複数個の設定が必要になるような、特定のシステム動作を実現するためのショートカットとして使用します。
他の複数のポリシーに影響を与える可能性があるポリシーのため、ご利用の際はご注意ください。
NotificationOnly
「監視専用」にし、障害が検知されてもリカバリもフェイルオーバーも実行しません。
[コマンド例]
lkpolicy --set-policy NotificationOnly --on
lkpolicy --set-policy NotificationOnly --on tag=myresource
改訂履歴
[公開日:2020年3月2日]