データセンターやゾーンが複数あると、すべてのシャードのコピーも含めた完全なストアのコピーがゾーンごとに保持されるため、データセンターを物理的に分離することで得られる障害の隔離により、ストアの可用性を向上させることができます。このような構成にしておくと、ゾーンで障害が発生した場合でも、通常のマスター選出の実行が可能であるかクォーラムが保持されているため、自動的に書込みができるようになります。ただし、ゾーン全体の障害や計画停止によりクォーラムが失われた場合は、新たに導入されたフェイルオーバーとスイッチオーバーの機能を使用できます。

フェイルオーバーが実行されるのは一般に、プライマリ・ゾーンで障害が発生したかプライマリ・ゾーンにアクセスできなくなり、セカンダリ・ゾーンのいずれかにプライマリ・ロールが引き継がれる場合です。 

スイッチオーバーは、フェイルオーバーを実行した後(元の構成にリストアするため)、または計画保守の場合に使用できます。スイッチオーバーは、ストアのプライマリ・ゾーンといずれかのセカンダリ・ゾーンとの間のロール・リバーサルと考えることができます。スイッチオーバーにはクォーラムが必要であり、データの損失がないことが保証されています。スイッチオーバーは通常、プライマリ・システムの計画保守のために実行されます。

たとえば、ストアを構成するプライマリ・ゾーンが「Manhattan」と「JerseyCity」の2つであり、物理的に独立したそれぞれのデータセンターにゾーンがデプロイされているとします。さらに、「Manhattan」ゾーンで障害が発生したと仮定します。そうすると、関連するすべてのストレージ・ノードが故障し、クォーラムが失われます。このようなケースでは、「Manhattan」のホスト・ハードウェアの損傷が修復できないほどひどい場合や時間がかかりすぎて問題箇所を修理できそうにない場合は、フェイルオーバーを開始する選択もできます。JerseyCityデータセンターへのフェイルオーバーを実行する方法と、障害から復旧した後にManhattanデータセンターにスイッチオーバーする方法については、管理者ガイドを参照してください。

フェイルオーバー・インタフェース: 
  • 障害の診断:pingまたはverify configuration
  • 障害を起こしたゾーンの無効化:disable-services
  • adminの修復:repair-admin-quorum
  • 存続しているゾーンへのフェイルオーバー:plan failover

スイッチオーバー・インタフェース:
  • トポロジの修復(フェイルオーバー後):plan repair-topology
  • 整合性が回復するまで待機(オプション):await-consistency
  • トポロジの更新:topology change-zone-type
  • 新しいトポロジへの切替え:plan deploy-topology