今回はクローンで作成した仮想マシンが起動できないといった事象について
記載します。
クローンで作成した仮想マシンが起動できない事象
クローン作成時のオプションにて [作成後に仮想マシンをパワーオン] にチェック
を入れたにも関わらず、パワーオンされていない。
クローンで作成した仮想マシンをパワーオンすると「ファイルのロックに失敗しました。」
とエラーが出力され、パワーオンできない。
上記のような事象が発生し、クローンで作成した仮想マシンの [設定の編集]
から仮想ディスクを確認してみるとディスクファイルにクローン元の
仮想マシンのディスクファイルが参照されています。
vmx ファイル上でもクローン元の仮想マシンのディスクファイルが参照
されています。
displayName = "test-clone"
guestOS = "windows9srv-64"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "/vmfs/volumes/63a37eaf-0d8c6ac2-0461-1866da82168c/Win2016-test/Win2016-test-000001.vmdk"
sched.scsi0:0.shares = "normal"
sched.scsi0:0.throughputCap = "off"
scsi0:1.deviceType = "scsi-hardDisk"
scsi0:1.fileName = "/vmfs/volumes/63a37eaf-0d8c6ac2-0461-1866da82168c/Win2016-test/Win2016-test_1-000001.vmdk"
sched.scsi0:1.shares = "normal"
sched.scsi0:1.throughputCap = "off"
事象の原因
上記で記載した通り、クローンで作成された仮想マシンの仮想ディスクに
クローン元仮想マシンの仮想ディスクファイルが参照されているため、
ファイルをロックできずに、パワーオンに失敗していることが原因となり
ます。
何度かクローンを行なってみたところ、クローン作成時のオプションで
「この仮想マシンのハードウェアをカスタマイズします」 にチェックを
入れた状態でクローンを作成すると事象が再現することを確認しました。
また、VMware 社からは以下の KB が公開されています。
Unable to power on cloned virtual machine with error: "File system specific implementation of LookupAndOpen[file] failed" (82057)
https://kb.vmware.com/s/article/82057
動作上はバグに見えますが、上記 KB 82057 を見ると Related Versions
が ESXi 6.0 からとなっており、現在まで修正されていない理由等は不明
でした。
(ESXi 7.0 でも同様の事象になることを確認済み。)
クローンで作成した仮想マシンがパワーオンできない場合の対処方法
クローンで作成した仮想マシンの仮想ディスクに、クローン元のディスクファイル
が参照されており、パワーオンに失敗する場合は以下の対処を実施する必要が
あります。
1, クローンで作成された仮想マシンの [設定の編集] を開く。
2, 仮想ディスクを削除する。
(※ [データストアからファイルを削除します] にはチェックしない。)
3, [既存のハードディスク] を追加し、クローンで作成された仮想マシン
フォルダ内に存在する仮想ディスクを付け直します。
4, 設定を保存させ、仮想マシンがパワーオン可能か確認します。
コマンドで実施する手順も KB82057 に記載されていますが、UI 上から
実施するのが容易かと思います。
また、 クローン作成前であれば 、一旦「この仮想マシンのハードウェアを
カスタマイズします」 にチェックを入れずにクローンを作成し、
クローン作成完了後に仮想マシンのカスタマイズを行うといったオペレー
ションでの回避も可能と思います。