VMFS データストアからファイルを削除すると、ファイル システム内の容量が解放されます。この空き容量は、ファイル システムが解放またはマッピング解除するまで、ストレージ デバイスにマッピングされます。ESXi は、マッピング解除操作とも呼ばれる空き容量の再利用をサポートしています。

この操作により、ストレージ アレイは未使用の空き容量を再利用できるようになります。マッピング解除された容量は、他のストレージ割り当て要求やニーズに使用できます。

VMFS6 データストアでの空き容量の自動再利用

ESXi は、VMFS6 データストアで、空き容量の自動の非同期再利用をサポートしています。VMFS6 は、マッピング解除操作をサポートするシンプロビジョニング ストレージ アレイで、unmap コマンドを実行し、ストレージの空き容量をバックグラウンドで解放できます。

自動でのマッピング解除処理には、いくつかの利点があります。
  • マッピング解除要求は一定速度で送信されるため、バッキング アレイでの短期間のロードを回避できます。
  • 解放された領域は一括処理され、同時にマッピング解除されます。
  • 他のワークロードの I/O パフォーマンスは、unmap コマンドに影響されません。

VMFS6 データストアでは、次の容量再利用のパラメータを設定できます。

容量再利用の精度
精度では、基盤となるストレージが再利用できる、解放される最小サイズのセクターを定義します。ストレージは、指定した精度より小さいサイズのセクターを再利用できません。
VMFS6 の場合、再利用の精度はブロック サイズと同じです。1 MB のブロック サイズを指定すると、精度も 1 MB になります。1 MB より小さいサイズのストレージ セクターは再利用されません。
注: 特定のストレージ アレイでは、最適なマッピング解除の精度が推奨されます。 ESXi は、マッピング解除の推奨精度が 1 MB 以上(16 MB など)のアレイでの自動マッピング解除処理をサポートします。最適な精度が 1 MB 以下のアレイでは、精度が 1 MB の約数である場合、マッピング解除処理がサポートされます。たとえば、1 MB は 512 バイト、4 KB、64 KB などで割り切れます。
容量の再利用方法
この方法には、優先度方式または固定方式を指定できます。優先度方式を使用する場合は、優先度を設定します。固定方式を使用する場合は、1 秒あたりの再利用率を MB で指定する必要があります。
vSphere Client を使用して、VMFS6 データストアを作成するときに優先度方式を設定できます。固定方式を有効にする場合は、後から既存のデータストアについて、容量再利用の設定を変更できます。
または、 esxcli storage vmfs reclaim config set コマンドを使用して、容量再利用のパラメータを設定することもできます。
容量再利用の優先度
このパラメータは、優先度方式で容量再利用方法を使用する場合の処理の実行速度を定義します。通常 VMFS6 は、ワークロードと設定に応じて、一斉にまたは散発的に unmap コマンドを送信できます。VMFS6 の場合は、次のいずれかのオプションを指定できます。
容量再利用の優先度 説明 構成
なし データストアでマッピング解除操作を無効にします。 vSphere Client

esxcli コマンド

低(デフォルト) unmap コマンドを低頻度(1 秒あたり 25 ~ 50 MB)で送信します。 vSphere Client

esxcli コマンド

コマンドを低速の 2 倍の速度(1 秒あたり 50 ~100 MB)で送信します。 esxcli コマンド
コマンドを低速の 3 倍の速度(1 秒あたり 100 MB 以上)で送信します。 esxcli コマンド
容量再利用のホスト
このパラメータは、自動的な容量再利用のために VMFS6 データストアに unmap コマンドを発行できる ESXi ホストの数を定義します。このパラメータを使用して、ターゲットとなるバッキング VMFS6 データストアに発行される容量再利用ロードの累積量を制限します。

容量の再利用を有効にした後、VMFS6 データストアは、少なくとも 1 つのファイルが開いている場合にのみ、未使用の容量のブロック解放を開始できます。たとえば、データストア上の仮想マシンのうち 1 台をパワーオンすると、この条件を満たすことができます。

VMFS6 データストアを作成する場合の優先順位再利用の構成

削除またはマッピング解除されたブロックがデータストアをバッキングするデバイスでどのように再利用されるかは、容量再利用の設定によって制御されます。vSphere Client で VMFS6 データストアを作成する場合、容量の再利用方法として、優先度方式のみを指定できます。また、データストアの作成時に容量再利用を無効にすることもできます。

手順

  1. vSphere Client オブジェクト ナビゲータで、ホスト、クラスタ、またはデータセンターを参照します。
  2. 右クリック メニューで [ストレージ] > [新しいデータストア] の順に選択します。
  3. VMFS6 データストアの作成に必要な手順を実行します。
  4. [パーティション設定] ページで、容量再利用のパラメータを指定します。
    パラメータは、精度、および容量再利用の操作が実行される優先度を定義します。このページを使用して、データストアの容量再利用を無効にすることもできます。
    オプション 説明
    ブロック サイズ VMFS データストアのブロック サイズでは、最大ファイル サイズとファイルが使用する容量を定義します。VMFS6 では、1 MB のブロック サイズをサポートしています。
    容量再利用の精度 マッピング解除操作の精度を指定します。マッピング解除の精度はブロック サイズ (1 MB) に対応します。

    1 MB より小さいサイズのストレージ セクターは再利用されません。

    容量再利用の優先度 次のいずれかのオプションを選択します。
    • 低(デフォルト)。容量の再利用に優先度方式を使用します。マッピング解除操作は低優先度で実行されます。
    • なし。データストアで容量再利用の操作を使用しない場合は、このオプションを選択します。
    注: vSphere Client で容量再利用の優先度に使用できる設定は、[低] および [なし] です。[中] または [高] の設定を変更するには、 esxcli コマンドを使用します。
  5. データストアの作成プロセスを完了します。

結果

容量の再利用を有効にした後、VMFS6 データストアは、1 つ以上のファイルが開いている場合にのみ、未使用の容量のブロック解放を開始できます。たとえば、データストア上の仮想マシンのうち 1 台をパワーオンすると、この条件を満たすことができます。

既存の VMFS6 データストアに対する固定再利用の構成

固定再利用方式を有効にするには、データストアの容量再利用の設定を変更します。

手順

  1. vSphere Client で、データストアに移動します。
  2. 右クリック メニューから [領域再利用の編集] を選択します。
  3. 容量再利用の設定を指定します。
    オプション 説明
    固定の再利用率で、容量の自動再利用を有効にする 容量の再利用に固定方式を使用します。再利用率を 1 秒あたりの MB で指定します。使用可能な最小値は 1 秒あたり 10 MB です。
    容量の自動再利用を無効にする 削除またはマッピング解除されたブロックは再利用されません。

    データストアで容量再利用の操作を無効にする場合は、このオプションを選択します。

  4. [OK] をクリックして、新しい設定を保存します。
  5. データストアをアンマウントしてから再マウントして、変更を有効にします。
    1. データストアのアンマウント
    2. データストアのマウント
  6. データストアにアクセスするすべての ESXi ホストにこの手順を繰り返します。

結果

容量再利用の優先度の変更された値が、データストアの [全般] ページに表示されます。

ESXCLI コマンドを使用した VMFS6 の容量再利用の変更

デフォルトの容量再利用の優先度、精度、およびその他のパラメータを変更できます。

手順

  1. ESXi ホストで、次のコマンドを使用して、容量再利用のパラメータを設定します。
    esxcli storage vmfs reclaim config set

    このコマンドには次のオプションがあります。

    オプション 説明
    -b|--reclaim-bandwidth 容量再利用の固定バンド幅(1 秒あたりの MB)。
    -g|--reclaim-granularity 容量の自動再利用の最小精度(バイト数)。
    -m|--reclaim-method 容量の自動再利用の方法。サポートされているオプション︰
    • priority(優先度)
    • 固定
    -n|--reclaim-maxhosts 自動的な容量再利用のために VMFS6 データストアに unmap コマンドを発行できる ESXi ホストの最大数。
    -p|--reclaim-priority 容量の自動再利用の優先度。サポートされているオプション︰
    • none
    • low(低)
    • medium(中)
    • high(高)
    -l|--volume-label ターゲット VMFS ボリュームのラベル。
    -u|--volume-uuid ターゲット VMFS ボリュームの UUID。
    次の例を使用できます。
    • 再利用方法を固定に設定して、レートを 1 秒あたり 100 MB に設定します。
      esxcli storage vmfs reclaim config set --volume-label datastore_name --reclaim-method fixed -b 100
    • VMFS の容量の自動再利用を無効にします。
      esxcli storage vmfs reclaim config set --volume-label datastore_name --reclaim-priority none
    注: 他のパラメータを指定せずに -n|--reclaim-maxhosts パラメータのみを設定した場合、手順 2 はスキップできます。更新された reclaim-maxhosts パラメータ値が、VMFS6 データストアがマウントされているすべての ESXi ホストで有効になるまで、約 30 分かかります。
  2. VMFS6 データストアがマウントされている他のすべての ESXi ホストからそのデータストアをアンマウントしてから、再度マウントします。
    1. データストアのアンマウント
    2. データストアのマウント
    この手順により、VMFS6 データストアがマウントされたすべての ESXi ホストについて、データストアの再利用設定が更新されます。

VMFS6 での容量自動再利用の設定の確認

VMFS6 データストアの容量再利用のパラメータを設定または編集した後に、その設定内容を確認できます。

手順

  1. vSphere Client で、データストアに移動します。
  2. [設定] タブをクリックします。
  3. [全般] をクリックします。
  4. [容量の再利用] で、容量再利用の優先度の設定を確認します。
    esxcli コマンドを使用して値を設定した場合(容量再利用の優先度に中または高を設定した場合など)は、これらの値も vSphere Client に表示されます。

結果

このスクリーンショットは、容量再利用の設定を示します。

例: VMFS6 の容量再利用のパラメータの取得

esxcli storage vmfs reclaim config get -l=VMFS_label|-u=VMFS_uuid コマンドを使用して、容量再利用の設定情報を取得することもできます。
# esxcli storage vmfs reclaim config get -l my_datastore 
Reclaim Granularity: 1048576 Bytes 
Reclaim Priority: low
Reclaim Method: priority
Reclaim Bandwidth: 26 MB/s
Reclaim Maximum Hosts: 128

VMFS5 での蓄積されたストレージ容量の手動による再利用

VMFS5 などの、容量の自動再利用をサポートしていない VMFS データストアでは、esxcli コマンドを使用して、未使用のストレージ容量を手動で再利用できます。

コマンドを使用する場合は、多数のマッピング解除要求が一度に送信される可能性があることに注意してください。このアクションにより、操作中に一部のリソースがロックされる場合があります。コマンドを使用する場合は、多数のマッピング解除要求が一度に送信される可能性があることに注意してください。このアクションにより、操作中に一部のリソースがロックされる場合があります。

前提条件

ESXCLI をインストールします。ESXCLI スタート ガイドを参照してください。トラブルシューティングするには、ESXi Shellesxcli コマンドを実行します。

手順

  1. シン プロビジョニング デバイスの未使用のストレージ ブロックを再利用するには、次のコマンドを実行します。
    esxcli storage vmfs unmap

    このコマンドには次のオプションがあります。

    オプション 説明
    -l|--volume-label=volume_label マップ解除する VMFS ボリュームのラベル。必須の引数です。この引数を指定した場合、-u|--volume-uuid=volume_uuid は使用しないでください。
    -u|--volume-uuid=volume_uuid マップ解除する VMFS ボリュームの UUID。必須の引数です。この引数を指定した場合、-l|--volume-label=volume_label は使用しないでください。
    -n|--reclaim-unit=number 反復ごとにマップ解除する VMFS ブロックの数。オプションの引数です。指定されていない場合、コマンドはデフォルト値の 200 を使用します。
  2. マッピング解除処理が完了したかどうかを確認するには、vmkernel.log ファイルでマッピング解除を検索します。