仮想化通信

日本仮想化技術株式会社の公式エンジニアブログ

VMware ESXi 5.0へのパッチのインストール方法

 最近になって、ようやっとVMware ESXi 5.0を使った検証作業が増え始めました。私が検証を担当しているわけではないのですが、サーバーの準備や設定のアドバイスなど補佐的なところをしている状況です。  さて、今作業中の検証環境で大容量のストレージが必要とのことで、iSCSIストレージの準備をしたのですが、設定した後からブートが極端に遅くなったり、iSCSIの設定をしても反応が返ってこなくなったりするようになりました。調べると、次のような記事がナレッジベースにあがっていて、当てはまっているかも知れない、ということでアップデートすることにしました。

 ESXi 5.x boot delays when configured for Software iSCSI

 この問題にあわせて、ZIP形式のパッチと、パッチ済のISOイメージ(こちらは有償ライセンスを所持しているユーザーのみ)が配布されています。が、ZIP形式のパッチをあてようとしたところ、私が知っていたvihostupdate.plを使ったアップデートはできなくなっていました。結局、この場は評価利用中だったvCenter ServerとUpdate Managerでアップデートをしました。

 うーん、このままではちょっと悔しいので、あらためてパッチのあて方を勉強することにしました。

パッチのあてかた

 検索すると、最近はesxcliコマンドを使用してアップデートをするようです。やり方を丁寧に紹介しているブログもありますが、自分で試して、他よりちょっと?だけ手順を省ける方法がありましたのでこちらを紹介します。

  • パッチのZIPファイルをデータストアにアップロードします。今回はデータストア「datastore1」の一番上のディレクトリに配置している状態を例とします。
  • ESXiホストをメンテナンスモードにします。
  • vSphere CLIのコマンドを起動して、次のコマンドを実行します(2011/1/26更新: software vib installをsoftware vib updateに変更)。
    >esxcli --server <サーバーのIPアドレス> --username <ユーザー名> software vib update -d [datastore1]ESXi500-201111001.zip
  • 完了すると、「Message: The update completed successfully, but the system needs to be reboot ed for the changes to be effective.(アップデートが成功しました。ただし、再起動が必要です)」というメッセージと、パッケージのインストール状況表示されるので、ESXiホストを再起動して、メンテナンスモードを解除してやります。

 ちなみに、よその手順との違いは、ESXiのSSHを有効にせずにvSphereCLIに付属のコマンドを使用している点です。角括弧でデータストアを指定してその後ろにパスをつけると、データストアにあるファイルを使ってくれました。SSHを有効にすると、vCenter Serverに登録している環境では警告として表示されてしまいますから、警告が出ていると気になってしまう方におすすめかもしれません(?)。

メモ

 いま(2011/11/27現在)のところESXi 5.0へのパッチは、ESXi500-201109001とESXi500-201111001の二つがリリースされていますが、最初のBuild 469512からアップデートするときは、ESXi500-201111001を適用するだけで良いようです。これを適用した時に、ESXi500-201109001に含まれていたtools-lightのアップデートもされていました。  また、ESXi500-201111001のインストールが済んでいる状態でESXi500-201109001をインストールすると、esx-baseのバージョンが戻ります(した)。バージョンダウンのチェックはしていないらしいのでご注意アレ。(2012/1/26追記)esxcliを使用してvibを適用する際には、installコマンド以外にもupdateコマンドが含まれていました。コメントにてご指摘いただきましてありがとうございました。

(2012/1/26追記)参照: http://pubs.vmware.com/vsphere-50/topic/com.vmware.vcli.ref.doc_50/esxcli_software.html