ハード
自宅に余っているPCでもVPSでも構いません。最近はDockerなどのコンテナによるサーバー運用もあるようです。保守を考えるとコンテナ化するほうが楽ですね。DBなどのミドルウェアが必要なサーバーはフットプリントが大きくなり悩みそうですが。
ハード | 物理/仮想 問いません レンタルのVPSでも構いません。 クライアントPCと同居/共有しない方がよいです。 |
CPU | Intel/AMD問いませんが、64bitで4コア以上あったほうがいいです。 ハイパースレッドはあまり役にたちません。 クロックは2.5GHz程度は欲しいです。 |
メモリ | 16GB以上あったほうがいいです。ほとんどがオンメモリで動作します。 余ったメモリはファイルシステムやDBのキャッシュもしくはバッファとして動作し高性能化に貢献します。メモリ不足でSWAPするようだと不安定になります。ただし、存在する分だけメモリ利用するアプリもいるので、判断が難しいところです。 ARKは1サーバーのときは4GB以上消費していましたが、複数サーバー連携によるクラスタ設定をしたら1プロセスあたりの消費は1GBに減りました。 |
HDD | OSおよびミドルに40~100GB アプリおよびデータは100GB~ SSDの方がよいですが、ゲーム品質にはあまり貢献しません。その費用はRAID構成にあてて、サーバーの可用性をあげたほうがいいです。 別メディアへのデーターバックアップ先を準備してください。バックアップしていない時に限ってロールバックしなければならない事態が起こります。 |
ビデオ |
必要最低限で構いません。 |
ネットワーク |
インターネットの回線速度は、1ゲームあたり上下50Mbps程度で十分です。トラフィックは1セッションあたり多くて1Mbps程度です。回線速度はソフトアップデートの際のダウン時間に効いてきます。例えばARKは100GB以上のアップデートが連日あったりします。VPSで重量課金だと厳しいです。 以下は自宅サーバーのみ |
うちのサーバー構成を列挙してみます。
ハード | KVMベースのVM(仮想マシン)です。oVirtを用いてVM管理しています。 仮想サーバーのホストはRyzen 7 2800Xを全8コアを3.9GHzで動作させています。 バックアップ用の予備機器はXeon E5-2670の2ソケット メモリ128GBが待機していますが、活躍するような事態に直面していません。 |
CPU | 上記ハードから4コアを割り当てています。 |
メモリ | ハードに64GB搭載して、そのうち最大24GBを割り当てています。 |
HDD | ファイルサーバーからシンボリュームを割り当てています。 OSに100GB 使用率25% サーバーアプリとデータに400GB 使用率40% スナップショットバックアップを毎日行い、NASに週1回イメージバックアップしています。 |
ビデオ | VMはSPICEで動いていますが、通常はRDPでWindows10から接続しています。 |
ネットワーク |
インターネット 10Gbps 3ms |
UPSを以前は使っていたのですが、とある理由で撤去しています。あった方がよいかもしれません。フラッシュメモリの書き込みキャッシュのバックアップは効果大です。
OS
OSはWindows 2016 Server Standard を用いています。Windows 10などのクライアントOSはライセンス上、好ましくないです。
RHELやUbuntuなどのLinuxサーバーも検討しましたが、ARKやEmpyrionなどのサーバー管理ツールがWindows版でしか存在しないためWindows Serverにしました。
ミドル他
サーバー内のリソース監視はPrometheusとGrafanaを用いて可視化しています。10秒ごとの状態更新で、過去2週間までさかのぼってリソース状況を監視できます。閾値超えなども定義できますが、異常になる前に検知し対処しないと意味がないので、なかなか難しいです。
以前はZabbixによるSNMPを導入していましたが、効果的ではありませんでした。例えばZabbixをVM上で動かすと、物理サーバーの故障を検知できずにそのVMが落ちてしまうなど。家庭では冗長構成がなかなかとれず、シングルポイントの障害点で情報遮断されて、フェイルセーフやリスクヘッジができないことが多いです。ファイルシステムもglasterやZFSも検討しましたが、チープな冗長構成ではスプリットブレインになりやすく情報矛盾が生じてデータ破壊する方がダメージ大きいです。
“Steamのdedicated serverを立てる#1 インフラ編” への1件の返信
コメントは受け付けていません。