共有アクセスと容易な移行を優先するなら中央NASを使用し、ローカルレイテンシと障害分離がレプリケーションの遅延や配置作業より重要ならノードごとのディスクを使用します。
小規模なクラスターで、すべての利点を同時に得られることはほとんどありません。中央ストレージなら同じゲストディスクを複数のノードから認識できますが、ローカルストレージならNASの障害によってすべてのワークロードが停止する事態を避けられます。正しい選択は「クラスター」という言葉ではなく、復旧目標から始まります。
ノード障害時に何を維持すべきかを定義する
3つの目標を分けて考えます。別のノードでゲストを再起動すること、最新の書き込みを保持すること、そしてより大規模なインシデント後にサービスを復旧することです。共有ストレージは、NASが利用可能な場合に限り最初の目標に役立ちます。ローカルレプリケーションが役立つのは、最後に完了したコピーまでです。
実用的なローカルZFSレプリケーション設計では、明確なトレードオフが示されています。ノードローカルストレージはフェイルオーバーをサポートできますが、復旧時点は自動的に最新になるのではなく、レプリケーション間隔に応じて決まります。
数分間のテストデータを失っても問題ないなら、ローカルレプリケーションが適している可能性があります。ゲストディスクを別の場所ですぐに認識できる必要があるなら、共有ストレージまたは分散レイヤーがより適切な要件です。
レイテンシとネットワーク依存性を比較する
ローカルNVMeなら通常のI/Oでストレージネットワークを経由せず、ドライブの問題を1台のノードに限定できます。その一方で、各ノードに十分な容量と、重要なゲストをレプリケートまたは復元するための手順が必要になります。
中央NASでは、キャッシュ、スナップショット、監視、容量を集約できます。しかし、すべてのゲストI/OがNAS、スイッチ、リンク、プロトコル、電源経路に依存することになります。不安定な1GbEリンクの背後に高速なディスクプールを置いても、データストアは不安定なままです。
共有ゲストディスクでレイテンシーに敏感なデータベースを運用する場合は、専用または優先度を設定したストレージ経路を使用します。クラスターのハートビート通信が、大規模なバックアップや移行処理と競合しないようにしてください。
障害ドメインを明確に比較する
内部ディスクが冗長化されていても、中央NASは1つの障害ドメインです。コントローラー、OS、電源、ネットワークの障害によって、すべてのノードからNASにアクセスできなくなる可能性があります。
ローカルディスクでは障害を分散できますが、保守作業は増えます。ファームウェア、SMART監視、容量、暗号化キー、予備部品を各ノードで管理する必要があります。
| 障害 | 中央NAS | ノードごとのローカルディスク |
|---|---|---|
| 1台のコンピュートノード | ゲストディスクは共有されたまま | レプリカまたは復元が必要 |
| NAS障害 | 依存するすべてのゲストに影響 | ノードはローカルで継続 |
| スイッチまたはリンクの障害 | ストレージが消失する可能性 | ローカルワークロードは継続 |
| 1台のローカルディスク障害 | ノードローカルのデータストアには影響なし | ミラーリングされていない限り、そのノードに影響 |
| 古いレプリカ | 通常の経路では発生しない | 最後のコピー以降のデータ損失が発生する可能性 |
ハードウェアだけでなく復旧運用にもコストをかける
中央ストレージは重複する容量を減らし、バックアップを簡素化できます。しかし、ゲストを復旧する前にNASの復元が最初の手順になる可能性があります。NASが停止している場合でも、バックアップツールと認証情報を利用できるようにしてください。
ローカルストレージでは、ゲストディスクのレプリケーションに加えて、別のバックアップ先が必要になる場合があります。2ノードクラスターの再構築に関する記録は、アーカイブNASをクラスター全体の依存先にしないために、一部の運用者がローカルミラーを選ぶ理由を示しています。
必要なローカル容量、レプリケーションのトラフィック、復元用ストレージのコストを、NAS、高速なスイッチ、冗長リンク、UPSの導入コストと比較して計算します。
RPO、ダウンタイム、規模で選ぶ
ライブ移行または迅速な移行が重要で、ストレージ経路が設計・監視されており、NAS自体にバックアップと復旧手順がある場合は、中央NASを選びます。管理機能が障害のあるデータストアに依存しないよう、ローカル起動経路または緊急サービス経路を用意しておきます。
クラスターが小規模で、ワークロードを固定でき、レイテンシーが重要であり、定義したレプリケーション間隔がRPOを満たす場合は、ノードごとのローカルディスクを選びます。SMBとNFSの選択ガイドは、実際に対象となるクライアントとマウントの役割に限って使用してください。
2台の軽量なノードだけを対象に、分散ストレージを構築するのは避けましょう。クォーラム、ネットワーク、ディスクに対する要件が、解決したい問題を上回る可能性があります。障害時に複数ノードを用意する意味が失われるなら、すべての重要なゲストを1台のNASに依存させるのも避けてください。
製品比較
もっと読む

アプリのアップデートとロールバックにおけるProxmox上のLXCとDockerの比較
Dockerはアプリレベルのバージョン管理を提供し、LXCはゲストレベルのロールバックを可能にします。より適した方は、安全に復元できる最小の状態単位に応じて決まります。

特権ホームサービスにおけるDockerとLXCのセキュリティ境界
Dockerは用途を絞ってパッケージ化されたアプリに適しており、LXCはより完全なLinuxサービスに適していますが、共有カーネルのリスクを許容できない場合、どちらもVMの代わりにはなりません。

初心者が初めて構築するなら、ターンキー型NAS OSかモジュール型Linuxか
ガイド付きのストレージ運用にはすぐに使えるNASソフトウェアを選び、学習と明確な制御のためにより多くの管理を担う価値がある場合は、モジュール式のLinuxを選びましょう。

