【VMware】仮想マシンの共有仮想ディスク(vmdk) の容量を拡張する

マルチライター等を使用して仮想マシン間で仮想ディスクを共有させる場合、
仮想ディスクタイプがシックプロビジョニング(Eager Zeroed) である必要があります。

シックプロビジョニング(Eager Zeroed) の仮想ディスクの容量を vSphere Client や
Host Client 上から拡張してしまった場合、拡張された容量は 0 埋めされず、ディスク
タイプがシックプロビジョニング(Lazy Zeroed) になってしまうため、仮想マシンを
パワーオンすることができなくなります。

仮想ディスクがシックプロビジョニング(Lazy Zeroed) となってしまった仮想マシンを
パワーオンしようとした場合、以下画像のように「仮想ディスクが「シック」オプション
を使用して作成されていることを確認してください。」
といったようなエラーが表示され、
仮想マシンのパワーオンができなくなります。

本記事では共有仮想ディスクの容量を拡張する方法と vSphere Client 等から拡張してしまった
ことでシックプロビジョニング(Lazy Zeroed) になってしまった場合の対処方法について記載
します。

共有仮想ディスクを拡張する方法

仮想ディスクを拡張する仮想マシンを停止させます。

拡張予定の仮想ディスクへアクセス可能な ESXi のシェルへ接続します。

以下コマンドで仮想ディスクを拡張します。

vmkfstools -X 60G -d eagerzeroedthick /vmfs/volumes/Datastore_name/virtual_Machine_folder/virtualmachinedisk.vmdk
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
・ "-X" オプションの後に拡張後の容量を指定します。
    60G と指定した場合、拡張完了後に仮想ディスクの容量が 60G になります。
     (拡張前の状態から 60G 分追加されるわけではありません。)

・ 指定する仮想ディスクは flat.vmdk ではありません。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

参考までに私の自宅環境で仮想ディスクを 100G → 103G に拡張した場合のコマンドの
実行結果は以下のようになります。

[root@localhost:/vmfs/volumes/63053f19-80686c0a-cbd4-000af7c1d73c/multiwriter01] vmkfstools -X 103G -d eagerzeroedthick /vmfs/volumes/63053f19-80686c0a-cbd4-000af7c1d73c/multiwriter01/multiwriter01_1.vmdk
Grow: 100% done.All data on '/vmfs/volumes/63053f19-80686c0a-cbd4-000af7c1d73c/multiwriter01/multiwriter01_1.vmdk' will be overwritten with zeros from sector <209715200> onwards.
vmfsDisk: 1, rdmDisk: 0, blockSize: 1048576
Zeroing: 100% done.

UI 上でも拡張した容量を反映させるため、KB 1026043 の手順で vmx のリロード
  を実施し、ブラウザも更新してください。

 ・インベントリから仮想マシンを削除せずに vmx ファイルをリロードする (1026043)
  https://kb.vmware.com/s/article/1026043?lang=ja

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
・ 仮想ディスクを共有している双方の仮想マシンにて vmx のリロードを実施してください。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

仮想マシンがパワーオン可能か確認してみてください。

 万が一、パワーオン不可の場合には以下 KB 1011170 の手順で仮想ディスクが
 シックプロビジョニング(Eager Zeroed) になっているか確認してみてください。

 ・Determining if a VMDK is zeroedthick or eagerzeroedthick (1011170)
  https://kb.vmware.com/s/article/1011170?lang=en_us

 シックプロビジョニング(Eager Zeroed) になっているにも関わらず、パワーオン
 できない場合には、その他の構成に問題があることが考えられます。
 (ここで構成の問題を網羅的に記載することは困難なので、サポートログと合わせて
  サポートへ問い合せしてください。)

シックプロビジョニング (Eager Zeroed) が (Lazy Zeroed) になってしまった場合の対処方法

vSphere Client や Host Client から仮想ディスクを拡張し、シックプロビジョニング
(Lazy Zeroed) になってしまった場合、コマンド等を使用して Eager Zeroed に戻す
必要があります。

コマンド(vmkfstools)からシックプロビジョニング (Eager Zeroed) に戻す方法

対象の仮想マシンがパワーオフ状態であることを確認します。

拡張予定の仮想ディスクへアクセス可能な ESXi のシェルへ接続します。

以下コマンド(vmkfstools) にてシックプロビジョニング (Lazy Zeroed)
  になってしまった仮想ディスクをシックプロビジョニング (Eager Zeroed)
  に戻します。

vmkfstools -k(--eagerzero) <対象仮想ディスク>

  以下 KB 1011170 の手順で仮想ディスクがシックプロビジョニング (Eager Zeroed)
  に戻っているか確認します。

 ・Determining if a VMDK is zeroedthick or eagerzeroedthick (1011170)
  https://kb.vmware.com/s/article/1011170?lang=en_us

UI 上で拡張した容量を反映させるため、KB 1026043 の手順で vmx のリロード
  を実施し、ブラウザも更新してください。

 ・インベントリから仮想マシンを削除せずに vmx ファイルをリロードする (1026043)
  https://kb.vmware.com/s/article/1026043?lang=ja

エラーが解消され、仮想マシンがパワーオンできるようになったか確認してみてください。

参考

・Powering on the virtual machine fails with the error: Thin/TBZ disks cannot be opened in multiwriter mode (1033570)
  https://kb.vmware.com/s/article/1033570?lang=en_us
タイトルとURLをコピーしました