雑木林

頭の中の整理と忘れないための確認メモ

削除できない仮想マシンをリセットする方法

先日の大雨や台風の影響で我が家はここ1か月で2回ほど停電しました。
復旧のためにESXiを立ち上げなおすと消せない仮想マシンが出来上がっていました。
GUIだと消せなくて少し悩んだのでメモとして残します。
今考えるとコマンドで対象仮想マシンだけ消せば良かったと思いますが、こんなやり方もあるんだ程度にお考えください。

  • ESXi バージョン: 6.7.0
  • ESXi ビルド番号: 8169922

f:id:zokibayashi:20180905210144p:plain

対応方法

親なし状態の仮想マシンの再登録手順」が参考になりました。記事の手順通りで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). 仮想マシン未登録状態になるのでデータストアから再登録する f:id:zokibayashi:20180905220059p:plain

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>