2012 年 12 月末の米国西部地域 Windows Azure ストレージサービス中断について

2012 年 12 月 28 日 (現地時間) に発生した 米国西部地域における Windows Azure ストレージ のサービス中断について、1/17 付けで Windows Azure Team Blog に 詳細と今後の対策がレポートされています。ご利用の皆様には大変ご迷惑をお掛け致しました。

Windows Azure Team Blog > Details of the December 28th, 2012 Windows Azure Storage Disruption in US South
日本語訳 : 2012 年 12 月 28 日に米国南部で発生した Windows Azure ストレージのサービス中断についての詳報

下記抄訳です;

各地域ごとにスタンプと呼ばれる (物理的に) 分かれたストレージサービスが配置されており、各ストレージスタンプは複数のストレージノードのラックで構成されています。今回の問題はある一つのストレージスタンプで発生しました。

■ 発生状況

ハードウエアやリソース配分、配置 / アップグレード / 管理、といった リソースのプロビジョニングと管理は Windows Azure ファブリックコントローラーが担っています。ファブリックコントローラーは ストレージスタンプに対して、ノード管理、ネットワーク設定、健全性モニタリング、サービスインスタンスの開始 / 停止、サービス配置などを行います。ファブリックコントローラーが、ディスクフォーマットなどの操作を行う際に誤った作業を行わないよう、全てのストレージノードにはノード保護が掛けられています。ノードに対して修理などを行う際はノード保護は無効化され、修理が完了後、ノード保護が再度有効になるようになっています。

  • 問題が起きたストレージスタンプ内で、そのスタンプを構成するストレージノードのいくつかが、修正作業のあとにノード保護が有効になっていないまま本番環境に戻されました。これは人的エラーによるもので、約 10 % のストレージノードがノード保護が有効になっていないままに戻されました。
  • 修理後にノードを戻す作業に伴う際に、設定エラーを検出するモニタリングシステムに欠陥があり、警告とエスカレーションが行われませんでした。
  • ファブリックコントローラーが新規プライマリーノードの作成作業を行う際、ファブリックコントローラーのバグにより、利用中のストレージノードに対して、準備処理が実施されました。この処理はドライブのクイックフォーマット等を行い、ストレージを利用できるようにするもので、通常であればノード保護が有効になっているストレージノードにはこの準備処理は実施できません。上記のノード保護が有効になっていなかった問題により、誤って利用中の ストレージノードがフォーマットされました。

■ 復旧

誤ってフォーマットされてしまったストレージノードの復旧には、下記2つの方法が検討されました。

  • Plan A - 全てのディスクボリュームを復旧 (データ損失なし)
  • Plan B - US South の地域冗長を行っている US North に Failover (フェイルオーバー:代替サーバーとして切替)、但し下記のデータ損失が発生する可能性あり
    • 地域冗長の非同期時間に実行された、ブロブとテーブルへのアップデートされたデータの損失
    • ストレージスタンプのキューに保管されていたデータの損失 (現在、キューはローカル冗長のみ)
    • ローカル冗長が選択されていたデータの損失

最終的に Plan A ですべてのストレージスタンプを復旧し、データの損失なしでサービスを回復させることができました。 データの保護と可用性のどちらを優先するか、お客様により要望がが異なっていましたが、今回は全てのデータが復旧できること見込めたため、データ保護を優先して Plan A で進められました。

■ 今後の対策

今後同様の問題が再度発生することのないように、問題検出 / 発生防止 / 発生時対応 / 復旧対応 のプロセスにわたって修繕・改善を行います。

  • Detection (問題検出) - モニタリングシステムの修繕完了
  • Prevention (発生防止) - ファブリックコントローラーのバグ修繕完了、オペレーションプロセスの再確認・トレーニング
  • Response (発生時対応) - Windows Azure サービスダッシュボードの改善完了
  • Recovery (復旧対応) - データ復旧に備えた機能の追加 (予定)
    • Windows Azure ストレージ における キュー の地域冗長
    • 他の地域に冗長されている ストレージ に対する読み取り専用アクセス
    • フェイルオーバー機能の提供 (API ベースでの提供を計画中)

 

今回のサービス中断がご利用中のお客様に多大なる影響を及ぼしたことを認識しており、影響があったお客様に対して、この請求月における ストレージサービス および ストレージトランザクション 利用料金の 100 % サービスクレジットを発行いたします。ご迷惑をおかけ致しましたことを重ねてお詫び申し上げます。