vSphere クライアントを使ってシックプロビジョニング(Eager Zeroed)の VMDK を拡張すると、シックプロビジョニング(Lazy Zeroed) になってしまう。
search cancel

vSphere クライアントを使ってシックプロビジョニング(Eager Zeroed)の VMDK を拡張すると、シックプロビジョニング(Lazy Zeroed) になってしまう。

book

Article ID: 427205

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項: これは英文の記事 「Attempt to extend the size of an EagerZeroedThick VMDK from the vSphere Client might result in a LazyZeroedThick VMDK」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

vSphere クライアントを使って、シックプロビジョニング(Eager Zeroed)の VMDK を拡張すると、拡張された部分が シックプロビジョニング(Lazy Zeroed) になってしまう。

Environment

VMware vSphere ESXi 6.5
VMware vSphere ESXi 6.7
VMware vSphere ESXi 7.x

Resolution

この事象は、ESXi 8.0 で修正されています(プロビジョニングタイプが維持されます)。ESXi 側での修正ですので、vCenter が 8.x だけでは修正されません。

回避策:

  1. もし VMDK を拡張する必要があり、シックプロビジョニング (Eager Zeroed) にしたい場合は、以下のコマンドを実行します。(仮想マシンはパワーオフにする必要があります)

    ~ # vmkfstools -X 6G -d eagerzeroedthick  /vmfs/volumes/<datastorename>/<vmname>/<vmname>.vmdk
    Grow: 100% done.
    All data on  /vmfs/volumes/<datastorename>/<vmname>/<vmname>.vmdk will be overwritten with zeros from sector <8388608> onwards.
    Zeroing: 100% done.

    注: '-X 6G' は、拡張後の新しい VMDK のサイズを表わしています(拡張するサイズではありません)。このケースでは、6GB です。
    もし GUI を使用して拡張する場合、このディスク拡張に関してオプションを制御することはできません。結果的に、シックプロビジョニング(Eager Zeroed) の VMDK が自動的にシックプロビジョニング(Lazy Zeroed) になります。
    さらなる情報は、仮想ディスクの拡張 を参照してください。

  2. もしすでに vSphere クライアント (GUI) を使って、シックプロビジョニング(Eager Zeroed) を拡張し、GUI 上もシックプロビジョニング(Lazy Zeroed) になってしまった場合、以下のコマンドでシックプロビジョニング(Eager Zeroed) に変換します。(仮想マシンはパワーオフにする必要があります)

    vmkfstools --eagerzero  /vmfs/volumes/<datastorename>/<vmname>/<vmname>.vmdk

    さらなる情報は、Zeroedthick 仮想ディスクから EagerZeroedthick ディスクへの変換 を参照してください。

  3. 確認方法
    以下のコマンドを実行してください。
    vmkfstools -t0 /vmfs/volumes//<datastorename>/<vmname>/<vmname>.vmdk
    このコマンドは、そのファイルのファイルオフセットと物理位置のマッピングを表示します。

    もし出力が以下のように二つの異なる部分で表示されたら、ディスクは Lazy Zeroed と Eager Zeroed の部分に分かれています。('Z' は Lazy Zeroed であることを表しています)
    Mapping for file /vmfs/volumes//<datastorename>/<vmname>/<vmname>.vmdk(4294967296 bytes in size):
    [           0:  2147483648] –> [VMFS — LVID:4e5cda72-26b067db-5bc1-d8d3855ff8b4/4e5cda72-14e9dc64-690f-d8d3855ff8b4/1:( 581291737088 –>  583439220736)]
    [  2147483648:  2147483648] –> [VMFS Z- LVID:4e5cda72-26b067db-5bc1-d8d3855ff8b4/4e5cda72-14e9dc64-690f-d8d3855ff8b4/1:( 583439220736 –>  585586704384)]
    さらなる情報は、 Determining if a VMDK is zeroedthick or eagerzeroedthick (1011170) を参照してください。

  4. vCenter サーバーでの仮想マシンの情報を更新する。
    以下のコマンドを実施してください。
    vim-cmd vmsvc/reload <vmid>
    さらなる情報は、仮想マシンをインベントリから削除しないで .vmx ファイルをリロードする を参照してください。