先日の大雨や台風の影響で我が家はここ1か月で2回ほど停電しました。
復旧のためにESXiを立ち上げなおすと消せない仮想マシンが出来上がっていました。
GUIだと消せなくて少し悩んだのでメモとして残します。
今考えるとコマンドで対象仮想マシンだけ消せば良かったと思いますが、こんなやり方もあるんだ程度にお考えください。
- ESXi バージョン: 6.7.0
- ESXi ビルド番号: 8169922
対応方法
「親なし状態の仮想マシンの再登録手順」が参考になりました。記事の手順通りでOKです。
(1). SSH接続を有効化する
[ナビゲータ]より[ホスト]を右クリックして、[サービス]から[SSHの有効化]をクリックします。
(2). メンテナンスモードにする
[ナビゲータ]より[ホスト]を右クリックして、[メンテナンスモードへの切り替え]をクリックします。
(3). SSH接続してhostdを停止します
[root@XX:~] /etc/init.d/hostd stop watchdog-hostd: Terminating watchdog process with PID 2109720 hostd stopped.
(4). vmInventory.xmlを移動します(きっと削除してもよい)
[root@XX:~] mv /etc/vmware/hostd/vmInventory.xml /etc/vmware/hostd/vmInventory.xml.bak
(5). hostdを再開します
[root@XX:~] /etc/init.d/hostd start hostd started.
(6). メンテナンスモードを戻す [ナビゲータ]より[ホスト]を右クリックして、[メンテナンスモードの終了]をクリックします。
(7). 仮想マシン未登録状態になるのでデータストアから再登録する
vmInventory.xmlの中身
インベントリに登録された仮想マシン(vmx)の情報が載ってるようです。
元ファイルと見比べると削除した仮想マシンが何故か残っていたのが原因だったようです。。。
[root@XX:~] cat /etc/vmware/hostd/vmInventory.xml <ConfigRoot> <ConfigEntry id="0000"> <objID>1</objID> <secDomain>8</secDomain> <vmxCfgPath>/vmfs/volumes/578c835d-7436ba68-464b-80ee735d7d52/maintenance01/maintenance01.vmx</vmxCfgPath> </ConfigEntry> <ConfigEntry id="0001"> <objID>2</objID> <secDomain>9</secDomain> <vmxCfgPath>/vmfs/volumes/578c835d-7436ba68-464b-80ee735d7d52/ns01/ns01.vmx</vmxCfgPath> </ConfigEntry> <ConfigEntry id="0002"> <objID>3</objID> <secDomain>10</secDomain> <vmxCfgPath>/vmfs/volumes/578c835d-7436ba68-464b-80ee735d7d52/st03/st03.vmx</vmxCfgPath> </ConfigEntry> <ConfigEntry id="0003"> <objID>4</objID> <secDomain>11</secDomain> <vmxCfgPath>/vmfs/volumes/578c835d-7436ba68-464b-80ee735d7d52/WinClient/WinClient.vmx</vmxCfgPath> </ConfigEntry>