PR

ストレージ障害中でも書き込み可

 同様のDBクラスターで、ストレージ全体の障害を1分間起こす。さらに障害中に、アプリケーションからデータの書き込みリクエストを送り、続けてプライマリーインスタンス、リードレプリカに、そのデータの読み込みリクエストを送信。ストレージ障害が復旧したあとで、再び読み込みリクエストを送った。

 結果は、ストレージ全体で障害が発生中でも、プライマリーインスタンスへの書き込みは処理された。ただし読み込みリクエストに、新しいデータを返したのはプライマリーインスタンスだけで、リードレプリカは古いデータを返した。1分後にストレージが復旧したあと、リードレプリカは新しいデータを返すようになった(図8)。

図8 検証1-b:ストレージ障害発生時の挙動
図8 検証1-b:ストレージ障害発生時の挙動
[画像のクリックで拡大表示]

 これは、ストレージ全体で障害が起こっているときも、キャッシングが機能しているためと考えられる。

 また、1分間にわたりストレージ障害を発生させているとき、プライマリーインスタンス、リードレプリカが全て再起動することがあった。ストレージにアクセスできない状態を、プライマリーインスタンスやリードレプリカの障害とみなしたためと推察される。