本記事は古いIBM CloudのVCS環境(vSphere 6.5ベース)を順次最新化してますにおける作業の一環である。本作業では、NSX for vSphere: 6.4.4 build-11197766からNSX Data Center for vSphere 6.4.13 build-19307994へのアップデートを実施する。
非公式情報だが、Step-by-Step NSX-V Upgrade from 6.3.4 to 6.3.5が参考になった。
1. パッチを取得。
IBM CloudのsupportにCaseを起票してVMware-NSX-Manager-upgrade-bundle-6.4.13-19307994.tar.gz
を入手する。
2. NSX ManagerのBackup設定とBackupの取得
今回はSFTPで外部にバックアップを取っておいた。
これに加えて、NSX Managerのスナップショットも取得しておいた。
3. vCenterのバックアップ
(手順省略)
4. 現行NSXバージョンの確認。
アップデートは以下の順で行うので、あらかじめバージョンを確認しておく。
5. NSX Managerのアップデート
Direct upgrade to NSX-V 6.4.10 and higher fails from NSX-V 6.4.2, 6.4.3, 6.4.4, and 6.4.5 versions (82662)によると、NSX 6.4.5以前のバージョンから6.4.10以降には直接移行できず、以下のようなエラーが発生してしまう(実際にアップデートできなくて、KBを検索した)。
このKBの手順に従って、6.4.13のパッチファイルが読み込み可能となるように、回避策を行う。
$ curl --verbose --noproxy '*' -u admin:'<password>' -H "Accept: application/xml" -H "Content-Type: application/xml" -k -X POST --data @/tmp/signed_bsh_UpgradeUtilsFix_withVersionCheck.encoded https://10.193.73.3/api/1.0/services/debug/script
* About to connect() to 10.193.73.3 port 443 (#0)
* Trying 10.193.73.3...
* Connected to 10.193.73.3 (10.193.73.3) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* skipping SSL peer certificate verification
* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
* subject: CN=vcs65-nsxmgr.vcs65.ibm.local,OU=NSX,O=VMware Inc.,L=Palo Alto,ST=CA,C=US
* start date: 7月 08 19:07:06 2019 GMT
* expire date: 7月 05 19:07:06 2029 GMT
* common name: vcs65-nsxmgr.vcs65.ibm.local
* issuer: CN=vcs65-nsxmgr.vcs65.ibm.local,OU=NSX,O=VMware Inc.,L=Palo Alto,ST=CA,C=US
* Server auth using Basic with user 'admin'
> POST /api/1.0/services/debug/script HTTP/1.1
> Authorization: Basic YWRtaW46NG56SlYwZm8zSTRmSW8h
> User-Agent: curl/7.29.0
> Host: 10.193.73.3
> Accept: application/xml
> Content-Type: application/xml
> Content-Length: 20960
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Cache-Control: no-cache
< Accept-Charset: big5, big5-hkscs, cesu-8, euc-jp, euc-kr, gb18030, gb2312, gbk, ibm-thai, ibm00858, ibm01140, ibm01141, ibm01142, ibm01143, ibm01144, ibm01145, ibm01146, ibm01147, ibm01148, ibm01149, ibm037, ibm1026, ibm1047, ibm273, ibm277, ibm278, ibm280, ibm284, ibm285, ibm290, ibm297, ibm420, ibm424, ibm437, ibm500, ibm775, ibm850, ibm852, ibm855, ibm857, ibm860, ibm861, ibm862, ibm863, ibm864, ibm865, ibm866, ibm868, ibm869, ibm870, ibm871, ibm918, iso-2022-cn, iso-2022-jp, iso-2022-jp-2, iso-2022-kr, iso-8859-1, iso-8859-13, iso-8859-15, iso-8859-2, iso-8859-3, iso-8859-4, iso-8859-5, iso-8859-6, iso-8859-7, iso-8859-8, iso-8859-9, jis_x0201, jis_x0212-1990, koi8-r, koi8-u, shift_jis, tis-620, us-ascii, utf-16, utf-16be, utf-16le, utf-32, utf-32be, utf-32le, utf-8, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258, windows-31j, x-big5-hkscs-2001, x-big5-solaris, x-compound_text, x-euc-jp-linux, x-euc-tw, x-eucjp-open, x-ibm1006, x-ibm1025, x-ibm1046, x-ibm1097, x-ibm1098, x-ibm1112, x-ibm1122, x-ibm1123, x-ibm1124, x-ibm1166, x-ibm1364, x-ibm1381, x-ibm1383, x-ibm300, x-ibm33722, x-ibm737, x-ibm833, x-ibm834, x-ibm856, x-ibm874, x-ibm875, x-ibm921, x-ibm922, x-ibm930, x-ibm933, x-ibm935, x-ibm937, x-ibm939, x-ibm942, x-ibm942c, x-ibm943, x-ibm943c, x-ibm948, x-ibm949, x-ibm949c, x-ibm950, x-ibm964, x-ibm970, x-iscii91, x-iso-2022-cn-cns, x-iso-2022-cn-gb, x-iso-8859-11, x-jis0208, x-jisautodetect, x-johab, x-macarabic, x-maccentraleurope, x-maccroatian, x-maccyrillic, x-macdingbat, x-macgreek, x-machebrew, x-maciceland, x-macroman, x-macromania, x-macsymbol, x-macthai, x-macturkish, x-macukraine, x-ms932_0213, x-ms950-hkscs, x-ms950-hkscs-xp, x-mswin-936, x-pck, x-sjis_0213, x-utf-16le-bom, x-utf-32be-bom, x-utf-32le-bom, x-windows-50220, x-windows-50221, x-windows-874, x-windows-949, x-windows-950, x-windows-iso2022jp
< Date: Wed, 27 Jul 2022 02:55:16 GMT
< Strict-Transport-Security: max-age=31536000; includeSubDomains
< X-Frame-Options: SAMEORIGIN
< Content-Type: application/xml;charset=ISO-8859-1
< Content-Length: 27
< Server:
<
* Connection #0 to host 10.193.73.3 left intact
Patch successfully applied.
$ curl --verbose --noproxy '*' -u admin:'<password>' -H "Accept: application/xml" -H "Content-Type: application/xml" -k -X POST https://10.193.73.3/api/1.0/appliance-management/components/component/APPMGMT/restart
* About to connect() to 10.193.73.3 port 443 (#0)
* Trying 10.193.73.3...
* Connected to 10.193.73.3 (10.193.73.3) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* skipping SSL peer certificate verification
* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
* subject: CN=vcs65-nsxmgr.vcs65.ibm.local,OU=NSX,O=VMware Inc.,L=Palo Alto,ST=CA,C=US
* start date: 7月 08 19:07:06 2019 GMT
* expire date: 7月 05 19:07:06 2029 GMT
* common name: vcs65-nsxmgr.vcs65.ibm.local
* issuer: CN=vcs65-nsxmgr.vcs65.ibm.local,OU=NSX,O=VMware Inc.,L=Palo Alto,ST=CA,C=US
* Server auth using Basic with user 'admin'
> POST /api/1.0/appliance-management/components/component/APPMGMT/restart HTTP/1.1
> Authorization: Basic YWRtaW46NG56SlYwZm8zSTRmSW8h
> User-Agent: curl/7.29.0
> Host: 10.193.73.3
> Accept: application/xml
> Content-Type: application/xml
>
< HTTP/1.1 200 OK
< Strict-Transport-Security: max-age=31536000 ; includeSubDomains
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
< X-Content-Type-Options: nosniff
< X-Content-Security-Policy: default-src 'self'; object-src 'self'
< Set-Cookie: JSESSIONID=7A5908E695C77FC198E04AE07F53239D; Path=/; Secure; HttpOnly
< Content-Length: 0
< Date: Wed, 27 Jul 2022 02:59:06 GMT
< Server:
<
* Connection #0 to host 10.193.73.3 left intact
- Upload Bundleを押下
- Browseからパッチを選択してContinue
- SSHは有効にしておく。Upgradeを実施。
- 途中画面1
- 途中画面2
- 再度NSX Managerにアクセスすると更新されている。
- vCenterにログインすると、NSX Pluginの更新が発生したので再度logout/loginをするようなメッセージが出るので、logout/loginを行う。再度アクセスすると、NSX Managerが更新されていることを確認できる。
6. NSX Controllerの更新
7. Host preparation
- 今回はESXiが2台構成のため、まず2台目のESXiをメンテナンスモードにする。
- Host preparationにて、
UPGRADE
を押下 - YES
- 途中画面
- 導入完了。今度は1台目がNot Readyになった。
- 2台目のESXiはメンテナンスモードを抜けて、1台目のESXiをメンテナンスモードにする。すると、自動的に1台目の導入が開始する。
- 1台目のESXiのアップデートも完了。
- 1台目もメンテナンスモードから抜ける。