注:ESXi 6.5 以降の VMFS-6 としてデータストアを使用している場合、この記事は適用されません。
ディスクスペースの再生タスクを呼び出すには、次の 2つの方法があります。
- esxcli コマンドを使用
- vmkfstools コマンドを使用
SCSI UNMAP が LUN でサポートされているかどうかを確認するには、ESXi ホストに SSH セッションを開き、このコマンドを実行します。
esxcli storage core device vaai status get -d naa
次のような出力が表示されます。
naa.60a98000572d54724a346a6170627a52
VAAI Plugin Name: VMW_VAAIP_NETAPP
ATS Status: supported
Clone Status: supported
Zero Status: supported
Delete Status: supported
esxcli コマンドを使用します
シンプロビジョニングされたデバイスの VMFS データストアで未使用のストレージブロックを再利用するには、次のコマンドを実行します。
esxcli storage vmfs unmap --volume-label=volume_label|--volume-uuid=volume_uuid --reclaim-unit=number
コマンドで使用できるオプションは次のとおりです。
-l|--volume-label=volume_label
UNMAP する VMFS ボリュームのラベル。これは必須の引数です。この引数を指定する場合は、-u|--volume-uuid=volume_uuid
を使用しないでください。-u|--volume-uuid=volume_uuid
UNMAP する VMFS ボリュームの UUID。これは必須の引数です。この引数を指定する場合は、-l|--volume-label=volume_label
を使用しないでください。
-n|--reclaim-unit=number
反復ごとに UNMAP する VMFS ブロックの数。これは、オプションの引数です。これを指定しない場合、コマンドはデフォルトの値 200 を使用します。
たとえば、名前が
MyDatastore
で UUID が
509a9f1f-4ffb6678-f1db-001ec9ab780e
の VMFS ボリュームの場合は、次のコマンドを実行します。
esxcli storage vmfs unmap -l MyDatastore
または
esxcli storage vmfs unmap -u 509a9f1f-4ffb6678-f1db-001ec9ab780e
注:
- ほとんどの環境で、
-n number
または --reclaim-unit=number
引数にはデフォルト値の 200 が適していますが、一部のアレイ ベンダーではアレイが SCSI UNMAP コマンドを処理する方法に応じて、さらに大きい、または小さい値が提案される場合があります。
- このコマンドは、.asyncUnmapFile パターンを使用した名前で、データストアのトップレベルに一時的な隠しファイルを作成します。デフォルトでは、一時ファイルのスペース予約は、基盤となるVMFSファイルシステムのブロックサイズによって異なります(デフォルトは--reclaim-unit = 200です)。
- 1 MB ブロックの VMFS3 / VMFS5 では 200 MB
- 4 MB ブロックの VMFS3 では 800 MB
- 8 MB ブロックの VMFS3 では 1,600 MB
- 使用例に応じて、たとえば、予約サイズが大きすぎると思われる場合や、アレイにオフロードするときに UNMAP プリミティブが予定どおりに完了しないおそれがある場合に、管理者は異なる
--reclaim-unit
値を選択することができます。--reclaim-unit
値を手動で定義する場合の最適な値またはベスト プラクティスについて、vSphere 管理者がストレージ アレイ プロバイダに問い合わせることをお勧めします。
- UNMAP 操作が中断された場合は(たとえば CTRL + C キーを押すなど)、一時ファイルが VMFS データストアのルートに残る場合があります。ただし、データストアに対してコマンドを再度実行すると、コマンドが正常に完了するとファイルが削除されます。
.asyncUnmapFile
が --reclaim-unit
サイズを超えて大きくなることはありません。
vmkfstools コマンドを使用します
代替として、未使用のストレージブロックを再利用するにあたりスイッチ -y を使用した vmkfstools コマンドを使用できます。従来、このコマンドは特定の割合のスペースのみを再利用するためにのみ使用できましたが、現在はブロックに対応するように調整されています。
ユースケースは次のとおりです。
vmkfstools -y --reclaimBlocks /vmfsPath
[--reclaimBlocksUnit #blocks]
例:
vmkfstools -y --reclaimBlocks 200 /vmfs/devices/disks/naa.6589cfc00000056ef3af090272007105
注: