LinuCレベル4 システムアーキテクト 可用性の設計 問8
可用性の設計/データレプリケーションと災害対策本番サイトから約500km離れた災害対策サイトへ、データベースのストレージをブロックレベルでレプリケーションする。更新処理の応答時間を悪化させたくなく、災害時のデータ損失は数分程度まで許容できる。この要件に合う方式として最も適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「可用性の設計」に対応。実際の試験問題ではありません)
- Aローカルへの書き込み完了時点で完了とし、遠隔サイトへは後から転送する非同期レプリケーションを使う
- B遠隔サイトのディスクへの書き込み完了まで待ってから完了とする同期レプリケーションでデータ損失をなくす
- C毎日の夜間に取得したフルバックアップを遠隔サイトへ転送し、災害時はそれをリストアして復旧する
- D本番サイトと同じデータセンター内の別ラックに、同期レプリケーションで最新のデータを持つ待機系を置く
正解:A
解説
同期レプリケーションは相手側への書き込み完了を待つため、データ損失をゼロ(RPO=0)にできる代わりに、拠点間の往復遅延がすべての書き込みの応答時間に加わります。500km程度離れると往復遅延が無視できず、応答時間を悪化させたくないという要件に反します。非同期レプリケーションはローカルの書き込み完了で応答するため応答時間への影響が小さく、未転送分のデータは失われ得るものの、その量は転送の遅れの範囲に収まるため、数分程度の損失を許容する要件に合います。DRBDでは前者がProtocol C、後者がProtocol Aに当たり、相手のメモリへの到達で完了とするメモリ同期(Protocol B)という中間の選択肢もあります。
選択肢ごとの解説
- A正しい。応答時間への影響を抑えつつ、未転送分に限られた小さなデータ損失で済むため、要件のRPOと性能の両方を満たします。
- B誤り。データ損失はなくせますが、遠距離の往復遅延がすべての書き込みに加わり、応答時間を悪化させたくないという要件に反します。
- C誤り。日次のバックアップでは最大で約1日分のデータが失われるため、数分程度というRPOを満たせません。
- D誤り。同じデータセンター内の待機系は機器障害には有効ですが、広域災害ではサイトごと失われるため災害対策になりません。