プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

vihostupdateによるESXi 4.0 から 4.1 へアップグレード

仮想環境がESXi 4.0U4だったのですが、特に不便もないのでこれで使ってました。ところが、最近USB機器を使う必要が出てきたので困っていたら、ESXi 4.1ならUSBパススルーという機能があり、ゲストOSでUSB機器を使うことができるそうです。

そこで、いまさらですが、ESXi 4.0をESXi 4.1にアップグレードしたので、手順をメモに残しておきます。

 

アップグレード前:ESXi 4.0 U4

アップグレード後:ESXi 4.1 U3

PC:Dell Power Edge T105

 

なお、主に下記のサイトを参考にさせていただきました。

 

ドキュメントの確認

まず、『ESX 4.0 から ESX 4.1 へのアップグレードについて』のページを読み、アップグレード方法を選択します。ESXiなので、vihostupdate を使う方法をとります。

次に、『vSphere アップグレード ガイド』の必要そうな個所に目を通しておきます。

これを見ると、vihostupdate を使うには、vSphere CLI が必要なのと、アップグレード前にはESXiの構成ファイルをバックアップしたほうがよさそうです。

 

vSphere CLI インストール

手元のWindows PCにvSphere CLI が入っていなかったのでまずこれをインストールします。VMwareのサイトのvSphere 4.0 のダウンロードページの『ドライバーとツール』タブの『Automation Tool and SDKs』に行くと、CLIツールのダウンロードができると思います。

なお、ダウンロードしたのは、vSphere CLI 4.0U2です。

 

(参考)

VMware vSphere CLI をインストールする / ESXi 4.0 Update 2

 

ホスト構成のバックアップ

vSphere アップグレード ガイド』のp.68に従ってホスト構成のバックアップを取っておきます。

C:\Program Files (x86)\VMware\VMware vSphere CLI>cd bin

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>vicfg-cfgbackup.pl --server
 192.168.xxx.xxx -s c:\work\esxi4.0_host_confg.20130105.bak
Enter username: root
Enter password:
Saving firmware configuration to c:\work\esxi4.0_host_confg.20130105.bak ...

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>;

なお、バックアップ先のフォルダに書き込み権限がない場合、何もエラーメッセージが表示されないのでご注意ください(当然、ファイルも作成されていません)。書き込み権限のあるフォルダ(とファイル名)を指定すると問題なくファイルが作成されます。

 

ちなみに、CLIツールの詳しい説明は『VMware vSphere 4.0 のドキュメント』のページから、『vSphere コマンドライン インターフェイスのインストールおよびリファレンス ガイド』を参照してください。

 

vihostupdateによるアップグレード

まずは、アップグレードにつかうファイルをダウンロードします。『VMware vSphere Hypervisor 4.1ダウンロード センター』にアクセスすると、ログイン後、アップグレードに必要なファイルがダウンロードできます。今回は upgrade-from-esxi4.0-to-4.1-update03-800380.zip のファイルをダウンロードしました。

 

次に、vSphere Client (この時点ではバージョン4.0)を起動して、すべての仮想マシンが停止していることを確認します。

ホストアイコン上で右クリックし、『メンテナンスモードへ移行』を選択します。

スタートメニューから『すべてのプログラム』→『VMware』→『VMware vSphere CLI』→『Command Prompt』を選択します。

ここで、『vSphere アップグレード ガイド』のp.75に書いてある通りにコマンドを実行すればよいはずだったのですが、実際に行うと下記のようなメッセージがでてきました。

C:\Program Files (x86)\VMware\VMware vSphere CLI>cd bin

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>vihostupdate.pl --server 19
2.168.xxx.xxx -i -b c:\work\upgrade-from-esxi4.0-to-4.1-update03-800380.zip -B ESXi
410-GA-esxupdate
Enter username: root
Enter password:
Please wait patch installation is in progress ...
No matching bulletin or VIB was found in the metadata.'ESXi410-GA-esxupdate' cou
ld not be found in the metadata.

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>vihostupdate.pl --server 19
2.168.xxx.xxx -i -b c:\work\upgrade-from-esxi4.0-to-4.1-update03-800380.zip -B ESXi
410-GA
Enter username: root
Enter password:
Please wait patch installation is in progress ...
No matching bulletin or VIB was found in the metadata.'ESXi410-GA' could not be
found in the metadata.

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>

多分、ダウンロードしたアップグレードのファイル(バンドル)に含まれているbulletinの名前が違うのだろうと推測できたので、bulletinの名前を表示できないかとCLIのリファレンスを調べると-lオプションでできそうです。

そこで、

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>
C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>vihostupdate.pl --server 19
2.168.xxx.xxx -l -b c:\work\upgrade-from-esxi4.0-to-4.1-update03-800380.zip
Enter username: root
Enter password:

---------Bulletin ID---------   ----------------Summary-----------------
ESXi40-TO-ESXi41UPDATE03        Upgrade from ESXi 4.0 to ESXi 4.1 Update 03
ESXi410-GA-esxupdate-v2         ESXi pre-upgrade Bulletin

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>

としたら、bulletin名が表示されました。あとはこれを使って失敗した際と同じことをしてやります。

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>
C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>vihostupdate.pl --server 19
2.168.xxx.xxx -i -b c:\work\upgrade-from-esxi4.0-to-4.1-update03-800380.zip -B ESXi
410-GA-esxupdate-v2
Enter username: root
Enter password:
Please wait patch installation is in progress ...
Host updated successfully.

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>vihostupdate.pl --server 19
2.168.xxx.xxx -i -b c:\work\upgrade-from-esxi4.0-to-4.1-update03-800380.zip -B ESXi
40-TO-ESXi41UPDATE03
Enter username: root
Enter password:
Please wait patch installation is in progress ...
The update completed successfully, but the system needs to be rebooted for the c
hanges to be effective.

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>

うまくインストールできたようです。インストールした内容を確認しておきます。

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>
C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>vihostupdate.pl --server 19
2.168.xxx.xxx --query
Enter username: root
Enter password:
---------Bulletin ID--------- -----Installed----- ----------------Summary-------
----------
ESXi410-GA-esxupdate-v2       2013-01-05T16:28:37 ESXi pre-upgrade Bulletin

ESXi40-TO-ESXi41UPDATE03      2013-01-05T16:34:02 Upgrade from ESXi 4.0 to ESXi
4.1 Update 03

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>

問題なさそうです。

あとは、vSphere Client でメンテナンスモードを終了させます。ついで、vSphere Client でホストを再起動させます。

ESXi ホストのコンソールで起動後の画面を見ると無事ESXi 4.1にアップグレードできていることがわかります。

 

vSphere Client のアップグレード

この時点で、ESXiホストが4.1になっているので、今まで使っていたvSphere Client で接続すると自動的にアップグレード用のインストーラがダウンロードされます。

vSphere Client 4.0 を一旦アンインストールして、vSphere CLient 4.1 を改めてインストールします。

新しいvSphere Client でESXiホストに接続すると、メンテナンスモードになっているので、メンテナンスモードを終了させておきます。

vSphere Client からESXiのバージョンを確認すると、これも4.1 (Build 800380)になっていたのでOKだと思います。

 

ゲストOSのVMware Toolアップグレード

最後に各ゲストOSを起動して、VMware Toolsのアップグレードを行います。

これで、一連の作業は完了です。