Webブラウザ版 『剣と魔法のログレス』のサーバーマシンリプレイスのお話し


はじめまして、大阪スタジオのサーバーエンジニアの太田と申します。

Webブラウザ版 『剣と魔法のログレス』(以下ログレス)は2011年にリリースして、おかげさまで今年で運営6年目になります。

そんなログレスも、そろそろマシンの老朽化やスペック不足が気になり始めたので、2017年3月にサーバーマシンのリプレイスを実施しました。

今回はそのお話しになります。

リプレイスの目的は?

  • 経年劣化によるハードウェアトラブルの回避
    • 全サーバーマシンを新しいハードに乗せ替える
  • 物理サーバーから仮想サーバーへ乗せ替え
    • サーバーの追加や削除が簡単に行える。
    • トラブル時の復旧も楽になる。
  • サーバーOSのバージョンアップ
    • OSのサポート期限が切れるため
  • 最新のクラウドサービスへ移行する
    • セキュリティの強化、保守性の向上
    • 構築や設定コストの削減

リプレイスに向けてのスケジュールと準備内容は?

  • 5か月前から準備開始
    • リプレイス内容の決定
    • タスクの洗い出し
    • スケジュールの決定
  • 4~3か月前
    • 物理サーバーと仮想サーバーでの各種ベンチマーク比較
    • 必要スペックの洗い出し、費用の見積もり
    • 動作検証用環境での各種動作チェック
  • 2か月前
    • 新クラウドサービス契約
    • OSのセットアップ、ネットワーク設定
  • 1か月前
    • ゲーム環境の構築
    • 各種動作チェック(課金認証等)
    • 本番当日のタイムスケジュールの作成
  • 1週間前
    • ステージング環境のリプレイス
  • 当日
    • 本番環境のリプレイス
    • DBとログの引っ越し
    • 本番環境での各種動作チェック

苦労したこと

  • バージョン違い問題
    旧環境で動作していた各種サーバープログラムが、OSバージョンやソフトウェアバージョンの違う新環境で同じように動作しませんでした。
    使用してるライブラリが新しいOSでサポートされておらず、対応に苦労しました。
  • 仮想化で発生した不具合
    仮想サーバーに乗せ替えてから、ゲームサーバー内の全てのスレッドがスリープ状態になる不具合が発生しました。
    調査するとスレッドをスリープする処理とウェイクアップする処理に問題があり、タイミングによっては今回の症状が発生する可能性があることが判明しました。
    物理サーバーではCPUのコンテキストスイッチの動作が安定していて問題が起こりませんでしたが、仮想サーバーにすることで不安定になって、問題が表面化しました。

良かったこと

  • 新たに契約した新クラウドサービスは、ネットワーク転送速度が10Gbpsなので、ファイルの転送速度が速くなり、メンテナンス作業が高速化しました。
  • マシンのスペックアップに伴い、必要マシン台数が減り、結果的に運用コストが軽減しました。
  • 利用できるメモリが増え、今後のゲームコンテンツの拡張がしやすくなりました。

まとめ

私にとってはサーバーのリプレイスは初めての経験でしたが、時間をかけて事前の動作検証や当日の作業準備などを行った結果、ログイン障害や課金障害等の大きな問題もなくリプレイスを終える事が出来ました。

今回の経験を通して、改めて事前の入念な準備と動作検証が重要だと思いました。

以上、ログレスのサーバーマシンリプレイスのお話でした。