VMware ESXi 4.0 に Update の適用をサボり続けて幾星霜。4.1 の新機能 「USB パススルー」 に目がくらみ、ようやくアップグレードを決意したのが前回の話

vSphere Client 4.0 と一緒に vSphere Host Update Utility 4.0 をインストールしてあったので、これ一発で片付くことを期待して VMware 社サイトからダウンロードした upgrade-from-ESXi4.0-to-4.1.0-0.0.260247-release.zip を指定したものの、以下のエラーを吐いて失敗してしまった (日英双方の表示)。

・日本語エラー
'VirtualInfrastructure.Utils.HttpWebRequestProxy' のタイプ初期化子が例外をスローしました。

・英語エラー
The type initializer for 'VirtualInfrastructure.Utils.HttpWebRequestProxy' threw an exception.

ひょっとして Update を経由しないと 4.1 にはできないのかと思い、同サイトで配布されている ESXi-4.0.0-1.9.208167-upgrade-release.zip を試してみたが、これもダメだった。では vSphere Client が 4.0 なのが原因かと vSphere Client 4.1 をインストールするも、やはり vSphere Host Update Utility が上手く動かない。USB メモリから起動する ESXi だとマズかったりするのか・・・。

仕方がないので (原因不明)、他のサイトを参考に、コンソールから直接実行することにした。

アップデートの手順は次の通り。

  1. 作業マシンに vSphere Client を 4.1.0 をインストール。
  2. vSphere Client で ESXi 4.0 にログイン。
  3. VMware 社サイトから upgrade-from-ESXi4.0-to-4.1.0-0.0.260247-release.zip を入手し、作業マシン上で展開。
  4. "3." で生成されたファイル群を、vSphere Client の Datastore Browser で ESXi 4.0 にアップロード。
  5. ESXi 4.0 をメンテナンス・モードに変更。
  6. コンソールまたは SSH 経由で、ESXi 4.0 にログイン。
  7. アップデート・コマンドを実行。
  8. ESXi を再起動。
  9. ESXi への SSH ログインを許可。

"1." の実施はこのタイミングではなく、ESXi 4.1 へのアップデート完了後でも構わないが、vSphere Client 4.0 では ESXi 4.1 にログインできないので、どのみち必要になる。

vSphere Client 4.1 をインストール後に vSphere Client を起動すると、ログイン先の ESXi のバージョンに合わせて、vSphere Client の 4.1 や 4.0 が自動選択されるようになる。この辺の挙動は、VMware Server 2.0 や ESXi 3.5 へのログイン時に起動する VMware Infrastracture Client と同じだ。

尚、ESXi のアップデート前に vSphere Client 4.1 をインストールする場合は、勢い余って事前に 4.0 をアンインストールしないように注意。その後の手順で ESXi 4.0 を操作できず、改めて vSphere Client 4.0 をインストールし直す羽目になる。

"3." でアップデーターから展開されるファイルは、以下の 5ファイル。適当なフォルダーに入れてフォルダーごとアップロードすると、扱いやすい。

  • metadata.zip
  • upgrade_info.xml
  • vmware-esx-esxupdate-esxi-4.1.0-0.0.260247.i386.vib
  • vmware-esx-firmware-4.1.0-0.0.260247.i386.vib
  • vmware-esx-tools-light-4.1.0-0.0.260247.i386.vib

"5." は事前に該当 ESXi 上の全仮想マシン (以下 VM) を停止させておき、インベントリの ESXi ホストを右クリック → "Enter Maintenance Mode" で切り替える。

"7." は、"3." のファイル群と同じ場所 (フォルダーごとアップロードした場合はそのフォルダー内) で、次のコマンドを実行する。

・ESXi をアップデート
# esxupdate update –m metadata.zip

コマンドが正常終了すれば、ESXi を再起動する。

最後の "9." は、個人的には心の平安を保つために欠かせない設定だ。ESXi 4.0 とは設定方法が変わったが、今回の方がわかりやすい。ESXi 4.1 起動後のメイン画面で、"Troubleshooting Options" → "Enable Remote Tech Support (SSH)" を有効にすることで、今まで通り SSH が使えるようになった。4.0 で苦肉の策として採用していた /etc/rc.local による 「無理やり cron ジョブ登録」 も、そのまま流用できる。

これで今回のアップグレードの最大の目的だった 「USB パススルー」 で、(裸の内蔵) SATA HDD を VM から利用できるようになった。ひとまず実験的に軽量 VM (Debian GNU/Linux 5.0 を採用) を 1台用意し、比較的速度の出るメインのバックアップ・データ保存先から鮮度の低い (=古い世代の) バックアップ・データを移動させたり、あまり高頻度でバックアップする必要がない種類のデータ等を、ゆっくりコピーさせることにする。

「ゆっくりコピー」 と言うのは、SATA HDD を USB 2.0 経由で使うことによる弊害。我が家の環境ではどれだけ頑張っても 10MB/s に届かない程度の書き込み速度しか出ないが、もしここで素晴らしい I/O 性能を発揮し過ぎて ESXi 親機の負荷を高め、他の VM のリソースを奪ってしまっても困る。この USB 2.0 の転送速度のボトルネックがいい具合にブレーキになっていると考えれば、逆によかったのかもしれない。

いずれにせよ、我が家で仮想化環境専用ストレージ構築に立ちはだかる壁 (=妻) は絶望的に高いので、こう言う小細工ができるようになったのは、非常にありがたい。

ところで、ESXi 4.1 ではシェル上で du コマンドが普通に使えるが、4.0 には存在しなかったような・・・。

Comments are closed.