壊れた ESXi を修復してみました。
ある日、気が付いたらvSphere Clientにエラーが表示されていました。
ESXiのストレージ障害のようです。
(しっかりしたUSBにインストールしていないESXiは、わりと頻繁に障害が発生します。)
ちなみに、私の環境では
- 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 31266782Number 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 976773134Number 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のバックアップ、リストアについての話でした。
Comments