マルチライター等を使用して仮想マシン間で仮想ディスクを共有させる場合、
仮想ディスクタイプがシックプロビジョニング(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