ESXi は、ストレージ容量を再利用するためにゲスト OS から直接発行される unmap コマンドをサポートしています。サポートのレベルおよび要件は、仮想マシンが存在するデータストアのタイプによって異なります。
仮想マシン内部でストレージ容量が解放されるのは、たとえばシン仮想ディスクでファイルを削除したときなどです。ゲスト OS は unmap コマンドを送信して、解放された容量について VMFS に通知します。ゲスト OS から送信された unmap コマンドにより、VMFS データストア内の容量が解放されます。このコマンドはその後、アレイが解放された容量のブロックを再利用できるようにアレイに渡されます。
VMFS6 仮想マシンの容量の再利用
VMFS6 は、一般にゲスト OS から生成される容量の自動再利用の要求をサポートしており、これらの要求をアレイに渡します。多くのゲスト OS は unmap コマンドを送信でき、追加の設定は必要ありません。自動マッピング解除をサポートしないゲスト OS では、ユーザーの介入が必要な場合もあります。VMFS6 の容量の自動再利用をサポートするゲスト OS の詳細については、ベンダーにお問い合わせください。
通常、ゲスト OS はアドバタイズするマッピング解除の精度に基づいて unmap コマンドを送信します。詳細については、ゲスト OS に付属するドキュメントを参照してください。
VMFS6 は、再利用する容量が 1 MB または 1 MB の倍数の場合のみ、ゲスト OS からのマッピング解除の要求を処理します。容量が 1 MB 未満、または 1 MB の倍数になっていない場合、マッピング解除の要求は処理されません。
VMFS5 仮想マシンの容量の再利用
通常、VMFS5 上のゲスト OS から生成される unmap コマンドを直接アレイに渡すことはできません。アレイのマッピング解除をトリガするには esxcli storage vmfs unmap コマンドを実行する必要があります。
ただし、ごく一部のゲスト OS については、VMFS5 が容量の自動再利用の要求をサポートしています。
- 仮想マシンはシンプロビジョニングである必要があります。
- 仮想マシンのハードウェアはバージョン 11 (ESXi 6.0) 以降である必要があります。
- 詳細設定の EnableBlockDelete を 1 に設定する必要があります。
- ゲスト OS が仮想ディスクをシンとして識別できる必要があります。