アップデートを実施する理由

vCSA をバージョンアップ・アップデートする理由については、単純に新しいのがほしいとか、セキュリティ対策をしたいなど、皆さんも色々事情があると思います。

商用サービスを管理する vCenter の場合には、特別な理由がない限り、こういう作業を実施することは、あまりないと思いますが、私が今回アップデートを実施した理由は、VMware Security Advisories による VMSA-2015-0007.1 クリティカルセキュリティ対策のためです。

詳細については、以下を参考にしてください。

クリティカルレベルなので、該当バージョンを使ってる方は、早期に対策したほうが良さそうです。

vCenter 脆弱性対象バージョンは、以下の通りです。

製品名 脆弱性対象 Version 修正済み Version
vCenter Server 5.0 5.0 u3e
5.1 5.1 u3b
5.5 5.5 u3
6.0 6.0 u1

この例では、vCSA 6.0 から 6.0 u1 へアップデートを実施します。

感想だけ先に言うと、vCSA のアップデートは、非常に簡単でした。

勘違いしていたこと

例えば、Windows 版の vCenter Server5.0 から 5.5 へバージョンアップする際には、普通に新しい ISO イメージファイルをダウンロードし、インストーラを走らせると、既にインストールされているので、バージョンアップします のようなダイアログが出てきて、普通に、次へ・次へ をクリックすることでバージョンアップができました。

それで、今回も同じように、vCSA 6.0 u1 の新しい ISO イメージファイルをダウンロードし、インストーラを実行し、アップグレード ボタンを押すと行けるのではないかと思ってやってみたら、普通にインストール画面が表示され、パニックって頭が真っ白になりました。

vCenter Server Appliance 6.0 インストール 経験がある方であれば、インストール時に表示される 以下の画面を見たことがあると思います。

vCSA アップグレード

vCSA インストール時に表示される「アップグレード」ボタンについて

vCSA インストール時に インストール するか アップグレード するかを選択する画面が表示されますが、この アップグレード ボタンは、vCSA 6.0 から 6.0 u1 へアップデートする機能ではありません。

どっちかと言うと 5.5 から 6.0 へアップグレードするときの アップグレード 機能と思われます。

影響範囲

vCSA アップデート作業中には、以下の作業ができなくなります。

  • vCenter へ接続不可
  • vCenter 上で、データセンタ、クラスタ、仮想マシン操作などの作業不可

vCSA アップデート中には、vSphere Client、または vSphere Web Client を使って、vCenter へ接続できなくなります

そのため、vCenter へ接続しているユーザたちに、事前にその旨を伝えておくとより親切かなと思います。(大事な作業をしているかもしれないので)

作業項目

主に、以下の作業を実施します。

  • 脆弱性対象か調べる
  • 事前準備 (vCSA クローン作成)
  • 修正版 ISO ダウンロード
  • vCenter にて vCSA に ISO マウント
  • vCSA へ SSH ログイン
  • vCSA 6.0 u1 ISO ステージング
  • ステージしたコンテンツの情報確認
  • ステージされたパッケージインストール
  • 再起動
  • ブラウザキャッシュクリア
  • アップデート確認

脆弱性対象か調べる

まずは、自分が使っている vCenter Server が脆弱性対象かどうかを調べる必要があります。

vSphere Client を使って、vCenter へログインします。

ヘルプ > VMware vSphere バージョン情報をクリックし、現在のビルド番号を確認します。

現在のビルド番号確認

vCenter Server のビルド番号を確認する方法について

vSphere Web Client にも同じ階層を辿るとバージョン情報ダイアログが表示されますが、vCenter Server のビルド番号 は、表示されないため、ここでは、vSphere Client を使ってビルド番号を確認しています。

以下のページに VMware の各種製品のバージョン・ビルド番号リストが掲載されているので、自分が使っている vCenter Server が脆弱性対象か確認してください。

事前準備

念のため、事前に以下を実施しておくとより安全に作業できます。

  • vCSA が動いている ESXi ホストを確認しておく
  • スナップショット、またはクローン取得

vCenter は、全てのデータセンタ、クラスタを操作・管理する重要な役割を果たします。

そのため、万が一、作業が失敗したときを想定し、原因を追究するための切り分け手段を確保することと、vCSA を元の状態に戻すためのバックアップを取得しておく必要があります。

何らかの原因によりアップデート作業が失敗すると vCenter へログインができなくなる可能性があるので、vCenter にて vCSA 仮想マシンのサマリを確認し、vCSA がどの ESXi ホスト 上で動いているか確認しておきます。

例えば、vCSA がホスト ESXi-01 上で動いているとします。

もし、アップデート作業が失敗し、vCenter へ接続できなくなった場合には、vSphere Client を使って、ESXi-01 へ直接ログイン (root ユーザ) することで、vCSA のタスク状態、イベントログのような様々な情報確認ができます。

また、どうしても失敗の原因が分からない場合には、速やかに、事前に取得しておいたスナップショット、クローンを使って、vCSA の状態を作業前の状態に戻すことが大事です。

スナップショットをとるか、クローンを作成するか

スナップショットをとるか、クローンを作成するかについては、クローンを作成することをオススメします。

スナップショットをオススメしない理由は、vCSA がマルチプルディスクで構成されているからです。

全てのディスクの状態をスナップショットとして保存するためには、各ディスクのタイプを変更する作業が必要となるため (vCSA を落とす必要がある)、確実にバックアップをとる場合には、スナップショットよりは、クローン作成の方が良いです。

vCSA 6.0 から 6.0 U1 へアップデート

事前準備が終わったところで、いよいよアップデート作業に入ります。

Step 1. 修正版 ISO ダウンロード

以下の VMware Patch Download Center へ接続し、修正版 ISO パッチファイルをダウンロードします。

my vmware へログインが必要です。

my vmware へログイン

Product Patches 画面が表示されます。

製品名 : VC (vCenter)vCSA のバージョン全ての重要度全てのカテゴリ を選択し、検索をクリックします。

VC Product Patches 検索

そうすると以下のように、ダウンロードリスト が表示されるので、脆弱性修正済みの最新バージョンかを確認し、ダウンロードボタンをクリックします。

この例では、vCSA 6.0 から vCSA 6.0 u1 へアップデート を実施するので、VC-6.0.0U1-Appliance をダウンロードします。

VC Product Patches フィルタ

複数のファイルをまとめてダウンロード

もし、複数のファイルをまとめてダウンロードしたい場合には、チェックボックスにチェックを入れ、選択したアイテムのダウンロードをクリックしてください。

FP と TP について

FT (Full Product) は、各種パッケージのアップデートに加え、セキュリティ対策・バグ修正パッチが含まれています。

TP (Third Party) は、各種サードパーティ製品に適用できるように、セキュリティ対策・バグ修正のみが含まれています。

なので、容量は少し大きいですが、FT をダウンロードしてください。

ダウンロードが完了しました。

vCSA 6.0 u1 ISO ダウンロード完了

vCenter にて、直接 vCSA 仮想マシンにマウントするので、Daemon Tools のような ISO マウントソフトウェアは、不要です。

Step 2. vCenter にて vCSA に ISO マウント

vCenter 上で、先ほどダウンロードした ISO ファイルを vCSA 仮想マシンにマウントします。

vCSA 仮想マシン を選択し、CD アイコン > CD/DVD ドライブ1 > ローカルディスクの ISO イメージに接続をクリックします。

vCenter 仮想マシンに ISO マウント

ISO 参照先について

この例では、自分のデスクトップ上にダウンロードした ISO ファイルを vCSA にマウントしていますが、場合によっては、アップデートが失敗することがあります。

その時には、データストアに ISO ファイルをアップロードした上で、データストア上の ISO イメージに接続 するとより安全にアップデートを実施できます。

ISO ファイルを選択し、開くをクリックします。

vCenter 仮想マシンにマウントする ISO 選択

マウントされたかもう一度確認する

マウントしたにも関わらず、たまに、接続中 というメッセージが表示され続け、マウントされないことがあるので、もう一度、CD アイコンをクリックし、ISO ファイルがちゃんとマウントされているか必ず確認してください。

もし、上記のような事象が発生したら以下を試し見てください。

vSphere Client : CD マウント後「接続中」と表示され続ける

Step 3. vCSA へ SSH ログイン

以下の記事を参考にし、vCSA へ SSH ログインを実施します。

今回は、全て vCSA 専用の Command> プロンプト上で作業するので、シェル切替えは不要です。 SSH ログインだけしてください。

vCSA へ SSH ログインRaw Code(S)Raw Code(T)
Last login: Thu Oct  8 02:40:05 2015 from 192.168.10.11
Connected to service

    * List APIs: "help api list"
    * List Plugins: "help pi list"
    * Enable BASH access: "shell.set --enabled True"
    * Launch BASH: "shell"

Command>

もし、シェル切替えもあわせて有効にしておきたい場合には、追加で以下を実施してください。

Step 4. vCSA 6.0 u1 ISO ステージング

以下のコマンドを実行し、vCSA にマウントした ISO のデータをステージングします。

vCSA 6.0 u1 ISO ステージングRaw Code(S)Raw Code(T)
Command> software-packages stage --iso
 [2015-10-08T02:43:36.281] : Staging software update packages from ISO
 [2015-10-08T02:43:36.281] : ISO mounted successfully
 [2015-10-08 02:43:36,422] : Running pre-stage script.....
 [2015-10-08T02:43:37.281] : Verifying staging area
 [2015-10-08T02:43:37.281] : Validating software update payload
 [2015-10-08T02:43:37.281] : Validation successful


VMWARE END USER LICENSE AGREEMENT

PLEASE NOTE THAT THE TERMS OF THIS END USER LICENSE AGREEMENT SHALL GOVERN YOUR
USE OF THE SOFTWARE, REGARDLESS OF ANY TERMS THAT MAY APPEAR DURING THE
INSTALLATION OF THE SOFTWARE.

IMPORTANT-READ CAREFULLY:   BY DOWNLOADING, INSTALLING, OR USING THE SOFTWARE,
YOU (THE INDIVIDUAL OR LEGAL ENTITY) AGREE TO BE BOUND BY THE TERMS OF THIS END
USER LICENSE AGREEMENT ("EULA").  IF YOU DO NOT AGREE TO THE TERMS OF THIS EULA,
YOU MUST NOT DOWNLOAD, INSTALL, OR USE THE SOFTWARE, AND YOU MUST DELETE OR
RETURN THE UNUSED SOFTWARE TO THE VENDOR FROM WHICH YOU ACQUIRED IT WITHIN
THIRTY (30) DAYS AND REQUEST A REFUND OF THE LICENSE FEE, IF ANY, THAT YOU PAID
FOR THE SOFTWARE.

EVALUATION LICENSE.  If You are licensing the Software for evaluation purposes,
Your use of the Software is only permitted in a non-production environment and
for the period limited by the License Key.  Notwithstanding any other provision
in this EULA, an Evaluation License of the Software is provided "AS-IS" without
indemnification, support or warranty of any kind, expressed or implied.

1.      DEFINITIONS.

1.1      "Affiliate" means, with respect to a party at a given time, an entity
that then is directly or indirectly controlled by, is under common control
with, or controls that party, and here "control" means an ownership, voting
or similar interest representing fifty percent (50%) or more of the total
interests then outstanding of that entity.

・・・

#### Ctrl+c を押すとキャンセルされるので、Enter 連打する
Press ENTER key for more or Ctrl+c to quit

・・・

12.11  Contact Information.  Please direct legal notices or other
correspondence to VMware, Inc., 3401 Hillview Avenue, Palo Alto, California
94304, United States of America, Attention: Legal Department.Do you accept the terms and conditions?  [yes/no] yes    #### yes
 [2015-10-08 02:45:53,590] : Processing software packages in update payload 143/143
 [2015-10-08T02:54:19.281] : ISO unmounted successfully
 [2015-10-08T02:54:19.281] : (143) packages staged successfully
 [2015-10-08T02:54:19.281] : Staging process completed successfully
Command>
Command>
Command>

ステージングとは

簡単に言うと アップロード配布 を意味します。

言葉的には少し分かりづらいですが、 VMware では、ステージするステージングする と表現することが多いです。

約 10分くらいかかるので、終わるまで待ちます。 (直ぐ終わる場合もあります)

Step 5. ステージしたコンテンツの情報確認

以下のコマンドを実行し、問題なくステージされたか確認します。

VC-6.0.0U1-Appliance-FP の場合
Command> software-packages list --staged
 [2015-10-08T02:54:36.281] :
        category: bugfix
        kb: http://kb.vmware.com/2119924
        vendor: VMware, Inc.
        name: VC-6.0.0U1-Appliance-FP
        tags: [u'']
        productname: VMware vCenter Server Appliance
        releasedate: September 10, 2015
        version: 6.0.0.10000
        buildnumber: 3018521
        rebootrequired: True
        summary: Update for VMware vCenter Server Appliance 6.0
        severity: critical
Command>
Command>
Command>
VC-6.0.0U2-Appliance-FP の場合
Command> software-packages list --staged
 [2016-11-02T01:18:24.307] :
        category: bugfix
        kb: http://kb.vmware.com/kb/2138600
        vendor: VMware, Inc.
        name: VC-6.0.0U2-Appliance-FP
        tags: [u'']
        productname: VMware vCenter Server Appliance
        releasedate: March 15, 2016
        version: 6.0.0.20000
        buildnumber: 3634791
        rebootrequired: True
        summary: VMware vCenter Server Appliance 6.0 Update 2
        eulaAcceptTime: 2016-11-02 01:16:28 UTC
        severity: critical
Command>
Command>

Step 6. ステージされたパッケージインストール

特に問題なければ、以下のコマンドを実行し、ステージされたパッケージをインストール (6.0 から 6.0 u1 へアップデート) します。

この作業も、約 10分くらいかかるので、完了するまで待ちます。

vCSA 6.0 から 6.0 u1 へアップデートRaw Code(S)Raw Code(T)
Command> software-packages install --staged
 [2015-10-08 02:55:08,095] : Running test transaction ....
 [2015-10-08 02:55:18,115] : Running pre-install script.....
 [2015-10-08T02:56:58.281] : Services stopped.
 [2015-10-08 02:56:58,380] : Upgrading software packages ....
 [2015-10-08 03:04:20,220] : Running post-install script.....
 [2015-10-08T03:04:21.281] : Packages upgraded successfully, Reboot is required to complete the installation.
Command>
Command>
Command>

Step 7. 再起動

アップデート完了後、再起動しないと vCSA へつながらなくなるので、再起動する必要があります

試しに、OS 再起動時によく使う shutdown -r now を実行してみたら怒られたので、vCSA の再起動コマンド shutdown reboot -r を実行してください。

Command> shutdown -r now
usage: shutdown [-h] {poweroff,reboot,cancel} ...
shutdown: error: invalid choice: 'now' (choose from 'poweroff', 'reboot', 'cancel')

Command> shutdown reboot -r "vCSA Update : 6.0 to 6.0U1"

全サービスが立ち上がるまでログインできない

vCSA の再起動、全てのサービスの起動が完了するまで、5分以上かかります。

vCSAPing は通っても、vCSA 関連サービスが全て起動しないと vCenter へ接続できないので、全サービスの起動が完了するまで待ちます

サービス起動中に、vSphere Web Client へ接続すると以下の画面が表示されます。

ログイン画面が表示されるまで、以下の画面を定期的に更新しながら待ちます

https://vCSA-FQDN-or-IP/vsphere-client/

vSphere Web Client : vCSA サービス初期化中

503 Service Unavailable

上記の The vSphere Client web server is initializing が表示される前に、以下の 503 ページが表示されますが、エラーではないので、もう少しお待ちください。 (最初は私もドキッとしました。。)

503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http16LocalServiceSpecE:0x7f0be5595750] _serverNamespace = /vsphere-client _isRedirect = false _port = 9090)

vCenter Server と vCSA のサービス起動状況確認について

vCenter Server の場合には、Windows 用なので、サービス管理画面から各サービスの起動状況が一目瞭然確認しやすかったのですが、vCSA は、Linux ベースなので、そういうところは、確認し難い点があります。

Step 8. ブラウザキャッシュクリア

vSphere Web Clinet のログイン画面が表示された後、ログインしてみると、何故か画面が固まってるように見えることがあります。

ログイン認証は、通ってるように見えますが、ログイン後には、青い画面しか見えず、vCenter の管理メニューが全然表示されません。

vCSA ログイン後固まってるように見える

そういうときには、ブラウザのキャッシュをクリアすると直るので、試して見てください。

Step 9. アップデート確認

最後に、vSphere Client を使って vCenter へ接続した後、ヘルプ > VMware vSphere バージョン情報をクリックし、ビルド番号が上がっていることを確認します。

vCSA アップデート後のビルド番号確認

最後に

長くなりましたが、最後に、最初にバックアップとして取得しておいたクローンは、直ぐ削除しないで、2・3日様子を見てから削除した方が良いかもしれないので、状況を見つつ、いつ削除するかは、各自判断してください。

以下、参考サイトです。

ちなみに、最後の アプライアンス管理インターフェイスを使用した vCenter Server Appliance へのパッチ適用 についてですが、そもそも vCSA 6.0 では5480 廃止により、https://vCSA-FQDN-or-IP:5480 を使って、アプライアンス管理インターフェイス (VAMI) へ接続できません。

VAMI は、vCSA 6.0 u1 から再び使えるようになったので、ご興味のある方は、次回の記事をご覧ください。

以上、vCenter Server Appliance 6.0 から 6.0 u1 へアップデート でした。