UPS Virtual Report

Async DR設定時のクラスタ全体の停止/起動

Nutanix
※この記事はNutanix Advent Calendar 2019の12月19日分の記事です。

オムロンソーシアルソリューションズのSE村井と申します。

今回は、Async DRが設定されている環境で、クラスタ全体を停止する際に必要な手順をお伝えします。

手順については、以下資料を参照しました。
https://go.nutanix.com/rs/031-GVQ-112/images/NTNXJP-011-NodeRestart.pdf

Async DRには、自身を無効化・有効化する設定はありませんので、実行中のレプリケーションがないことを確認した上で、クラスタ全体を停止する必要があります。

実行中のレプリケーションがあるかを確認する時間があれば良いのですが、停電などの緊急時はUPSのバックアップ時間が限られており、確認する時間が取れない可能性が高いです。
その場合は、実行中のレプリケーションを強制停止(abort)するしかありません。
以下KBで記載されているコマンドで強制停止することが可能です。
https://portal.nutanix.com/kb/3272

実行中のレプリケーションの強制停止(abort)

実行中のレプリケーションを確認します。
ncli pd ls-repl-status

【実行中のレプリケーションがある場合の実行結果】
【実行中のレプリケーションがない場合の実行結果】

実行中のレプリケーションを強制停止(abort)させます。
ncli pd abort-replication name=pd_name replication-ids=IDs

Async DRのスケジュールの一時停止・解除

NearSync DRを1分など短い時間で設定している場合、実行中のレプリケーションを強制停止しても、次のレプリケーションがすぐに実行される可能性があります。Async DRのスケジュールを一時停止したい場合、以下のコマンドで可能です。

Async DRのスケジュールを一時停止します。
ncli pd suspend-schedules name=<Protection Domain Name>

一時停止であることを確認します。
ncli pd ls-schedules name=<Protection Domain Name>
※Suspended : true であることを確認します。

Async DRのスケジュールを一時停止した状態のままクラスタ全体を落とした場合は、起動後も一時停止したままです。

スケジュールを再開します。
ncli pd resume-schedules name=<Protection Domain Name>

一時停止が解除されていることを確認します。
ncli pd ls-schedules name=<Protection Domain Name>
※Suspended : false であることを確認します

UPS連携

実行中のレプリケーションの強制停止(abort)を自動化させるためには、コマンドの中で replication-idsを都度取得する必要があります。弊社のネットワークカード「SC21」で実現するためには、以下コマンドをご使用ください。

for i in ` ncli pd ls-repl-status|grep Id| grep -v "Snapshot Id" |awk '{print $3}'`;do ncli pd abort-replication name=pd_name replication-ids=$i;done