ホームNASがVMディスクイメージを保存すると何が変わるのか?

エヴァ・ウォンテクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

ホームNASがアクティブなVMディスクイメージを保存するとき、それは自己完結型ファイルの単なる保存先ではなく、仮想ブロックストレージパスの一部になります。ゲストOSは読み取り、書き込み、フラッシュ、割り当て変更をハイパーバイザーとネットワークを通じてNASに送信します。したがって、レイテンシ、書き込みの耐久性、空き領域の回収、イメージの依存関係は転送速度と同じくらい重要になります。

この変化は稼働中の仮想マシンで使用されるディスクイメージに適用されます。アーカイブやバックアップのためだけに保持される電源オフのイメージは、通常の大きなファイルのように振る舞います。この区別は重要で、NASが大きなイメージを高速にコピーしても、複数のアクティブなゲストが小さな同期I/Oを生成すると応答時間が一貫しないことがあるためです。

NASは実際にVMディスクイメージの中に何を保存しているのか?

ゲストOSは仮想ブロックデバイスを見ますが、NASはRAW、QCOW2、VMDK、VHDX、または類似のイメージを見ることがあります。ゲストはその仮想デバイス内にファイルシステム、パーティション、ファイル、空き領域を作成します。NASにとって、それらの構造はイメージオブジェクトやブロックボリューム内のデータとメタデータの範囲です。

すべてのリクエストは複数の層を通過します:ゲストのファイルシステム、仮想ストレージコントローラー、ハイパーバイザーブロック層、イメージドライバー、ネットワークストレージプロトコル、NASファイルシステムまたはブロックターゲット、そして物理メディアです。QEMUのディスクイメージフォーマットのドキュメントは、RAWとQCOW2を区別しつつ、スパース割り当て、バックファイル、スナップショットなどの機能を説明しています。

なぜI/Oパターンはより混合的でレイテンシに敏感になるのか?

稼働中のゲストは、オペレーティングシステムの更新、ジャーナル活動、アプリケーションデータ、ログ、スワップやページファイルのトラフィック、バックグラウンドサービスを組み合わせています。リクエストの中には連続的なものもあれば、小さく散在するものもあります。複数のVMは独立したキューを追加し、その操作は連続したストリームではなくホームNASにインターリーブして到着することがあります。

これはすべてのVMがランダムな4KBのI/Oを生成するという意味ではありません。リクエストのサイズや順序はゲスト、アプリケーション、仮想コントローラー、キャッシュ、ハイパーバイザーによって異なります。重要な変化は、複数のブロックワークロードが1つの混合NASワークロードになることで、平均レイテンシ、テールレイテンシ、キュー遅延、同時実行性がピークの連続スループットだけでなくより代表的になることです。

なぜ書き込み確認応答はピーク帯域幅より重要なのか?

ゲストアプリケーションは、重要なデータが耐久的なポイントに到達することを要求してから処理を進める場合があります。その要求はゲストキャッシュ、仮想ディスクキャッシュ、ハイパーバイザー、ネットワークプロトコル、NASキャッシュ、ストレージコントローラー、メディアを通過します。各層が完了の意味を合意している場合にのみ、高速な確認応答は有用です。

プロトコル名だけで耐久性は決まりません。NFSv3はすべての書き込みを即座に同期的にコミットするのではなく、不安定な書き込みをサポートし、その後にCOMMITを行います。NFS WRITEとCOMMITモデルは、安全な回復セマンティクスと効率的な書き込み処理を組み合わせるために設計されました。NFSv4も同様に、書き込みが要求された安定レベルに達したかどうかを報告します。

キャッシュポリシーは待機時間と回復の前提条件をトレードオフできますが、「非同期」が自動的に安全でないことを意味せず、「同期」が特定の実装を示すわけでもありません。完全な経路を考慮する必要があります:ゲストのフラッシュ動作、ハイパーバイザーのキャッシュモード、プロトコルの確認応答、サーバーの保護、そして最終ストレージが関連する障害を越えて確認済みデータを保持できるかどうかです。

スパースイメージとdiscardは物理スペースの使用にどのように影響するのか?

VMは、イメージが実際にははるかに少ない物理スペースしか消費していなくても、500GBの仮想ディスクを認識できます。コンパクトフォーマットはゲストが新しい領域に書き込むたびにストレージを割り当てるため、仮想容量、見かけのファイルサイズ、割り当てられたイメージデータ、NASの物理使用量はすべて異なる場合があります。これにより初期のスペースは節約されますが、容量の管理は直感的でなくなります。

ゲスト内でファイルを削除すると、まずゲストのファイルシステム内の空き領域が解放されます。物理的な割り当てを戻すには、ゲストがdiscardまたはTRIMを発行する必要があり、仮想コントローラーがそれを受け入れ、ハイパーバイザーとイメージフォーマットがそれを通し、基盤となるNASパスが割り当て解除をサポートしている必要があります。QEMUのdiscard伝播制御は、この動作が自動ではなく設定によることを示しています。

動作するディスカードパスがあっても、イメージの見かけ上の長さがすぐに縮むとは限りません。スナップショットは古いクラスタを参照し続けることがあり、ファイルシステムは割り当てられたブロックを異なる方法で報告するか、イメージドライバは後の断片化を避けるためにクラスタを事前割り当てしている場合があります。したがって、ゲストの空きスペースとNASの空きスペースは別々に測定する必要があります。

スナップショットとバックチェーンはワークロードに何を加えるのか?

QCOW2はバックファイルとオーバーレイを使用でき、新しいイメージは変更を保存しつつベースイメージから変更されていないブロックを読み続けます。その割り当てとイメージメタデータはクラスタで構成されており、QCOW2フォーマット仕様で説明されています。この構造によりコンパクトなクローンとスナップショットが可能ですが、ファイル間の依存関係が生じます。

アクティブな読み取りは現在のオーバーレイまたは古いバックレイヤーで満たされることがあり、新しい書き込みは新しいクラスタを割り当てることがあります。ストリーム、コミット、ミラー、バックアップジョブはVMがアクティブなままデータをコピーまたはマージできます。QEMUのライブブロック操作は、スナップショットのメンテナンスがなぜ大きなバックグラウンドストレージ作業を生むかを示しています。

スナップショットは自動的に独立したバックアップではありません。必要なベースなしでオーバーレイをコピーすると不完全なディスクイメージチェーンが残る可能性があり、クラッシュ整合性のあるイメージでもアプリケーション整合性のある復旧ポイントとは異なる場合があります。その違いが明確になれば、別のVMバックアップ準備ワークフローが、ストレージメカニズムの証拠としてではなく運用保護をカバーできます。

ワークロードの次元 通常のファイルストレージ アクティブなVMディスクイメージのストレージ 実際の影響
アクセスパターン しばしば長いファイルの読み書き ゲスト生成の混合ブロックI/O シーケンシャル速度はあまり代表的ではありません
レイテンシ 遅延はコピー時間を延長します 遅延はゲストのタスクを停止させることがあります テールレイテンシが重要になります
書き込み完了 コピーするアプリケーションに依存します フラッシュの意味は複数の層をまたぎます 耐久性はエンドツーエンドで評価する必要があります
容量割り当て ファイルサイズは直接確認できます 仮想サイズと物理サイズは異なる場合があります 容量は複数の測定が必要です
削除 ファイルを削除すると割り当てが解放されます ゲストの破棄はストレージ経路を通過しなければなりません NASの空き容量はすぐに戻らないことがあります
スナップショット 通常は別のコピーまたはアプリケーションのスナップショットです オーバーレイはバックイメージに依存することがあります 回復にはチェーンの整合性が必要です

なぜすべての遅いVMがNASストレージの問題ではないのか?

VMはCPUスケジューリング、メモリ圧迫、ゲストのページング、アプリケーションロック、不適切な仮想コントローラー、パラバーチャライズドドライバーの欠如で待機することがあります。ハイパーバイザーにも独自のキューやキャッシュのボトルネックがあるかもしれません。高いゲストI/O待ち時間はストレージを調査する理由にはなりますが、NASが原因である証明ではありません。

ネットワークとNASも分離して考えるべきです。リンクの飽和は総スループットを制限しますが、高速リンクは遅いメディア、同期コミットのレイテンシ、深いイメージチェーン、ゲスト側の競合を解消できません。逆に、低いネットワーク利用率はネットワークが健全である証明にはなりません。ワークロードが往復遅延や下流ストレージを待っている可能性があるためです。

診断はハードウェアを交換する前に経路に沿って行うべきです。ゲストから見えるレイテンシをハイパーバイザーのI/O待ち、ネットワーク遅延と利用率、NASのキュー挙動、物理デバイスのレイテンシと比較します。隣接する層がリクエストの待機開始場所で一致するとボトルネックの信憑性が高まります。

NASをVMストレージとして使う前に何を観察すべきか?

まず、イメージがアクティブかどうか、そのフォーマット、仮想サイズと割り当てサイズ、スナップショットの深さ、バックイメージの関係を特定します。ストレージがファイルベースかブロックベースか、ハイパーバイザーとNASを接続するプロトコルも記録します。これらの事実が後の測定で説明すべき経路を定義します。

意図したワークロードの下でスループットとレイテンシの両方を観察してください。複数のVMのうちの1つを分離し、読み取りと書き込み、短時間のバーストと持続的な活動を区別します。ゲストのI/O待ち時間、ハイパーバイザーのキュー、プロトコルのレイテンシ、NASストレージのレイテンシ、バックグラウンドのスナップショットやバックアップジョブを記録します。大きなファイルコピー1回だけを評価テストに使うのは避けてください。

よくある質問

ホームNASにはVMディスクイメージ用のSSDが必要ですか?

必ずしもそうではありません。SSDは通常ランダムアクセスのレイテンシが低いですが、要件はVMの数、ワークロード、同時実行性、レイテンシ目標、イメージがアクティブかアーカイブかによって異なります。より広範なメディアと容量のトレードオフは別のHDD対SSDの判断に属し、普遍的なVMストレージルールには含まれません。

NASからVMを実行するには10GbEが必要ですか?

いいえ。帯域幅が高いことは、総トラフィックが現在のリンク制限に近づく場合に役立ちますが、プロトコル、コミット、イメージフォーマット、メディアのレイテンシを取り除くわけではありません。小規模なワークロードは遅いリンク内に収まることがあり、複数の忙しいVMは追加の帯域幅と混雑時のキューイング低減の恩恵を受けるかもしれません。

VMストレージに最適なプロトコルはNFS、SMB、またはiSCSIのどれですか?

無条件の勝者はありません。ファイルプロトコルとブロックプロトコルは異なる管理、キャッシュ、ロック、リカバリのセマンティクスを持ち、実装の詳細が重要です。別途SMB対NFSの比較があり、より広範なファイル共有の判断を扱っていますが、VM固有のテストやすべてのiSCSIのトレードオフを代替するものではありません。

なぜVM内のファイルを削除してもNASの空き容量が増えないのですか?

ゲストの削除はまずゲストファイルシステム内のブロックを未使用としてマークします。物理的な空き領域は、破棄や割り当て解除が仮想コントローラ、ハイパーバイザー、イメージフォーマット、ネットワークストレージ経路、NASの割り当てレイヤーを越えた場合にのみ戻ります。スナップショットや事前割り当ても物理ブロックを使用中のままにすることがあります。

VMのスナップショットはディスクイメージのバックアップの代わりになりますか?

いいえ。スナップショットはベースイメージやチェーン内の他のレイヤーに依存している場合があり、同じストレージ障害ドメインを共有していることがあります。回復可能なバックアップはこれらの依存関係を意図的に保持または削除し、復元によってテストされなければなりません。

最終的な結論

アクティブなVMディスクイメージを保存するホームNASは、仮想ブロックストレージ経路のレイテンシに敏感な部分になります。混合I/O、書き込み耐久性、スパース割り当て、破棄の伝播、スナップショットの依存関係、リカバリを総合的に評価し、帯域幅、プロトコル、またはストレージメディアを解決策とみなす前にリクエストがどこで待機しているかを確認してください。

テック&AIハブ

もっと読む

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.