Fate/GO障害の原因推察、あるいはオンライン中のDBにリカバリが可能かという話

カテゴリーを「ネタ」にするか「プログラミング」にするか「雑談」にするか最後まで悩んだ程度のまとめ。どちらかというと自分への記録用。
5

割とネタというか定番になってるFate/GrandOrderの臨時メンテですが、今回はやや長めでした。

【公式】Fate/Grand Order @fgoproject

【カルデア広報局より】 2016年4月26日(火)9:00よりゲームサーバーに障害が発生しておりプレイしづらい状態となっております。お手数ですが、しばらく時間をおいてお試しくださいますようお願いいたします。詳しくは→news.fate-go.jp/2016/pyr2c/ #FateGO

2016-04-26 10:06:51
【公式】Fate/Grand Order @fgoproject

【カルデア広報局より】 4月26日(火)12:15よりゲームサーバーの障害対応のため緊急メンテナンスを実施いたします。ご利用の皆様には、ご迷惑をおかけいたしますことをお詫びいたします。→news.fate-go.jp/2016/uanvgf/ #FateGO

2016-04-26 12:03:28
【公式】Fate/Grand Order @fgoproject

【カルデア広報局より】 本日、4月26日(火)12:15より実施しております緊急メンテナンスにつきまして、不具合解消に想定以上の時間を要しており、終了まで今しばらくお時間をいただく見込みとなっております。詳しくは→news.fate-go.jp/2016/uanvgf/ #FateGO

2016-04-26 15:08:31
【公式】Fate/Grand Order @fgoproject

【カルデア広報局より】 本日12:15より実施しております緊急メンテナンスにつきまして、不具合解消に向け、引き続き対応を行っております。対応完了まで今しばらくお待ちいただけますようお願いいたします。詳しくは→news.fate-go.jp/2016/uanvgf/ #FateGO

2016-04-26 17:14:02
【公式】Fate/Grand Order @fgoproject

【カルデア広報局より】 本日12:15より実施しております緊急メンテナンスにつきまして、現在も継続して対応を実施しております。なお、今回の障害によるお客様のユーザーデータ消失などは発生いたしません。ご安心ください→news.fate-go.jp/2016/uanvgf/ #FateGO

2016-04-26 19:29:33
【公式】Fate/Grand Order @fgoproject

【カルデア広報局より】 本日12:15より実施しております緊急メンテナンスにつきまして、現在データベースサーバーの障害対応を行っております。メンテナンス終了まで、今しばらくお待ちいただけますようお願いいたします。→news.fate-go.jp/2016/uanvgf/ #FateGO

2016-04-26 20:45:51
【公式】Fate/Grand Order @fgoproject

【カルデア広報局より】 2016年4月26日(火)12:15〜21:50にゲームサーバーの障害対応のため実施しておりました緊急メンテナンスが終了いたしました。ご迷惑をおかけいたしましたことをお詫びいたします。詳しくは→news.fate-go.jp/2016/uanvgf/ #FateGO

2016-04-26 22:21:11

ネタ画像がいつも出回るぐらいのやつですね。

ところで今回、メンテに至った障害の原因を推察している人がいました。

REY@ @rey1229

現役SEが見る今日の #FateGO 運営「明日のメンテ大規模になるから事前にデータ突っ込んどこうぜ」 ↓ データ破損 ↓ バックアップデータから復旧するも、古いデータ ↓ 必死にトランザクションデータ投入 ↓ フレガチャとボックスガチャ回されすぎてて更新データが多すぎて難航

2016-04-26 20:04:49
REY@ @rey1229

トランザクションデータもORACLEで言うところの、アーカイブログが、トラン数多すぎたら、下手すりゃ残ってないんじゃないかな。。。 twitter.com/rey1229/status…

2016-04-26 20:12:32
REY@ @rey1229

FGOは、AWS使ってるみたいだけど、バックアップ機能ってそんなに自由度高く作れるとは思わないんだが あとMySQL + Redis使ってるみたいだが、KVSってそんなに簡単にトランザクション管理できると思わないのは俺だか。。 pic.twitter.com/2Dd6elMpAY

2016-04-26 20:22:43
拡大
REY@ @rey1229

ディライトワークスのディベロッパーブログ読んだけど、こんな感じ 開発言語:Unity(C#) 開発環境:Visual Studio + ReSharper 実行環境:AWS on MySQL + Redis 業務系SE連れてきたのか pic.twitter.com/jR8dhhqGFT

2016-04-26 20:30:14
拡大
拡大
拡大
拡大
REY@ @rey1229

ちなみに、 #FateGO でいういわゆるエアメンテって、実はきちんとメンテしてて、おそらく一度メンテで、ユーザを全切りしたあと、AWSのインスタンス数(サーバ台数)を増やしてるんだよ pic.twitter.com/aH6jT9B0bF

2016-04-26 20:46:38
拡大
シャチ776(orcago🏴‍☠️🥐)@FF14_Asura @noranekoneo

@rey1229 整合性がとれてなくて復旧辛いパターンかな?

2016-04-26 20:46:23
REY@ @rey1229

@noranekoneo たぶんそれかと思われ。。 もしくは、バックアップが古い影響で、トランが多すぎて、パッチ当てるのに時間がかかり過ぎてるか。

2016-04-26 20:47:24
シャチ776(orcago🏴‍☠️🥐)@FF14_Asura @noranekoneo

@rey1229 こないだのメンテからだとすると2~3日分だが先行して分割してあててたり、連続メンテ時に、バックアップとってなかったりすると……?

2016-04-26 20:51:30
REY@ @rey1229

@noranekoneo 俺が読む限りだと水曜日の定期メンテでしか取ってないと予想してる。 そうじゃないと、データ量が多すぎておっつかないはず(というか定期メンテと言う名前のバックアップ日) 今回は、フレガチャが爆発の原因じゃないかな。。。 普段こんなにガチャ回されないし。。

2016-04-26 20:53:32
にゃもちー📸@🚑🛸💜🧪🍃 @nyamo666_ZC33S

@rey1229 インフラ系技術者が通りますよ… クラウドサービス(AWS)使っているなら 仮想マシン含めたバックアップは クラウドベンダーの仕事のはず… 約款によるけど基本は毎日バックアップのはず だから週1バックアップは考えづらいです。

2016-04-26 21:14:21
REY@ @rey1229

イケメンエンジニアのリプライ素敵 この約款のバックアップが、論理バックアップのみか、物理バックアップも含むのかによって、大きく道筋は変わると思う twitter.com/hanamo777/stat…

2016-04-26 21:21:06
REY@ @rey1229

@hanamo777 クラウド素人な質問で恐縮ですが、物理バックアップだけじゃなく、論理バックアップもAWSってされてるんですか? 論理バックアップの場合、現行のトランログ+論理バックアップで戻さないといけないので、結構めんどくさいイメージをもってます。。w

2016-04-26 21:18:38
にゃもちー📸@🚑🛸💜🧪🍃 @nyamo666_ZC33S

@rey1229 AWSの約款に詳しくないのであれですが一般的なクラウド環境は仮想マシン丸ごと取得する方式を毎日実施しているはずです。 クラウドベンダーにとってデータ復旧できないのは致命的なので ※文字制限にかかりそうなので次のツイートへ

2016-04-26 21:41:50
にゃもちー📸@🚑🛸💜🧪🍃 @nyamo666_ZC33S

@rey1229 恐らく昨日夜中から明け方に取得した仮想マシンのフルバックアップからリストアすると思われます。バックアップ取得以降のトランデータはトランデータを 格納しているサーバーから戻すと思われます。

2016-04-26 21:45:31