壊れた ESXi を修復してみました。

 

ある日、気が付いたらvSphere Clientにエラーが表示されていました。

ESXiのストレージ障害のようです。


(しっかりしたUSBにインストールしていないESXiは、わりと頻繁に障害が発生します。)

esxi_dev_error1.png

ちなみに、私の環境では

  • ESXiはUSBメモリにインストール
  • データストアはローカルディスクに作成

しています。

 

今回バックアップ・リストアしたのは

ESXi 5.1 ですが、ESX 5.0 でも同じ感じだと思います。

壊れたのは、ESXi の部分なので、そこだけ再インストールします。

 


1.ESXiのバックアップ


まず、必ず再起動する前にESXi構成情報のバックアップを取得しておきます。
※再起動すると現在のramfs上の設定情報が消えてしまいます。

※この時リソースプールの情報も一緒に記録しておいたほうがよさそうです。(メモ帳とかに)

 

今回はvMAからバックアップを取得しています。

vSphereCLI(esxcfg-cfgbackup.pl)が入っていれば、vMAでなくてもOKです。

コマンドラインは、Windows版のesxcfg-cfgbackupでも同じはずです。

vi-admin@localhost:~/work> esxcfg-cfgbackup --save --server=192.168.0.244 --username=root esxi51_backup_20121216.tar.gz
Enter password:  ★パスワードを入力
Saving firmware configuration to esxi51_backup_20121216.tar.gz ...

vi-admin@localhost:~/work> ls -l esxi51_backup_20121216.tar.gz ★作成されたバックアップファイルを確認
-rw------- 1 vi-admin root 24227 2012-12-16 12:27 esxi51_backup_20121216.tar.gz

  • --save は 「設定を保存する」。
  • --server には、ESXiのIPアドレスを指定。
  • 最後の~tar.gz がバックアップファイル名

です。

 


2.一応、ESXiを再起動してみた


(期待通り?)一部の構成情報がおかしくなっています。

とりあえず、気づいた症状は下記です。

  • 削除されたはずのVMが復活している。
    ただしVMDKは存在しないので、「Unknown 2 (アクセス不可)」 などとなっている。
  • 新規作成したVMが見えなくなっている。(当然VMDKは存在する)
  • 作成した仮想スイッチ、ポートグループが消滅している
  • リソースプールが削除されている。

 

問題がある領域は、VMが配置されているVMFS領域ではなく
ESXiがインストールされている領域(下記の青い部分)だけなので
VMFSはそのまま、ESXiだけ再インストールして復旧します。

~ # fdisk -l

***
*** The fdisk command is deprecated: fdisk does not handle GPT partitions. Please use partedUtil
***

Found valid GPT with protective MBR; using GPT

Disk /dev/disks/mpx.vmhba32:C0:T0:L0: 31266816 sectors, 29.8M ★こわれたのは、USB部分(ちなみに32MBです)
Logical sector size: 512
Disk identifier (GUID): 225c42d9-dd3b-4e2d-8060-ec33d1d6114c
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 31266782

Number Start (sector) End (sector) Size Code Name
1 64 8191 8128 0700
5 8224 520191 499K 0700
6 520224 1032191 499K 0700
7 1032224 1257471 219K 0700
8 1257504 1843199 571K 0700
Found valid GPT with protective MBR; using GPT  ★ここから下のデータストア部分は無事そう

Disk /dev/disks/t10.ATA_____WDC_WD5000AAKX2D753CA1________________________WD2DWMAYUU525859: 976773168 sectors, 931M
Logical sector size: 512
Disk identifier (GUID): 8f0a54d6-f554-4353-84f7-8d0f064df6f0
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       976768064        931M   0700
~ #

 

3. ESXiの再インストール

 

無償版のESXiハイパーバイザだと

VMが乗っている状態で esxcfg-cfgbackup リストアができないようなので
一度 ESXi を再インストールして、設定をリストアします。

 

もともとESXiがインストールされていた領域に、ESXiを再インストールします。
このとき、VMFSの領域にインストールしないように注意します。

(データストアのVMはそのままにしておきたいため)

 

再インストール後、IPアドレスだけは設定しておきます。

 

 

4. ESXi 設定情報のリストア

 

実行すると、自動的にESXiがメンテナンスモードになり、再起動されます。

再起動を待って、vSphere Clientで接続して環境が復旧したことを確認します。

 

バックアップで使用した esxcfg-cfgbackup コマンドに --load をつけることで、

設定のリストアになります。

ここでもvMAからコマンド実行していますが、vSphereCLIが入っていればどこからでもOKです。

vi-admin@localhost:~/work> esxcfg-cfgbackup --load --force --server=192.168.0.244 --username=root esxi51_backup_20121216.tar.gz
Enter password: ★パスワードを入力
The restore operation will reboot the host.
Type 'yes' to continue:
yes  ★「yes」と入力する。
Uploading config bundle to configBundle.tgz ...
Performing restore ...
vi-admin@localhost:~/work>  →自動的にESXiは再起動される。

 

 

5. リストアの結果

 

リストア後の環境を確認したところ、下記のような感じでした。(気づいたものだけですが)

 

  • ライセンス情報もリストアされた。
  • リソースプールは復旧されなかった。
    →ただのリソース制限情報なので、作成しなおしでも復旧はできる。
    →エラーが発生したら、リソースプールの設定を控えておいたほうがよさそう。
  • 仮想スイッチ設定、ポートグループ設定は復旧した。
  • VMの登録情報は復旧した。
    (バックアップ所得時に削除していたものは消えていて、
    作成されていたものは登録された状態)

 

 

以上、ESXiのバックアップ、リストアについての話でした。