ストレージとゲームサーバーの両方を動かすなら、NAS用OSと汎用Linuxのどちらをハードウェアに導入すべき?

Eva Wong は テクニカルライター であり、 生粋の技術好き としてZimaSpaceで活動しています。ホームラボやオープンソースソフトウェア をこよなく愛する生粋のギークで、複雑な技術概念をわかりやすく、実践的なガイド にまとめることを得意としています。Evaは、セルフホスティングは難しいものではなく、楽しむものだと考えています。チュートリアルを通じて、初めてのNAS構築からDockerコンテナの使いこなしまで、コミュニティがハードウェアのセットアップをわかりやすく理解できるよう 支援しています。、初めてのNAS構築からDockerコンテナの習得まで。

保護されたストレージ、スナップショット、共有、ディスクの健全性、復旧をマシンの主な役割とし、ゲームサーバーをサポート対象のアプリまたはコンテナのモデルに収められるなら、NAS専用OSを選びましょう。ゲームサーバーのパッケージ、MOD、更新スクリプト、カスタムライブラリ、ファイアウォールルール、サービスの直接制御がシステムの中心なら、汎用Linuxを選びましょう。決め手となるのは、ストレージとゲームが同時に障害を起こしたとき、どちらのワークロードにホストOSを任せるべきかです。

どの障害を最も簡単に復旧できるようにすべきかを決める

ストレージとゲームを組み合わせたサーバーには、異なる2つの復旧目標があります。NAS側は、家族のファイル、バックアップ、メディア、アプリケーションデータを保護します。ゲーム側は、ワールド、マップ、MOD、設定、プレイヤーの状態、更新の自動化を保護します。どちらもストレージを使いますが、必ずしも同じOSの管理境界に置く必要はありません。

ZimaSpaceの自宅サーバーOSの選び方ガイドでは、まず主な用途を考えます。この比較ではさらに踏み込みます。サーバーが起動不能になった場合、プラットフォームのネイティブツールを使って、どのワークロードを最初に復旧すべきでしょうか?

「ストレージプール、共有、スナップショット、バックアップ」が答えなら、通常はNAS OSにハードウェアを管理させるべきです。「ゲームインスタンス、パッケージ、スクリプト、ファイアウォール、サービスマネージャー」が答えなら、汎用Linuxのほうがホストの構成を明確にできます。

選択基準 NAS専用OS 汎用Linux
主な責任 ストレージプール、共有、スナップショット、健全性、レプリケーション パッケージ、サービス、スクリプト、ネットワーク、カスタムワークロード
ゲームサーバーのデプロイ カタログアプリ、カスタムコンテナ、VM、またはサポート対象の拡張機能 ネイティブパッケージ、SteamCMD、Docker、スクリプト、または管理パネル
ストレージの変更 単一のストレージモデルで統合し、保護 ファイルシステム、RAID、権限、アラート、復旧を所有者が構成
MODとライブラリ コンテナイメージ、カタログ、またはサポート対象のホストアクセスに依存する場合がある ファイル、ライブラリ、ユーザー、ランタイムのバージョンを直接制御
更新 アプライアンスを一括更新し、アプリのライフサイクルは個別に管理 ディストリビューション、カーネル、パッケージ、ゲームサーバー、スクリプトを直接管理
ネットワーク アプリの公開は、プラットフォームのポートとネットワークのモデルに合わせる必要がある ファイアウォール、ルーティング、インターフェース、サービスユニットを直接制御
最適な選択 ストレージを最優先し、限定的なゲームサービスをいくつか実行するマシン ストレージを意図的に設計し、ゲームホスティングも行うマシン

ストレージの安全策ではNAS OSが有利です

NAS OSは、ディスクの検出、プールの作成、データセット、SMBまたはNFS共有、スナップショット、スクラブのスケジュール設定、SMART監視、レプリケーション、容量アラートを統合します。主な価値はグラフィカルインターフェースではありません。ストレージ操作を、関連のないLinuxパッケージや設定ファイルの寄せ集めではなく、ひとつの構成として表現できることです。

ZimaSpaceによるホームサーバーのストレージモデルの比較から、ドライブが同一でもOSによって容量や復旧に違いが生じる理由がわかります。データ構成を他の人にも理解できる状態に保つ必要があるなら、ストレージを重視したプラットフォームを選ぶのが合理的です。

ゲームの更新に失敗してもストレージパッケージ、カーネルモジュール、共有アクセス権、プール管理ツールに影響を及ぼしてはならない場合、NAS OSが明らかに優れています。永続データを文書化されたデータセットに保存すれば、ゲームサービスをコンテナやVM内に収めることで、アプライアンスとしての境界を維持できます。

ゲームサーバーの運用には汎用Linuxが適している

専用ゲームサーバーでは、正確なランタイムライブラリ、SteamCMDによる更新、コマンドラインパラメーター、MODローダー、ワークショップからのダウンロード、定期再起動、ログ解析、設定ファイル群への直接アクセスが必要になることがよくあります。一般的なLinuxでは、アプライアンスのアプリスキーマを介さずにこれらを扱えます。

LinuxGSMはLinux専用ゲームサーバー向けのコマンドライン管理レイヤーとして紹介されています。同様にValveの専用サーバー向けリソースでは、NASアプライアンスのインターフェースではなく、SteamCMDやゲーム固有の設定を使ったサーバーのインストールと更新手順が説明されています。

サーバーで異なるランタイムを使う複数のゲームをホストしたり、頻繁にMODを変更したり、サポート対象外の起動引数を使ったりする場合、この制御性が重要になります。同じ自由度には運用上の負担も伴います。運用者はワールドデータを保護し、サービスを監視し、ユーザーを管理し、安全にポートを開放し、ディストリビューションのアップグレードでゲーム環境が壊れないようにする必要があります。

NASアプリで差は縮まるが、プラットフォームの制約は残る

最新のNASシステムでは、アプリカタログやカスタムコンテナを実行できるため、「NAS OS」は従来のアプライアンス型モデルほど制約的ではありません。たとえばTrueNASはアプリケーションカタログを提供し、ガイド付き設定やCompose YAMLを使ったカスタムDockerデプロイにも対応しています。

現在のTrueNASアプリモデルには、カタログアプリ、カスタムDockerアプリ、更新、ロールバック、アプリのストレージ設定が含まれています。ストレージホストにパッケージを直接インストールせずに、ゲームパネルや専用サーバーイメージを運用できます。

ブリッジ機能が役立つのは、必要なポート、マウント、環境変数、デバイス、更新動作がアプリシステムに適合する場合に限られます。カスタムYAMLデプロイが正常に動作しても、デバッグは所有者の責任となることがあります。カタログにアプリがあることと、あらゆるMod、ゲームのアップデート、ネットワーク上の例外的なケースが長期的にサポートされることは、混同しないでください。

ホストへのパッケージやModの追加でアプライアンスの動作保証が損なわれることもある

ゲームライブラリ、カスタムリポジトリ、ランタイムパッケージ、カーネルモジュール、サービスユニットをNASアプライアンスに直接インストールすると、プラットフォームがテストも保持もしない状態が生じる可能性があります。ホストはより限定されたサポート対象の構成を維持する前提のため、アプライアンスの更新で変更が上書きされたり、競合が発生したりすることがあります。

一般的なLinuxでは、こうした変更は通常のシステム管理として扱われます。所有者はパッケージのバージョンを固定し、systemdユニットを作成し、ファイルシステムを選択し、監視エージェントをインストールして、ユーザーを直接管理できます。すべての変更が記録され、再現可能なら利点になりますが、ドキュメントに残されていないコマンドでサーバーが変化していく場合は問題になります。

これが最初の判断の分かれ目です。ゲームのワークロードにNAS OSでサポートされていないホストの変更が必要なら、VMまたは別のLinuxホストに移してください。ストレージアプライアンスに、パッケージを一つずつ追加して非公式な汎用Linux環境を作らないでください。

ポート、ネットワーク、外部公開によって利便性の優劣が逆転することもある

ゲームサーバーでは、複数のUDPポートやTCPポート、クエリポート、RCON、NATルール、ファイアウォールの例外、場合によっては複数のパブリックIPアドレスが必要になることがあります。NASアプリプラットフォームでこれらのポートを公開することはできますが、そのルールはコンテナのネットワーク機能とインターフェースへのバインド方式に適合している必要があります。

一般的なLinuxでは、nftables、iptables、ブリッジ、VLAN、リバースプロキシ、サービスユーザー、ネットワーク名前空間を直接制御できます。その代わり、所有者が意図的に分離しない限り、ストレージ共有と管理インターフェースは同じホスト上に置かれます。

インターネットに公開するゲームサーバーでは、公開サービス用ネットワークをNASの管理用ネットワークやプライベートストレージから分離してください。プラットフォーム上で明確に分離できない場合は、インストールの手軽さだけでOSを選ぶより、ゲームサーバーを別のマシンまたはVMで実行するほうが安全です。

ストレージとゲームに別々のルールを設ければ、リソース競合をより簡単に解決できる

ゲームサーバーは、ワールドの保存、アップデート、バックアップ、MOD処理の間に、CPU時間、メモリ、一時ストレージ、ネットワーク帯域幅、ランダムI/Oを消費することがあります。ストレージサービスには、スクラブ、レプリケーション、ファイル共有、復旧のために予測可能なリソースが必要です。一方のワークロードによって、どちらも設定に問題がないのに、もう一方が不安定に見えることがあります。

NASのOSではアプリケーションのCPUやメモリの制限を設定できる場合がありますが、ストレージの配置ルールはオーナーが決める必要があります。可能であれば、ゲーム本体、一時ダウンロード、アップデートキャッシュを、低レイテンシが求められるストレージのメタデータから離しておきます。ワールドのセーブデータと設定は、置き換え可能なサーバー本体とは分けて保護します。

一般的なLinuxでもcgroups、systemd、Docker、仮想化を通じて同じ制御ができますが、これらを自分で組み合わせる必要があります。OSを選んでもリソース競合がなくなるわけではありません。リソースポリシーが統合されたワークフローとして提供されるか、管理者が構築するプロジェクトになるかが変わります。

バックアップの境界はゲームの状態とストレージの状態に分けて設定する

NASのスナップショットでゲームのデータセットを保護できますが、クラッシュ整合性のあるファイルシステムのコピーが、必ずしもアプリケーション整合性のあるワールドバックアップになるとは限りません。ゲームが必要とする場合はサーバーを停止するか、書き込みを静止させます。設定と認証情報を保持し、復元したバージョンがゲーム本体およびMODの構成と一致することを確認します。

NASのOSでは、プラットフォームが対応している場合、ゲームの状態を隠れたアプリストレージではなく、明示的なデータセットまたはホストパスに保存します。一般的なLinuxでは、ホストを再インストールしてもすべてのパスを再構築せずに済むよう、サービス設定、ワールドデータ、MOD、アップデートスクリプトをOSのルート領域から分離します。

ZimaSpaceの起動領域、アプリケーションデータ、大容量ストレージを分離するガイドは、どちらの方法にも当てはまります。統合サーバーを復旧できるのは、ストレージプールとゲームサービスを、文書化された順序で復元できる場合に限られます。

このホスト所有権テストを使う

  1. ゲームサーバーのアップデートやクラッシュ後も維持すべきストレージタスクをすべて一覧にします。
  2. 各ゲームのパッケージ、ポート、ランタイム、MOD、ワークショップコンテンツ、アップデート方法を一覧にします。
  3. NASのOSが、カタログアプリ、カスタムコンテナ、VMのいずれかを通じて、そのワークロードをサポートしているか確認します。
  4. ゲーム本体とは別に、ワールドのバックアップと復元をテストします。
  5. プラットフォームをアップデートし、ストレージ、ゲームのネットワーク接続、永続マウントを確認します。
  6. スクラブ、ワールドの保存、ゲームのアップデート中に、CPU、RAM、I/Oの競合を測定します。
  7. 文書化された手順だけを使って、ホストを再インストールし、両方のワークロードを復旧してください。

最適なOSは、最も重要度の高い復旧手段を標準機能で実現でき、二次的なワークロードを隔離できるものです。ストレージとゲームの両方でサポート対象外のホスト変更が必要なら、妥協したOSを選ぶのではなく、2つのシステムに分けるのが正解かもしれません。

ストレージとサーバーを兼ねる場合、どの運用モデルが適している?

NAS OSを選ぶ場合

家族向けストレージ、バックアップ、スナップショット、ドライブ復旧が主な用途で、必要なゲームサーバーが数台だけなら、NAS OSを選びましょう。ゲームはサポート対象のアプリ、コンテナ、またはVMで動かし、永続データは内容を確認できる保護済みデータセットに保存してください。

汎用Linuxを選ぶ場合

ゲームホスティングの要件によってパッケージ、ネットワーク、MOD、ライブラリ、自動化が決まるなら、汎用Linuxを選びましょう。ストレージは、プール、共有、スナップショット、SMARTアラート、スクラブ、バックアップ、検証済みのディスク交換手順を文書化したうえで、計画的に構築してください。

ストレージとゲームホスティングを分ける場合

外部への公開、頻繁なMOD導入、高いCPU負荷、またはサポート対象外のホスト変更によってストレージの安定性が損なわれるおそれがある場合は、NAS OS上にストレージを置き、ゲームサーバーは別のLinuxノードまたはVMで動かしましょう。通常、1つのOSに両方の役割を妥協させるよりも、復旧範囲を明確に分けられます。

よくある質問

TrueNASなどのNAS OSでゲームサーバーを動かせる?

カタログアプリ、カスタムDocker環境、またはVMが、ゲームのアーキテクチャ、ポート、ストレージ、アップデート要件に対応していれば可能です。サービスを起動できるからといって、すべてのMODや今後のアップデートがサポートされるとは限りません。

汎用Linuxでも同じストレージ機能を利用できる?

ファイルシステム、ソフトウェアRAID、ZFS、Samba、NFS、スナップショット、SMART監視、レプリケーションを利用できます。違いは、こうしたコンポーネントを一体型アプライアンスのワークフローとして利用するのではなく、所有者が統合して検証する点です。

ゲームワールドをメインのNASプールに保存すべき?

可能ですが、データセット、スナップショットポリシー、権限、バックアップスケジュールを分けてください。ゲームのバイナリやキャッシュは再取得できますが、ワールドの状態、設定、認証情報、カスタムコンテンツはそうとは限りません。

最終的な判断

ストレージをハードウェアの保護されたアプライアンス機能として維持し、ゲームサーバーをサポート範囲内で運用できるなら、NAS OSを選びましょう。専用サーバー向けのツール、MOD、ネットワーク、カスタムパッケージがホストの要件を左右するなら、汎用Linuxを選びましょう。各ワークロードが同じOSを直接制御する必要がある場合は、どちらかの復旧手段が不安定になる前に、ストレージとゲームの役割を分離しましょう。

製品比較

続きを読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.