シン プロビジョニング LUN 上の VMFS 削除済みブロックを再クレームする。
search cancel

シン プロビジョニング LUN 上の VMFS 削除済みブロックを再クレームする。

book

Article ID: 327800

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

この記事でシン プロビジョニングデバイス用のVMFSデータストア上で不使用ストレージブロックを再クレームする手順が提供します。

vSphere 5.5 から esxcli 名前空間で新しいコマンドが導入されました。これにより、VAAI UNMAP プリミティブをサポートするシン プロビジョニング LUN 上で、削除済みブロックが再利用できます。

コマンドはメンテナンス期間を設けることなく実行でき、再利用メカニズムは次のように拡張されました。
  • 再利用サイズは、パーセント値ではなく、ブロック単位で指定することができます。これにより、さらに直感的に計算できるようになります。
  • デッドディスクスペースは、パフォーマンスの問題を回避するために、一度にすべてではなく、増分で再利用されます。
62 TBのVMDKの導入により、UNMAPははるかに大きなデッドスペース領域を処理できるようになりました。ただし、UNMAP操作は依然として手動です。これは、VMFS の Storage vMotion または Snapshot Consolidation タスクがアレイ LUN のディスクスペースを自動的に再利用しないことを意味します。


免責事項:これは英文の記事 「Reclaiming VMFS deleted blocks on Thin Provisioned LUNs」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

Environment

VMware vSphere ESXi 7.x
VMware vSphere ESXi 8.X

Resolution

ディスクスペースの再生タスクを呼び出すには、次の 2つの方法があります。
  • esxcli コマンドを使用
  • vmkfstools コマンドを使用
SCSI UNMAP が LUN でサポートされているかどうかを確認するには、ESXi ホストに SSH セッションを開き、このコマンドを実行します。

esxcli storage core device vaai status get -d naa

次のような出力が表示されます。
naa.<ID>
VAAI Plugin Name: VMW_VAAIP_NETAPP
ATS Status: supported
Clone Status: supported
Zero Status: supported
Delete Status: supported

SCSI UNMAP をサポートしていないローカル データストアは次のような出力が表示されます。
naa.<ID>
VAAI Plugin Name:
ATS Status: unsupported
Clone Status: unsupported
Zero Status: unsupported
Delete Status: unsupported

esxcli コマンドを使用します。

シンプロビジョニングされたデバイスの VMFS データストアで未使用のストレージブロックを再利用するには、次のコマンドを実行します。

esxcli storage vmfs unmap --volume-label=volume_label|--volume-uuid=volume_uuid --reclaim-unit=number

例: VMFS ボリュームのラベル、または uuid: 
-l|--volume-label=volume_label
UNMAP する VMFS ボリュームのラベル

-u|--volume-uuid=volume_uuid
UNMAP する VMFS ボリュームの UUID

オプション:
-n|--reclaim-unit=number
反復ごとに UNMAP する VMFS ブロックの数。これを指定しない場合、コマンドはデフォルトの値 200 を使用します。

例えば, VMFS ボリュームのラベルが MyDatastore で UUID 509a9f1f-########-####-########780e の場合のコマンド:

esxcli storage vmfs unmap -l MyDatastore

または

esxcli storage vmfs unmap -u 509a9f1f-########-####-########780e

  • ほとんどの環境で、-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/vmfsPath

注:



Additional Information