vHoge

VMwareのアレコレ備忘録。CLIでがんばるネタ多め。

vCSA を appliancesh からアップデートしてみる

パッチ適用など、vCSA へアップデートレベルの適用は管理インターフェース(VAMI)からの適用が、GUI 操作で分かりやすくオススメ。
docs.vmware.com
が、Doc 見てると appliancesh からでも可能ということで、こっちの方法を試してみる。
docs.vmware.com

余談:ローカルリポジトリからのインストール

いつも通り ISO イメージをマウントしてアップデートかな~と思っていたが、なんか気づかず zip 版のパッチセットをダウンロードしていた模様…
ISO はマウントして一発だけど、zip はどこかに Web サーバ立てて配備する必要があり。
しかも自己証明書でも可とは言え https が必要とやや面倒なことに…

複数台あるならまだしも、単発だとちょっとオーバースペックかなぁ。
docs.vmware.com

ちなみにリポジトリは適当に切った公開ディレクトリ下に DL した zip を展開すれば OK。

appliancesh でステージング

一発インストールも可能だが、まずは staging

Command> software-packages stage --url https://192.168.1.5/vcrepo

 [2022-09-18 16:22:14,476] : Validating URL...
 [2022-09-18 16:22:14,478] : Discovering updates...
 [2022-09-18 16:22:17,803] : UpdateInfo: Using product version 7.0.3.00500 and build 19480866
 [2022-09-18 16:22:17,803] : Target VCSA version = 7.0.3.00800

VMWARE END USER LICENSE AGREEMENT

【以下 EULA】

同意するとリポジトリから更新パッケージのダウンロードが始まる。

 [2022-09-18 16:22:40,357] : Downloading RPM VMware-UpdateManager-7.0.3.00800-10204585.x86_64.rpm ....
 [2022-09-18 16:22:42,361] : Downloading RPM VMware-certificatemanagement-7.0.3.00800-10204585.x86_64.rpm
 [2022-09-18 16:22:44,367] : Downloading RPM VMware-commonjars-7.0.3.00800-10204585.x86_64.rpm ....
 [2022-09-18 16:22:47,374] : Downloading RPM VMware-content-library-7.0.3.00800-10204585.x86_64.rpm ....

【中略】

 [2022-09-18 16:24:34,740] : Downloading RPM vsphere-ui-7.0.3.00700-10045141.noarch.rpm ....
 [2022-09-18 16:24:37,753] : Downloading RPM zlib-1.2.11-2.ph3.x86_64.rpm ....
 [2022-09-18 16:24:39,763] : Staging completed successfully.

 [2022-09-18 16:24:39,764] : Staging process completed successfully

ローカルなので数分で完了。
これがインターネットからだとそれなりにかかるはず…

ちなみに前述したが、リポジトリ URL を http で指定すると怒られる。

Command> software-packages stage --url http://192.168.1.5/vcrepo

 [2022-09-19 22:42:42,376] : Validating URL...
 [2022-09-19 22:42:42,377] : Exception: Error(messages=[{'id': 'com.vmware.appliance.update.wrong_url_format_unsec', 'default_message': 'URL must start with https:// or ftps://', 'args': []}], data=None, error_type=None)


今、何をステージングしたんだっけはコマンドで確認可能。

Command> software-packages list --staged

 [2022-09-18 16:26:36,622] :
        allowedSourceVersions: [7.0.0.0,]
        buildnumber: 20150588
        category: Bugfix
        changesetnumber: 10205781
        executeurl: https://my.vmware.com/group/vmware/get-download?downloadGroup=VC70U3G
        kb: https://docs.vmware.com/en/VMware-vSphere/7.0/rn/vsphere-vcenter-server-70u3g-release-notes.html
        leaf_services: ['vmware-pod', 'vsphere-ui', 'wcp', 'vlcm']
        name: VC-7.0U3g
        productname: VMware vCenter Server
        rebootrequired: True
        releasedate: July 23, 2022
        severity: Critical
        size in MB: 6273
        summary: Patch for VMware vCenter Server 7.0
        tags: []
        type: Update
        updateversion: True
        vendor: VMware, Inc.
        version: 7.0.3.00800
        version_supported: []
        version_upgrade_supported: ['6.7.0.20000', '6.7.0.14000', '6.7.0.13000', '6.7.0.12000', '6.7.0.11000', '6.7.0.10000', '6.5.0.23000', '6.5.0.22000', '6.5.0.21000', '6.5.0.20000', '6.5.0.15000', '6.5.0.14000', '6.5.0.13000', '6.5.0.12000', '6.5.0.11000', '6.5.0.10000']

--verbose オプションをつけるとパッケージレベルで内容が確認可能。

 Command> software-packages list --staged --verbose

 [2022-09-18 16:26:59,490] :
'Name'                                  'Version'               'release'
VMware-Postgres                         13.6.0                  19799355
VMware-Postgres-cis-visl-scripts        13.6.0                  19799355
VMware-Postgres-client-jdbc             13.6.0                  19799355
VMware-Postgres-contrib                 13.6.0                  19799355
VMware-Postgres-extras                  13.6.0                  19799355
VMware-Postgres-libs                    13.6.0                  19799355

【略】

appliancesh でインストール

ステージングからのインストールはsoftware-packages install--staged で。
ここを--iso とか --url にすることで、ステージング無しの直インストールも可能。

Command> software-packages install --staged

 [2022-09-18 16:32:38,369] : update is already staged. Proceeding to install.

 [2022-09-18 16:32:47,008] : Installing version: 7.0.3.00800
 [2022-09-18 16:32:51,251] : Running precheck ....
 [2022-09-18 16:32:54,256] : Validating user input ....
 [2022-09-18 16:32:59,267] : Preparing system for update ....
 [2022-09-18 16:35:42,722] : Stopping services ....
 [2022-09-18 16:35:49,735] : Ordering RPMs topologically for dependencies
 [2022-09-18 16:35:50,738] : Installing RPM vmware-vlcm-7.0.3.00800-10204585.x86_64.rpm
 [2022-09-18 16:35:51,740] : Installing RPM glibc-2.28-20.ph3.x86_64.rpm

【中略】

 [2022-09-18 16:42:34,757] : Installing RPM VMware-Postgres-client-jdbc-13.6.0-19799355.noarch.rpm ....
 [2022-09-18 17:11:04,209] : Converting data as part of post install ....
 [2022-09-18 17:11:06,219] : Installation completed successfully.
 [2022-09-18 17:11:06,220] : Installation process completed successfully.
Command> Connection to 192.168.100.102 closed by remote host.

7.0 u3d → 7.0u3g で更新インストールだけで 40分弱。割とかかったかな…
ここからシステム再起動がかかり、起動完了で更新も完了。

appliancesh からの更新ってどうよ?

そこまで手間がかかるワケではないが基本的には VAMI からの更新でいいかなぁ…

ただ、更新内容の一覧だったり、開始終了時刻や進捗がログで残しやすいというメリットはあるので、その辺の作業記録を残す環境であればアリかも。
(もしくは内部 NW 奥底に沈めて、GUI/5480 が見えないような環境?)