PRIMERGY(富士通)カスタムESXi5.1を5.5にバージョンアップする

fand.jp ESXi 5.1(無償版)を5.5にアップグレードする Hatena Bookmark Counter for https://fand.jp/how-to-upgrade-es-xi-5-to-5-5/ でも記したとおり、無償版ESXi(VMware)では下記の問題があるため、アップグレードの方法は限られるようです。

  • 無償版ライセンスではVMware Update Managerは使えない
  • 無償版ライセンスの場合アップグレード用のファイル「ESXi Offline Bundle」をダウンロード出来ない

しかし、PRIMERGY版オフラインバンドルの場合はTechnical Support pages from FujitsuサイトでOffline Bundleが入手できましたのでこれを利用します。

PRIMERGY版の Offline Bundle を適用するとどうなるのかについては、マニュアルにある以下記載の通りです。

5.1.2 オフラインバンドルの適用
オフラインバンドルとは、弊社のサーバ向けにパッチやドライバと CIM Provider をまとめたものです。 オフラインバンドルを適用することにより、最新のインストールイメージを用いてインストールした状態と同等の環境にできます。 オフラインバンドルの適用には Update Manager もしくは vSphere CLI を利用できます。

WEB経由でのアップグレード方法はこちらの記事も参考にしてください。

ESXi 5.1(無償版)を5.5にバージョンアップする
ESXi 5.1(無償版)を5.5にバージョンアップする
https://fand.jp/how-to-upgrade-es-xi-5-to-5-5/
無償版ESXi(VMware)ではアップグレードの方法は限られるようです。無償版ライセンスではVMware Update Managerは使えない。無償版ライセンスの場合アップグレード用のファイル「ESXi Offline Bundle」をダウンロード出来ない。よって、WEB経由 …

Offline Bundleを利用したバージョンアップ作業の流れ

  • オフラインバンドルファイル(カスタムイメージ)を入手
  • ESXi ホストで実行しているすべての仮想マシンの電源を OFF にする
  • ESXi ホストをメンテナンスモードにする
  • オフラインバンドルを ESXi ホストに転送する
    • 4.1. VMware vSphere Client を使用する方法
    • 4.2. SCPで転送する方法
  • オフラインバンドルを ESXi ホストにインストールする。方法は次の3種類
    • 6.1. ESXi ホスト上で実行する場合
    • 6.2. クライアントからリモートでインストール場合 (Offline Bundle がオンライン上)
    • 6.3. クライアントからリモートでインストール場合 (Offline Bundle が ESXi ホスト上)

ここでは4.2及び6.3の方法で実施するケースを記載します。

いろいろ関連情報が多くて一瞬面倒に感じますが、要領をつかむとアップデート作業そのものは非常にシンプルです。むしろ Offline Bundle のダウンロード時間の方が長く待たされるくらいです。

Offline Bundle の入手

富士通版のImageファイル類はこちらのサポートページからダウンロードできます。

「Driver Quicksearch:」の検索フォームへ「image ESXi 5.5」と入力。

今回利用するバージョンは以下のとおり:

Description:
File: FTS_FujitsuCustomOfflineBundleESXi55_30021331820_1101110.ZIP
Version: 300.2.1331820
Date: 09.12.2013
Size: 333,99 MB
Language: Language: English / English
Manufacturer: Fujitsu

Offline Bundle を SCP で転送する

SSHでESXi(VMwareKernel)に接続できていることを前提として記載します。

# scp ./FTS_FujitsuCustomOfflineBundleESXi55_30021331820_1101110.ZIP root@esxihost:/vmfs/volumes/datastore0/images/
[注1] esxihost部分は接続先サーバのFQDN又はIPアドレス
[注2] /vmfs/volumes 配下のディスク構成及び保存場所は環境に応じて要変更

アップグレードする

lsiproviderがインストールされているOK。大文字を含む LSIProvider が入っている場合は削除が必要になるとのこと。

~ # esxcli software vib list | grep lsi
lsiprovider    500.04.V0.34-0012    LSI    VMwareAccepted    2013-05-04

この結果は問題無い場合。 そして Offline Bundle を指定してアップグレードします。

~ # esxcli software vib install -d FILE_PATH
// FILE_PATH = zipファイルのフルパス。SCP転送先のパスを記載(相対パスはNG)

コマンド実行後、応答が返ってくるまで2,3分程度の時間がかかりました。
!! このコマンド(software vib install)でも目的のバージョンアップは可能ですが非推奨ですので software profile update を利用しましょう。詳細は後述します

Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: (省略)
   VIBs Removed: (省略)
   VIBs Skipped:

正常に完了したらリブートします。

~ # esxcli system shutdown reboot -r "update to ESXi5.5"

ESXiアップグレード前のバージョン確認

~ # esxcli system version get
   Product: VMware ESXi
   Version: 5.1.0
   Build: Releasebuild-1065491
   Update: 1

~ # esxcli software profile get
Fujitsu-VMvisor-Installer-5.1.0.update01-1065491-v260-1
   Name: Fujitsu-VMvisor-Installer-5.1.0.update01-1065491-v260-1
   Vendor: Fujitsu
   Creation Time: 2013-05-04T00:21:45
   Modification Time: 2014-02-11T11:51:30
   Stateless Ready: False
   Description:

      Fujistu customized ESXi5.1 Update 1 Image, based on VMware build
      1065491

ESXiアップデート後のバージョン確認

再起動するまでバージョン表示は変わりません。

~ # esxcli system version get
   Product: VMware ESXi
   Version: 5.5.0
   Build: Releasebuild-1331820
   Update: 0

~ # esxcli software profile get
(Updated) Fujitsu-VMvisor-Installer-5.1.0.update01-1065491-v260-1
   Name: (Updated) Fujitsu-VMvisor-Installer-5.1.0.update01-1065491-v260-1
   Vendor: yourHostName
   Creation Time: 2014-02-11T11:52:23
   Modification Time: 2014-02-11T11:54:15
   Stateless Ready: False
   Description:

      2014-02-11T11:52:23.225778+00:00: The following VIBs are
      installed:

      ...(中略)...
      ----------
      Fujistu customized ESXi5.1 Update 1 Image, based on VMware build
      1065491

      (以下略)

バージョンが正常にあがっていることを確認したら、メンテナンスモードを解除します。

~ # esxcli system maintenanceMode get
Enabled
~ # esxcli system maintenanceMode set -e false
~ # esxcli system maintenanceMode get
Disabled

アップデート作業を終えて理解できた注意事項

vib install ではなく profile update を使うべき

アップデート関連コマンドとして esxcli software profile update があります。

VMware KB2020972(VMware Security Patching Guidelines for ESXi and ESX) にて、パッチのアップデートはプロファイルを指定する esxcli software profile update が推奨されています。

今回の作業手順で利用した esxcli software vib install はアップデートというよりもクリーンインストールに近い趣旨のコマンドです。これを実行すると自分で入れたドライバー等、Hypervisorインストール後に導入したものが消失してしまいます。

カスタムイメージを利用している場合は次のコマンドを利用しましょう。

esxcli software profile update -d <depot url or offline bundle zip file> -p <profile_name>

Offline Bundle を入手して配置するまでの手順は全く同じです。

Offline Bundle に含まれるプロファイル名を確認するコマンド

esxcli software profile update では -p オプションでプロファイル名を指定する必要がある為、Offline Bundle に含まれているプロファイルを確認します。

~ # esxcli software sources profile list -d /vmfs/volumes/datastore0/images/FTS_FujitsuCustomOfflineBundleESXi55_30021331820_1101110.ZIP

Name                                            Vendor   Acceptance Level
----------------------------------------------  -------  ----------------
Fujitsu-VMvisor-Installer-5.5.0-1331820-v300-2  Fujitsu  PartnerSupported

今回のケースでは1個しか含まれていません。

プロファイルを指定してアップデートする

確認結果を踏まえ、プロファイル名を指定してアップデートを実施します。

esxcli software profile update -d <depot url or offline bundle zip file> -p <profile_name>

example:

esxcli software profile update -d /vmfs/volumes/datastore0/images/FTS_FujitsuCustomOfflineBundleESXi55_30021331820_1101110.ZIP -p Fujitsu-VMvisor-Installer-5.5.0-1331820-v300-2

参考:ESXi 5.1 コマンドラインによるパッチ適用 | Japan Cloud Infrastructure Blog - VMware Blogs

この間違いに気付いたきっかけ

“ESXiアップデート後のバージョン確認” で記した結果を見て、次の点が気になりました。

  • (Updated) という記載は何なのか
  • そもそも未だ 5.1.0.update01 という記載が残っている
  • vendor 部分が何故か自身のホスト名になっている

これらの原因を明確にすべく調べた結果、利用コマンドの違いが分かりました。今どういう状況なのかというと、アップデート前の5.1版プロファイルをベースに5.5への差分修正が加わった(Updatedされた)独自プロファイルになった状態といえます。

このままでも ESXi 5.5 として動いています。

vib install してしまった後に修正できるのか

上記 “プロファイルを指定してアップデートする” で記載した方法で改めてコマンドを打ち込んでみましたが、以下の表示がされ何も修正されずに終了してしまいました。

Update Result
   Message: Host is not changed.
   Reboot Required: false
   VIBs Installed:
   VIBs Removed:
   VIBs Skipped: Emulex_bootbank ... (以下省略)

しかし、software profile にも install コマンドがありますので、結果以下のとおり実施することで上書きが可能でした。

~ # esxcli software profile install --ok-to-remove -d /vmfs/volumes/datastore0/images/FTS_FujitsuCustomOfflineBundleESXi55_30021331820_1101110.ZIP -p Fujitsu-VMvisor-Installer-5.5.0-1331820-v300-2
	Installation Result
	   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
	   Reboot Required: true
	   VIBs Installed:
	   VIBs Removed: VMware_bootban
	      ..(以下略)..

  • -ok-to-remove オプションを設定しています。これが無いと Exception が発生し「いくつか消してもよいか?」という趣旨の警告が表示されます。

なお、–dry-run オプションで先に検証できますので本適用前の実施を推奨します。

結果、以下のとおり正常にアップデートできました。先ほどとは異なり、profileは最新が利用され、"(Updated)“の字も消えました。

~ # esxcli system version get
   Product: VMware ESXi
   Version: 5.5.0
   Build: Releasebuild-1331820
   Update: 0
~ #
~ # esxcli software profile get
Fujitsu-VMvisor-Installer-5.5.0-1331820-v300-2
   Name: Fujitsu-VMvisor-Installer-5.5.0-1331820-v300-2
   Vendor: Fujitsu
   Creation Time: 2014-02-11T14:16:04
   Modification Time: 2014-02-11T14:16:04
   Stateless Ready: False
   Description:

      Fujistu customized ESXi5.5 Image, based on VMware build 1331820

(参考) esxcli software vib xxx も2種類ある

~ # esxcli software vib --help
Usage: esxcli software vib {cmd} [cmd options]

Available Commands:
  install               Installs VIB packages from a URL or depot.
                        VIBs may be installed, upgraded, or downgraded.
                        WARNING: If your installation requires a reboot,
                                 you need to disable HA first.
  update                Update installed VIBs to newer VIB packages.
                        No new VIBs will be installed, only updates.
                        WARNING: If your installation requires a reboot,
                                 you need to disable HA first.

esxcli software vib update は古いパッチをスキップする

このような表示でSkipされます。

VIBs Installed:
VIBs Removed:
VIBs Skipped: VMware_bootbank_ata-pata-amd_0.3.10-3vmw.510.0.0.799733,・・・

esxcli software vib install は古いパッチでも強制的にアップデートする

以上の結果から、ただアップデートしたいだいたいのケースでは esxcli software vib update で満足できると思います。

参考:VMware ESXi5.1検証 第9回 ESXiへのパッチ適用について | g/re/p

(参考) ESXi 5.x のイメージ提供方法は2種類ある

以下の記載は 公式ブログ(VMware ESXi イメージ管理ベストプラクティス) からの引用です。

ESXiのイメージには、ISO、ZIPの2種類があり、以下のような特徴があります。

ISO

  • CDに焼くことによりBootableとなり、ESXiのインストールが可能
  • オフラインバンドルから作成することも可能

ZIP

  • オフラインバンドルの1つであり、ESXi独自のユニークなバイナリ提供方法
  • ESXiを起動・インストールするために必要な複数のVIBやイメージプロファイルなどで構成される
  • 様々なカスタマイズや、 ISOファイルへの書き出しが可能

ESXiのイメージ管理にはISOファイルではなく、ZIPファイル(オフラインバンドル)を利用します。

※ オフラインバンドルはESXiイメージ全体の提供だけではなく、デバイスドライバやエージェント類の提供方法としても利用されています。この場合は、単一のVIBかつイメージプロファイルを含まない形が主となっています。

オフラインバンドルは下記の通り構成されています。

VIB・・・VMware Infrastructure Bundle
ESXiの構成上必要なパーツで、以下のような物があります

  • ESXiベースイメージ(ESXi Kernel)
  • デバイスドライバ
  • CIMプロバイダ

イメージプロファイル起動(インストール)に利用する複数のVIBを選択・定義した物

  • 上記VIBの内、ここで定義された物が起動(インストール)時に読み込まれる
  • インストーラー(ISOファイル)を書き出す事が可能
  • カスタマイズが可能

ESXiアップデート作業のまとめ

長くなりましたが結局必要なコマンドは以下の通りです。単純なことが分かります。

~ # esxcli system maintenanceMode set -e true

~ # scp ./FTS_FujitsuCustomOfflineBundleESXi55_30021331820_1101110.ZIP root@esxihost:/vmfs/volumes/datastore0/images/

~ # esxcli software sources profile list -d /vmfs/volumes/datastore0/images/FTS_FujitsuCustomOfflineBundleESXi55_30021331820_1101110.ZIP

~ # esxcli software profile update -d /vmfs/volumes/datastore0/images/FTS_FujitsuCustomOfflineBundleESXi55_30021331820_1101110.ZIP -p Fujitsu-VMvisor-Installer-5.5.0-1331820-v300-2

~ # esxcli system shutdown reboot -r "update to ESXi5.5"


参考リンク