シン プロビジョニングのブロック領域解放 (VAAI UNMAP) が機能しない
search cancel

シン プロビジョニングのブロック領域解放 (VAAI UNMAP) が機能しない

book

Article ID: 340029

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:

免責事項: これは英文の記事 「Thin Provisioning Block Space Reclamation (VAAI UNMAP) does not work (2048466)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


データストア上に十分な領域を持つシン プロビジョニングされた SAN LUN を使用し、共有ストレージを供給する SAN アレイが vStorage APIs for Array Integration (VAAI) のプリミティブ UNMAP をサポートする場合:
  • アレイへの UNMAP コマンドの発行(vmkfstools -y を使用)は成功しますが、解放可能な領域の量に関わらず、操作は数秒で完了します。
  • UNMAP コマンドの結果を確認すると SAN アレイ上では何も変化はありません。シン プロビジョニングされた LUN の使用量は減少していません。
  • UNMAP に対して vSphere 5.5 で esxcli storage vmfs unmap -l datatsore コマンドを実行すると、次のようなエラーが表示される。

    FSDisk: 262: ブロック削除の発行に失敗しました [sync:1] numDescs 1 必要な境界 0x412fc3750540 にアドレスが整列されていません


Environment

VMware vSphere ESXi 5.5
VMware vSphere ESXi 5.0
VMware vSphere ESXi 5.1

Cause

この問題は、不整列のパーティション テーブルが原因です。VAAI が正しく機能するためには、いくつかのアレイで、基盤となるパーティションの特定の整列が要求されます。

不整列の原因としては次のようなものがあります。
  • ボリュームがネイティブ VMFS-5 ではない(VMFS-3 から変換されている)
  • LUN のパーティション テーブルが手動で作成されている
: vSphere Client または vCenter Server を使用して VMFS データストアを作成した場合は、おそらくすべての要求が整列されます。fdisk または partedUtil などの低レベルのツールを使用して LUN の不正確なパーティションが作成されると、操作はソフトウェアのデータ ムーバーの使用に戻る可能性があります。

詳細については、『VMware vSphere Storage APIs – Array Integration (VAAI) documentation』を参照してください。

Resolution

VAAI のプリミティブ UNMAP は、パーティション オフセットが 1 MB の倍数となる SAN アレイでのみ動作します。

この問題を解決するには、VMFS-5 データストアを作成して使用します。
  1. Storage vMotion またはクローン作成を使用して、アップグレードされた VMFS-5 データストアからファイルを移行します。
  2. 空のアップグレードされたデータストアを削除します。
  3. 問題のあるデータストアを格納していた LUN が ストレージの追加 で使用できるようになったことを確認します。
  4. LUN にネイティブ VMFS-5 データストアを作成します。
VAAI UNMAP が正常に機能していることを確認するには:
  1. 新しいネイティブ VMFS-5 データストアにテスト用の仮想マシンを作成します。
  2. テスト用の仮想マシンを削除します。
  3. vmkfstools -y コマンドを使用して UNMAP の操作を再試行します。ESXi 5.5 ホストの場合は、「Using ESXCLI in vSphere 5.5 to reclaim VMFS deleted blocks on thin-provisioned LUNs (2057513)」を参照してください。
  4. これで、シン プロビジョニングされた SAN LUN 上で領域が正しく解放されます。
注意


Additional Information

ネイティブ VMFS-5 ボリュームには GPT パーティション テーブルがあります。LUN に GPT パーティション テーブルがあるかどうかを判断するには:

  1. パーティションのタイプをチェックするには、次のコマンドを実行します。

    # esxcli storage core device partition showguid

    出力例:

    Device Partition Layout GUID
    -------------------------------------------------------------
    naa.6090a078607099871de8a463b767816c 0 MBR N/A
    naa.6090a078607099871de8a463b767816c 1 MBR N/A
    naa.6090a0c820f0398e9108b5a86a01c017 0 GPT 00000000000000000000000000000000
    naa.6090a0c820f0398e9108b5a86a01c017 1 GPT aa31e02a400f11db9590000c2911d1b8


    この例には 2 つの LUN があります。

    • LUN 1: VMFS-5(VMFS-3 からアップグレード)MBR パーティション
      一意識別子: naa.6090a078607099871de8a463b767816c

    • LUN 2: VMFS-5 (ネイティブ VMFS-5) GPT パーティション
      一意識別子: naa.6090a0c820f0398e9108b5a86a01c017

  2. パーティションのオフセットをチェックするには、次のコマンドを実行します。

    # esxcli storage core device partition list

    出力例:

    Device Partition Start Sector End Sector Type Size
    -------------------------------------------------------------------------------------
    naa.6090a078607099871de8a463b767816c 0 0 3221237760 0 1649273733120
    naa.6090a078607099871de8a463b767816c 1 128 3221225280 fb 1649267277824
    naa.6090a0c820f0398e9108b5a86a01c017 0 0 3221237760 0 1649273733120
    naa.6090a0c820f0398e9108b5a86a01c017 1 2048 3221237727 fb 1649272667648


    LUN 1 の最初のパーティションのオフセットは 128 セクタで、これは 64 KB (128*512 バイト)です。LUN 2 の最初のパーティション(GPT パーティションを持つネイティブ VMFS-5 データストア)のオフセットは 2048 セクタで、これは 1 MB (2048*512 バイト)です。
Thin Provisioning Block Space Reclamation (VAAI UNMAP) does not work