災害対策を目的として、異なる Active Directory サイト間で DAG を構成しているお客様も多くいらっしゃるかと思います。
仮にプライマリー サイトで災害が発生し、セカンダリー サイトにデータベースを切り替えて運用する必要が出てきたとします。
DAC モード (データセンターのアクティブ化調整モード) を設定している場合、Stop-DatabaseAvailabilityGroup コマンドでプライマリー サイトのメールボックス サーバーを停止としてマークし、Restore-DatabaseAvailabilityGroup コマンドで停止としてマークしたメールボックス サーバーをクラスターから除外して、セカンダリー サイトでデータベースを稼働させることができます。
今回のブログではこの Restore-DatabaseAvailabilityGroup コマンド実行時に発生するエラーについてご紹介します。
Restore-DatabaseAvailabilityGroup コマンドを実行すると、内部的には ForceQuorum が実行され、クラスター サービスを強制的に再起動させます。
そして、Stop-DatabaseAvailabilityGroup コマンドにて停止としてマークしたメールボックス サーバー除外し、クォーラムを再構成して、セカンダリー サイトで DAG を稼働します。
しかしながら、このコマンドで実行される一部の処理は独立しており、他の処理の終了を待機しない場合があります。つまり、セカンダリ サイトのメールボックス サーバーのクラスタ サービスが起動途中の段階で次のノードの除外が実行される可能性があり、このような場合、以下のような 0x46 のエラーが発生し Restore-DatabaseAvailabilityGroup コマンドの実行に失敗します。
+++++++++++
An error occurred while attempting a cluster operation. Error: Cluster API failed: “GetClusterKey() failed with 0x46. Eror: リモート サーバーは一時停止されているか、起動途中です。
+++++++++++
エラー コード 0x46 は ERROR_SHARING_PAUSED というエラーで、サービスが停止しているか、または 起動途中の状態であるために失敗したことを示すものです。
過去のお問合せでは Exchange 2010 および Exchange 2013 でこのエラーの発生が報告されています。
クラスター サービスの起動状況に依存して発生するものですので必ず発生するわけではありませんが、発生した場合は再度 Restore-DatabaseAvailabilityGroup コマンドを実行することで対処することが可能です。
また、同様に Start-DatabaseAvailabilityGroup コマンド実行時にも、コマンドの内部処理の実行タイミングに依存して、0x13af のエラーとなり失敗する場合があります。
こちらの事象については以下の KB でもご紹介しておりますので併せてご確認いただければと思いますが、対処方法は Restore-DatabaseAvailabilityGroup コマンドの場合と同様に、再度 Start-DatabaseAvailabilityGroup コマンドを実行します。
Title : Start-DatabaseAvailabilityGroup コマンド レットによる データセンターの再アクティブ化について
URL : https://support.microsoft.com/ja-jp/kb/2696240
その他、以下でもサイト間での切り替え時にデータベースをマウントすることができない事象についてご紹介させていただいておりますので、こちらもご確認いただけますと幸いです。
Title : Exchange 2010 DAC モードの DAG について
URL : https://blogs.technet.microsoft.com/exchangeteamjp/2012/07/02/exchange-2010-dac-dag/
今後とも当ブログをよろしくお願いいたします。
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。