VMware ESXi または Microsoft Hyper-V が ONTAP LUN よりも多くの使用済みスペースを報告するのはなぜですか?
環境
- ONTAP 9
- VMware vSphere
- Microsoft Hyper-V
回答
- これは想定される動作です。ホストが使用する領域は割り当て/予約されます(遅延ゼロ化時にブロックに実際に物理的に書き込まれるわけではありません)
- ストレージは、書き込み時にのみこれらのブロックを報告します。SCSI SBC-3規格で定義されているシンロジカルブロックプロビジョニング機能に従って
追加情報
- 仮想マシンの機能(メモリバルーンドライバやスワップファイルなど)により、空き領域が確保される場合があります
- Thick Provision Lazy Zeroed VMDKをシンプロビジョニングされたデータストアおよびシンプロビジョニングされたストレージボリューム/LUN(容量保証なし)で使用
VMwareの消費スペースの計算 =合計プロビジョニング済みスペース+テンプレート+ログファイルのサイズ+HA構成ファイル+スワップファイル+スナップショット+オフラインファイルまたはオフライン VM(もしあれば)およびThickProvision Lazy Zeroed vmdk。
- vSphereがLUNにVMFSファイルシステムを書き込むと、そのVMFSファイルシステム内の使用状況の管理はvSphereの責任となりますが、NetAppはブロックが一度でも書き込まれたかどうかのみを追跡します。
- VMFS上の仮想マシン(VM)の数は、仮想ディスク(VMDKまたはVHDX)をVMに割り当てます。スペースを確保するたびに、vSphereはそのスペースの一部(またはシックプロビジョニングの場合は全体)が消費されたと見なし、使用済みとして報告します。
- ONTAPは、実際にブロックが書き込まれるまでそのスペースを使用済みとは見なしません。この状況は、VMDK上の仮想マシンのスワップファイルによって急速に複雑化します。通常、VMのスワップファイルは、そのVMと同じデータストア上にあります。
- VMが起動されると、vSphereは構成されたMEMORYからRESERVED MEMORYを差し引いた分のVMスワップ用ストレージを確保します。
例:
32 GBを超えるメモリ用に構成されたVMを起動すると、データストア上で32 GBのストレージが消費されます。32 GBのメモリと24 GBの予約領域で構成されたVMを起動すると、データストア上で32-24=8 GBのストレージが消費されます。
vSphereは、これらの容量のストレージをデータストアにコミットし、「使用済み」とみなしますがデータはスワップデバイスにはほとんど書き込まれないため、ストレージの物理ブロックには空き領域が残ります。