2015年7月15日 15時20分頃から17時45分頃まで、サーバー障害によりサービスを中断しておりました。たいへん申し訳ございませんでした。
本日15時20分頃から、サーバー設置場所付近で局所的な激しい落雷がありました。
キャラフレは複数のサーバーで運用していますが、そのうち2台が影響を受けたため、メンテナンスモードに切り替えさせて頂き、状況の確認を致しました。
結果として、2台のサーバーは運用を一旦停止し、残りのサーバーにより、17時45分にサービス再開をさせて頂きました。
データは無事なのでしょうか?
障害が発生したのはスレーブサーバーと呼ばれる、負荷分散用のサーバーです。マスターDBは障害発生前も現在も正常に稼働していますので、問題ございません。
たまたま、障害発生時刻とピッタリ同じ時間にクエスト終了などのフラグ処理が重なった場合、フラグを書き込まずに終了している場合などがあります。その場合でも、一つ前のクエスト発生地点から継続可能なはずですが、どうしても不明な点がございましたら、お問い合わせフォームもしくは、サポート宛メール(support@charafre.net)にご相談下さい。
尚、課金決済サーバーは、キャラフレのゲームサーバーとは全く別の場所で運用されており、落雷の影響は受けておりません。
サーバーを2台減らして大丈夫なのでしょうか?
夜間の22時以降など、同時接続ユーザーが増え始める時間帯には、負荷が高くなることが考えられます。
ただ、平日ではありますし、学園祭など極端に負荷が高い時期ではありませんので、サービス継続は可能と判断しております。
重くなってきたなと感じたら、アイテム使用やクエストなどを避け、のんびりチャットして過ごすなどのご協力を頂けると幸いです。
完全復旧はいつになるのでしょうか?
現在停止している2台のサーバーはパーツ交換後、ネットワークと分離した状態で試験を行い、明日予定で元の運用に戻す計画となっています。
復旧前にメンテナンス時間を少々頂きますが、ご了承お願い致します。
なぜメンテナンスに2時間半もかかったのでしょうか?
キャラフレは1台のサーバーで全校生徒を処理できませんので、複数台のサーバーで負荷を分散しながら動作しています。但し、全員が一つの仮想空間にいるために、負荷分散されているサーバーは、それぞれが同じデータを保持するようになっています。これを同期と呼びます。
同期の仕組みのおかげで、サーバーXにつながっているAさんと、サーバーYにつながっているBさんが、同じ場所で相手の姿をみながら、チャットすることができるようになっています。
今回、最初のトラブル発生で、4台のサーバーの同期ズレが発生してしまいました。同期がズレてしまうと、AさんがサーバーXで話したことが、BさんのサーバーYでは、まだ話したことになっていないという状態になります。チャットなら、多少時間が遅れてもいいのですが、同期がずれたままアイテムをプレゼントしたり、もらったアイテムを捨てたりすると、単なるズレではなく、データ不整合という、困った状態になってしまいます。
ユーザーがログインした状態で、サーバーにどんどん書き込みをされると、いつまでたってもズレたままで、同期が追いつかないということになりますので、同期を早く追いつかせるために、一旦メンテナンスモードにさせて頂きました。
ところが今回は、一部のサーバーにハードウェア的な障害があったため、時間をかけても同期が終わらなかったり、エラーになって同期が中断するという現象が発生しました。
結果的に、同期を諦めて、台数を減らして運用することになりました。
メンテナンスが何時に終わるか告知して欲しいです。
定期メンテナンスはスケジュールを立てて行うので、終了時間をあらかじめ予告しますが、緊急メンテナンスの場合は難しいです。
なぜなら、トラブルというのは、まず(1)原因を予測し、(2)予測が正しいか検証し、(3)検証が正しければ復旧を試みる、という流れになりますが、(2)の検証が一発で当たるとは限らないため、(1)~(2)のループを、何パターン繰り返さないかいけないか、わからないからです。
予測→検証→復旧と、一発で完了する場合、早ければ10分で終わる作業の場合もあります。ところが、予測→検証→ハズレ→予測→検証→ハズレ→予測→検証→ハズレ…と、何パターンも試すと、あっと言う間に数時間たったりします。あらゆる予測が外れて、頭を抱えてしまうこともたまにありますが、それでも通常は最悪の場合はこうしようというカードをもちつつ、最善を探して試行錯誤するという流れになります。
もし、トラブルによる緊急メンテで、何時何分終了と正確な告知ができている会社があれば、その会社の場合は告知時点で原因も判明して復旧も終わっています。私の現場経験上、復旧時刻は復旧が終わるまでわからないからです。
大きな組織であれば、メンテナンスチームと告知のチームが完全に分離していたり、サービス再開に上司への報告が必用で、正確な時間を伝達しないと怒られるなどの体制的不自由さがあります。
現場としては、告知のチームに迷惑をかけたくないし、上司に怒られたくもないですよね。なので、正確な終了時間を伝達しろと言われると、作業が完全に終わってから、更に1時間や2時間余分にかかることにして、終了予定時間を告知する流れになります。もちろん、その間遊んでいるわけじゃなくて、最終チェックを繰り返しますから、現場を責めるようなことではないですよ。
キャラフレの場合、そこまで大きな組織ではないので、告知することを目的にメンテナンス時間に余裕をみたり、長く引っ張ることはしていません。
復旧次第メンテナンスを解除して、いち早く皆さんに遊んで頂ける方がいいだろうと考えています。
以上のように、現在は一時的な復旧となっています。完全復旧は明日以降になってしまいますが、ご容赦頂きますよう宜しくお願い申し上げます。