VMware ESXi に update2パッチを適用する方法

vmwareesxi-update2-patch-sam

VMwareの仮想化基盤ソフトウェアであるESXiを導入・運用している企業様は多いと思います。弊社のお客様でも、ESXiによるサーバ仮想化を運用しているお客様も多数いらっしゃいます。弊社で導入・保守を行っているお客様は定期的にメンテナンスを行っておりますが、たまに保守を行っていない仮想化環境の調査などを行う機会があると、意外とパッチを適用していないESXi環境があります。サーバ仮想化で利用するESXiは基本的にLinuxベース(だと思われる。VMware社はアナウンスしていませんので推測になりますが。)OSが動作しています。このESXiにも、物理サーバと同様にセキュリティパッチやバグフィックス用のパッチがリリースされていますので適用する必要があります。

ESXiへのパッチ適用は殆どの場合、ESXi上で動作している、全仮想マシンの停止・起動を伴いますので、停止時間の調整から手間だと思われがちですが、セキュリティホールや多数のバグフィックスが行われていますので、行っておきたいタスクです。今回はesxiのパッチでもパッチセットと言われるupdateパッチを適用する手順を紹介します。是非、既存ESXi環境の運用にご利用下さい。

導入したはいいが、そのまま放置されている仮想化システムをご利用のユーザー様は一度、パッチについても確認してみて下さい。全くパッチが適用されていないということも有り得ます。
vCenter Serverを導入している場合はESXiのアップデートをGUIから実行することができるvSphere Update Managerが用意されており、比較的容易にパッチの適用を行うことができます。
ただ、vSphere Update Managerが導入されている環境ばかりではありませんので、今回は、vSphare Update Managerを利用せず、vCenter Serverがない環境でも実行できるコマンドベースでの手順を記載していきます。
まずはesxiの統合パッチであるupdate2の適用手順をご紹介致します。
他のセキュリティパッチ適用も、ほぼ同様の手順で行うことができますので、参考にしてください。なお、esxiのバージョンは5.1 (GA)を前提としています。

1. update2の種類

最近のESXiは既にupdate2 (build 1483097)が適用されているものが殆どだと思います。
今回はupdate2が適用されていない環境にupdate2を適用する手順の紹介ですので、現状のバージョンがGA(パッチ適用なし)で有る前提です。
まず、ESXiのupdate2は2種類に区分できます。
一つはVMwareからリリースされているupdate2。
こちらはMy VMwareなど、VMwareのサイトからダウンロードが可能です。
もう一つはハードウェアベンダーからリリースされているupdate2。
こちらはVMwareのupdate2をベースに、自社ハードウェア用のドライバなどを含んだ(INBOX)形で作成されたものです。
VMwareは殆どの場合、メーカー製のハードウェアで動作させると思いますので、今回はメーカーのドライバを含んだオフラインバンドルというupdate2を適用します。
因みにメーカーが提供しているESXiを利用している環境に、VMwareのサイトからダウンロードしたupdate2を適用すると、ドライバが無いという状況が発生し、ネットワークやストレージが認識されなくなるパターンがありますので、update2はベンダー製のオフラインバンドルをご利用下さい。

2. update2のダウンロード

update2のダウンロードは各メーカーのサイトからダウンロードを行います。
update2はisoとzipのものが配布されていますが、isoはCDからブートしてupdate2を適用する場合に利用します。
今回はコマンドでの適用ですので、zip形式のオフラインバンドルをダウンロードします。
例としてIBMのxServer用をダウンロードします。
IBMのサイトでは以下のオフラインバンドルが用意されています。
VMware vSphere Hypervisor 5.1u2 with IBM Customization for VMware Offline Bundles
ESXi-5.1.2-1483097-IBM-20140305-depot.zip

ダウンロードするファイル名は各ベンダーで用意しているupdate2のファイル名に読み替えて下さい。
オフラインバンドルだと分かるように、各メーカーでは区別されていると思います。
ダウンロードしたファイルはローカルに保存します。

3. update2のアップロード

対象となるesxiでsshを有効にします。
※esxiでsshを有効にする方法は「VMware esxi で仮想マシンの保存先フォルダ名を変更する」
を参照下さい。
sshを有効にすると、scpなどのツールでESXiに対してファイルのアップロードが出来るようになります。
ここではlinuxのPCからESXiへscpを利用してupdate2のzipファイルをデータストアへアップロードします。
windowsの場合はWinSCPなどが使いやすいと思います。
update2のアップロード先はESXiのdatastoreに作成したフォルダを指定します。
今回はsshでESXiにログインし、datastore以下のパスにフォルダを作成しています。
/vmfs/volumes/datastore/update2
コマンドは

# mkdir /vmfs/volumes/datastore/update2

です。
フォルダ作成後、scpでupdate2をアップロードします。
コマンドは

# scp ESXi-5.1.2-1483097-IBM-20140305-depot.zip root@192.168.1.2:/vmfs/volumes/datastore/update2

となります。パスやIPなどは実際の環境に読み替えて下さい。
ここまででupdate2を適用するための準備は完了です。

4. 仮想マシンの停止

対象となるesxiで動作している仮想マシンを全て停止します。
vMotionが利用できる環境であれば、[移行]を利用して別のesxiにホットマイグレーションを実行します。
これはupdate2適用後にESXiに再起動を行う必要があるためです。

5. メンテナンスモードへの移行

update2を適用する前にESXiをメンテナンスモードへ移行します。
GUIでも移行は出来ますが、sshにログインできる状態になっていますので、コマンドからメンテナンスモードへ移行します。
sshでログインした後、以下のコマンドを実行します。

# esxcli system maintenanceMode set -e true

esxiがメンテナンスモードへ移行されるとGUI上のサマリで状態が"メンテナンスモード"に変わります。
コマンドでの確認は

# esxcli system maintenanceMode get

です。
結果がEnabledの場合、メンテナンスモードが有効になっています。

6. 現状の確認

コマンドを実行して、現状を確認しておきます。

# esxcli system version get

を実行すると、現状のbuildをupdateの状況が確認できます。
パッチが適用されていないesxi (GA)の場合、以下の結果になります。

Product: VMware ESXi
Version: 5.1.0
Build: Releasebuild-799733
Update: 0

# esxcli software profile get

を実行することで、今までに適用されたパッチやVIBのバージョンなどが確認できます。

7. update2に含まれるプロファイルの確認

通常、zip形式のパッチにはいくつかのプロファイルが含まれています。
含まれるプロファイルの中から、環境にあったものを明示的に選択して、適用を行います。
update2に含まれるプロファイルを表示するためには

# esxcli software sources profile list -d /vmfs/volumes/datastore/update2/ESXi-5.1.2-1483097-IBM-20140305-depot.zip

と実行します。
パッチファイル名については、ダウンロードしたものに併せて読み替えて下さい。
結果は以下のように表示されます。

Name Vendor Acceptance Level
---------- ------ ----------------
1661204920 IBM PartnerSupported

Nameの部分が指定するプロファイル名です。
通常、いくつかのプロファイルが含まれていますが、このパッチには一つのプロファイルしか含まれていないため、必然的に適用するプロファイル名は "1661204920"となります。

8. update2の適用

適用するプロファイル名が分かったところで、upate2を適用します。
必ず稼働している仮想マシンが無いこと、メンテナンスモードに移行していることを確認して下さい。
適用するコマンドは

# esxcli software profile update -d /vmfs/volumes/datastore/update2/ESXi-5.1.2-1483097-IBM-20140305-depot.zip -p 1661204920

となります。
このコマンドはprofileをupdateする形になりますので、クリーンインストールを行わず、INBOXのドライバを残した状態でprofileを更新します。
ウェブでは esxcli software vib install -d というコマンドでのアップデート例が記載されていますが、こちらはクリーンインストールを行う場合のコマンドで、INBOXのドライバがないupdate2を上記のコマンドで適用した場合、ESXiで利用しているNICやストレージが見えなくなる可能性があります。
その為、software profile updateを利用してアップデートを実行しています。適用は大凡、2~3分で完了します。
実行後には、ずらっと結果が出力されます。結果にsuccessfulと表示されていれば、適用は完了です。
ESXiを再起動する旨、メッセージが表示されますので、再起動を行います。
再起動は

# esxcli system shutdown reboot -r "update to ESXi5.1u2"

で可能です。

9. update2適用の確認

再起動後、コマンドを利用してupdate2が適用されているかを確認します。

# esxcli system version get
# esxcli software profile get

でバージョンとbuildがアップデートされていることを確認します。

Product: VMware ESXi
Version: 5.1.0
Build: Releasebuild-1483097
Update: 2

と表示されれば、正常にアップデートされています。
後はメンテナンスモードを無効にし、sshサービスを停止、停止した仮想マシンを起動すれば適用は完了です。
メンテナンスモードの解除は

# esxcli system maintenanceMode set -e false

で行います。

# esxcli system maintenanceMode get

を実行して、結果がDisabledの場合、メンテナンスモードは無効になっています。

ざっと見ると手順が煩雑に見えますが、一度覚えてしまうと、それほど難しい作業ではありません。この後、最新のセキュリティパッチを適用する必要がありますが、その手順は次の記事で紹介していきます。自社で行うリソースがない場合、弊社にて代行も行っております。お気軽にお問合せ下さい。

  • この記事を書いた人
rem-profile-photo

レムシステム

レムシステムはPC・サーバー・ネットワークでの業務効率化を主な業務としている会社です。全国に対応しています。

-VMware