esxcli 名前空間で新しいコマンドが導入されました。これにより、VAAI UNMAP プリミティブをサポートするシン プロビジョニング LUN 上で、削除済みブロックを再利用できるようになりました。62 TB の VMDK の導入により、UNMAP はより広大な無効領域を処理できるようになりました。ただし、UNMAP 操作は依然として手動で行う必要があります。これは、VMFS の Storage vMotion やスナップショットの統合タスクなどはアレイの LUN 上のディスク領域を自動的に再利用しないことを意味します。
esxcli storage core device vaai status get -d naa.##############以下のような出力が表示された場合、ローカルデータストアでは SCSI UNMAP はサポートされていません。
naa.<ID>
VAAI Plugin Name:
ATS Status: unsupported
Clone Status: unsupported
Zero Status: unsupported
Delete Status: unsupported
シンプロビジョニング デバイス上の VMFS データストアで未使用のストレージブロックを再利用するには、次のコマンドを実行します。
esxcli storage vmfs unmap --volume-label=volume_label|--volume-uuid=volume_uuid --reclaim-unit=number
ボリュームをラベルまたは UUID で指定します。
-l|--volume-label=volume_label : UNMAP する VMFS ボリュームのラベル
-u|--volume-uuid=volume_uuid : UNMAP する VMFS ボリュームの UUID
オプションで以下を指定できます。
-n|--reclaim-unit=number : 1 回の反復ごとに UNMAP する VMFS ブロックの数。これを指定しない場合、コマンドはデフォルトの値 200 を使用します。
例えば、MyDatastore という名前で UUID が 509a9f1f-########-####-########780e の VMFS ボリュームに対しては、以下のいずれかのコマンドを実行します。
esxcli storage vmfs unmap -l MyDatastore
または
esxcli storage vmfs unmap -u 509a9f1f-########-####-########780e
注:
-n number または --reclaim-unit=number 引数にはデフォルト値の 200 が適していますが、一部のアレイ ベンダーではアレイが SCSI UNMAP コマンドを処理する方法に応じて、さらに大きい、または小さい値が提案される場合があります。--reclaim-unit 値を選択することができます。--reclaim-unit 値を手動で定義する場合の最適な値またはベスト プラクティスについては、vSphere 管理者からストレージ アレイ プロバイダにご確認いただくことをお勧めします。.asyncUnmapFile が --reclaim-unit サイズを超えて大きくなることはありません。esxcli storage vmfs unmap コマンドは Zero Page Reclaim 機能を利用しません。UNMAP プロセス中、ESXi はストレージアレイに SCSI UNMAP コマンドを送信し、割り当て解除可能な空きブロックを通知します。その後、アレイ側で再利用プロセスを完了させるために、必要なゼロページ/ゼロブロック操作を内部で実行する必要があります。アレイレベルでゼロページ操作が失敗する、または非効率である場合、ゲスト OS 内で FStrim コマンドを使用することが代替案となります。ただし、この手法のエンドツーエンドのワークフローやサポートについては、SAN アレイベンダーにご確認ください。代替として、 vmkfstools コマンドに -y スイッチを付けて、未使用のストレージブロックを再利用することもできます。従来、このコマンドは特定の割合の領域のみを再利用するためにのみ使用できましたが、現在はブロック単位に対応するように調整されています。
使用方法は次のとおりです。
vmkfstools -y /vmfsPath
[--reclaimBlocksUnit #blocks]
例:
vmkfstools -y --reclaimBlocksUnit 200 /vmfs/volumes/vmfsPath
注:
esxtopコマンドを活用して、UNMAP プロセスの進行状況を監視することができます。 詳しくは、 Monitoring VMware vSphere Storage APIs – Array Integration using esxtop and maintaining the status as enabled を参照してください