ESXi5.0からESXi5.1 update 1にアップデートを行う手順を記載します。

一般的に公開されているアップデートの方法はいくつかありますが、今回は無償版のESXi5xを利用している方を対象とします。
※有償版はアップデートツールがありますしサポートも受けられるため

安全に確実にアップデートできる手順は以下の通りです。

アップデートファイルをダウンロードしESXiのデータストアに配置する

Vmware のサイトでアップデートファイルをダウンロードします。ダウンロードにはVmwareに登録が必要になります。今回ダウンロードしたパッケージはupdate-from-esxi5.1-5.1_update01.zipになります。※2013年6月時点で最新

ダウンロードしたZIPファイルをESXiのデータストアにアップロードします。 Vsphere client を利用してもSCPで転送してもどちらでもOKです。今回は以下の場所に配置することにします。

/vmfs/volumes/local/update/update-from-esxi5.1-5.1_update01.zip

vSphere Clientから SSH と ESXiシェルを有効化

[インベントリ] -> [構成] -> [セキュリティプロファイル] -> [プロパティ] で SSH 及び ESXiシェルを[手動で開始及び停止] で実行中にして、[ホストに連動して開始及び停止]とする

セキュリティプロファイルの変更

アップデートパッチを適用するのには、セキュリティプロファイルというものが”サポートされているコミュニティ”でないとアップデートが適用できないため、Vsphere Clientにて[インベントリ] -> [構成] -> [セキュリティプロファイル] でホストイメージプロファイル許容レベルにて”サポートされているコミュニティ”となるよう変更しておきます。

稼働している仮想マシンを全てシャットダウン

ESXiにSSHで接続する

ESXiにSSHで接続し、パッチを転送したフォルダに移動します。

※ESXiにSSHで接続を行う際はチャレンジレスポンス認証でないとログイン出来ません。

現時点の、Build 及び 適用VIB を確認

ESXiをメンテナンスモードにする。

※メンテナンスモードにしなくてもアップデートファイルを適用できてしまいますが、予期せぬ問題が発生したりするため”必ず”メンテナンスモードにしてからアップデートを実行してください。

GUIで行う場合はホストを右クリックし メンテナンスモードへの切り替えをクリック ESXi上で行う場合は以下のようなコマンドになります。

現在の状態を確認

Disableと出ていればメンテナンスモードではないということになります。

メンテナンスモードに切り替え方法

再度確認コマンドを入力すると今度はEnableとなっているはずです。これでメンテナンスモードになっています。

利用できるPatch Profileを確認

このように–depot=の後にダウンロードしたZIPファイルをフルパスで指定します。

実行結果

ESXi-5.1.0-20130402001-no-tools VMware, Inc. PartnerSupported
ESXi-5.1.0-20130401001s-no-tools VMware, Inc. PartnerSupported
ESXi-5.1.0-20130402001-standard VMware, Inc. PartnerSupported
ESXi-5.1.0-20130401001s-standard VMware, Inc. PartnerSupported

複数でてきますが、”s” が付いているのはセキュリティイメージなので通常は “s”無しのイメージを選択します。
no-toolsがVMware Toolsを含まないイメージなので、通常はStandardを選択します。
よって今回適用するパッケージはこちらです。

ESXi-5.1.0-20130402001-standard

アップデート

アップデートを行うコマンドに関しては複数あり、それぞれの環境により異なります。

気をつけるべきこと

気をつけなければいけないのはベンダー特有のカスタムイメージをインストールしている場合や、独自にVmwareのイメージをカスタマイズしてドライバーを追加している場合です。

VMware オリジナルのインストール CD に 入っていないデバイスドライバなどをベンダー各社が付け足したものがカスタムイメージですが、通常のアップデート方法を行うとベンダー固有のドライバー等が全てクリアーになりNWにつながらなくなったりストレージを読み込めなくなったりします。

よくみんなやってるアップデートコマンド

 

カスタムイメージを導入している場合

 

このように、通常アップデートであればZIPファイルを選択してアップデートしますが、カスタムイメージを利用している場合は、さらに適用するプロファイルを指定することになります。これで、ベンダー特有のドライバーや自分で入れたドライバーなどはそのままキープされた状態でESXiのアップデートが行えます。

※「vib install」というコマンドは、-vオプション と併用して使うもので、デバイスドライバーのような特定のコンポーネント (VIB) を“クリアインストール” するためコマンドです。そのため、ESXi のように “パッチ” と言いながら、実際はハイパーバイザー丸ごと提供されるものに対して「vib install -d」を使うと、ハイパーバイザー全体が VMware オリジナルの状態に “クリアインストール” され、ベンダーがアドオンしたドライバーや自分でいれたドライバーが消失してしまいます。

カスタムNICを適用しているESXIにそのままmZIPを適用してしまった場合のエラーメッセージ

No compatible network adapter found.
Please consult the products’s Hardware Compatibility Guide (HCG) for a list of support adapters.

esxi5-update-error

設定がクリアになってもOKでいろいろいじり倒してまっさらにしたいということであればesxcli software vib install -dでもOKです。

アドオンドライバを保持しつつ、ESXi ホストを更新する正しいコマンドは「esxcli software profile update」

Vmwareの公式KBはこちら

VMware KB 2020972: VMware Security Patching Guidelines for ESXi and ESX
http://kb.vmware.com/kb/2020972

※こちらのコマンドでアップデートすることをVmwareでも推奨しています。

適用後再起動

まとめ

気をつけなければいけないポイントは・・・

・必ずメンテナンスモードにする
・適用するプロファイルを間違えない
・アップデート時のコマンドを間違えない ※カスタムイメージを利用している場合

となります。