NSX を 6.4.0 にアップグレード on IBM Cloud

# はじめに
以下のガイドが出ていますので、参考にして事前確認・実施をします。

>NSX アップグレード ガイド - VMware NSX for vSphere 6.4
https://docs.vmware.com/jp/VMware-NSX-for-vSphere/6.4/nsx_64_upgrade.pdf

## リリースノートの確認
主なポイントと思われる点をリリースノートから抜粋しますので、参考にしてください。

>VMware NSX for vSphere 6.4.0 リリース ノート
https://docs.vmware.com/jp/VMware-NSX-for-vSphere/6.4/rn/releasenotes_nsx_vsphere_640.html#upgradenotes


### NSX 6.4.0 の新機能

NSX Manager を 6.4.0 にアップグレードした後は、アップグレードコーディネータの機能が使えるので、アップグレードが簡素化できます。

>アップグレード コーディネータは、NSX のアップグレードのプランニングと実行を簡素化するための単一のポータルを提供します。アップグレード コーディネータでは、すべての NSX コンポーネントの完全なシステムビューが表示されます。現在のバージョンとアップグレードするバージョン、アップグレードの進行状況、ワンクリックまたはカスタムアップグレード プラン、アップグレードの前または後のチェックなどを確認できます。

NSX Edge の機能拡張 として、GRE がサポートされるようになりました（API 経由のみ）。

>GRE トンネル経由の BGP とスタティック ルートがサポートされます。

### バージョン、システム要件、およびインストール
最新情報はこちらを確認しましょう。
NSX 6.4.0 には、NSX 発売当初からサポートされてきた vSphere 5.5 との互換性がありません。
ちなみに、2018年4月17日にGAされた vSphere 6.7 は、まだ NSX 自体と互換性がありません。

>VMware 製品の相互運用性マトリックス
http://partnerweb.vmware.com/comp_guide2/sim/interop_matrix.php#interop&93=&1=

![Kobito.xVazzC.png](https://qiita-image-store.s3.amazonaws.com/0/101361/fb972814-561c-e6aa-51d5-459115021675.png "Kobito.xVazzC.png")
![Kobito.6TTZIy.png](https://qiita-image-store.s3.amazonaws.com/0/101361/7725b3a3-137f-0711-d664-5c83801e9acd.png "Kobito.6TTZIy.png")

#### 【参考】現行バージョン
##### vCenter
![Kobito.jOK5dT.png](https://qiita-image-store.s3.amazonaws.com/0/101361/3e92f3af-c6de-2227-8522-ea3a9184fa33.png "Kobito.jOK5dT.png")
##### vSphere
![Kobito.jG856d.png](https://qiita-image-store.s3.amazonaws.com/0/101361/3ed65426-65f2-a2f9-387e-b490cdcb4b0a.png "Kobito.jG856d.png")


##### NSX Manager
```
NSXManager.tok02.ibm.local> show version 

System type:          NSX Manager

System Version:       6.3.4-7087695

```

### アップグレードに関する注意事項
以前のバージョンには戻すことができませんので、念のため、注意しておきましょう。

>- ダウングレードはサポートされない:
	- アップグレードの前に、必ず NSX Manager をバックアップしてください。
	- NSX を正常にアップグレードしたあとは、ダウングレードすることはできません。

NSX と連携する仮想アプライアンスなどでパートナーサービスを使っている場合は、互換性について注意しておきましょう。

>- パートナー サービスとの互換性：サイト内で、ゲスト イントロスペクションまたはネットワーク イントロスペクション用に VMware のパートナー サービスを使用している場合、アップグレード前にVMware 互換性ガイドを参照して、アップグレードする NSX のバージョンとベンダーのサービスに互換性があることを確認してください。
- VMware Compatibility Guide - Networking and Security
	- https://www.vmware.com/resources/compatibility/search.php?deviceCategory=security&details=1&networkingPlatforms=382&page=1&display_interval=10&sortColumn=Partner&sortOrder=Asc

### NSX コンポーネントのアップグレードに関する注意事項
ホストの再起動が必要ないのは助かりますね。
（ただしメンテナンスモードにする必要があります）

>アップグレードおよびアンインストールでホストの再起動が不要：vSphere 6.0 以降で、NSX 6.2.x から NSX 6.3.x 以降にアップグレードする場合、以降の NSX VIB の変更でホストの再起動が不要になります。代わりに、VIB 変更を完了するには、ホストをメンテナンス モードにする必要があります。これは、NSX ホスト クラスタのアップグレードと ESXi のアップグレードの両方に影響します。詳細については、『NSX アップグレード ガイド』を参照してください。

### アップグレードパスのマトリックス
どのバージョンからどのバージョンにアップグレードできるか、を確認しておきます。
（今回は6.3.4からのアップグレードになります）

>VMware 製品の相互運用性マトリックス
http://partnerweb.vmware.com/comp_guide2/sim/interop_matrix.php#upgrade&solution=93

![Kobito.o9Wm7y.png](https://qiita-image-store.s3.amazonaws.com/0/101361/3e9c31f6-6787-69c2-9a41-4780776717f5.png "Kobito.o9Wm7y.png")

## NSX のアップグレードの準備
アップグレード中には、もちろん NSX の機能が影響を受けるため、メンテナンスウインドウを用意しましょう。
1 回のメンテナンス期間ですべての NSX コンポーネントをアップグレードすることをおすすめします。

>ベスト プラクティスとして、すべてのアップグレード手順が完了するまで、環境すべての運用を停止することをお勧めします。

### NSX Manager の準備
>- 同じメンテナンス期間でアップグレードする NSX Manager を決定します。
	- Cross-vCenter NSX 環境の場合、同じメンテナンス期間内にプライマリ NSX Manager とすべてのセカンダリ NSX Manager を同じ NSX バージョンにアップグレードする必要があります。
	- 同じ SSO サーバを使用する vCenter Server システムに複数の NSX Manager が接続している場合、NSXManager のバージョンのすべての組み合わせはサポートされません。サポートされる構成がメンテナンス期間の最後に残るように、NSX Manager のアップグレードをプラニングする必要があります。
		- 同じバージョンの NSX を使用している NSX Manager はすべてサポートされます。
		- 異なるバージョンの NSX を使用する NSX Manager がサポートされます。これは、1 つ以上の NSXManager に NSX 6.4.0 以降がインストールされ、他のすべての NSX Manager に NSX 6.3.3 以降がインストールされている場合に適用されます。

>- NSX Manager ファイル システムの使用量を確認し、ファイル システムの使用量が 100 パーセントの場合はクリーンアップを実行します。
	- NSX Manager にログインし、show filesystems を実行して、ファイルシステムの使用量を表示します。

```
NSXManager.tok02.ibm.local> show filesystems
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       5.6G  1.3G  4.1G  24% /
devtmpfs        7.9G     0  7.9G   0% /dev
tmpfs           7.9G  352K  7.9G   1% /run
/dev/sda6        44G  2.6G   40G   7% /common
/dev/loop0       16G   45M   15G   1% /common/vdisk_mnt
```

### バックアップ

>NSX Manager、vCenter Server、vSphere Distributed Switch の最新のバックアップがあることを確認します。「NSX のバックアップとリストア」を参照してください。

#### NSX Manager のバックアップ
NSX Manager 仮想アプライアンスに備えられている管理UIでバックアップが取得されていることを確認します。

![Kobito.Mt5GKf.png](https://qiita-image-store.s3.amazonaws.com/0/101361/f0017a55-83c8-0657-e533-c8ece4fa0afc.png "Kobito.Mt5GKf.png")


#### vSphere Distributed Switch のバックアップ
以下の手順でバックアップを取得しておきます。

![Kobito.V3O6Sz.png](https://qiita-image-store.s3.amazonaws.com/0/101361/e158e5b2-980b-5f41-2b90-d074345ff78b.png "Kobito.V3O6Sz.png")

#### vCenter Server のバックアップ
こちらもやっておきましょう。

>vCenter Server Appliance のファイルベースのバックアップとリストア
https://docs.vmware.com/jp/VMware-vSphere/6.5/com.vmware.vsphere.install.doc/GUID-3EAED005-B0A3-40CF-B40D-85AD247D7EA4.html
vSphere 6.5 では、vCenter Server Appliance 管理インターフェイスを使用して、vCenter Server Appliance と Platform Services Controller アプライアンスのファイルベースのバックアップを作成できます。バックアップの作成後、アプライアンスの GUI インストーラを使用してリストアすることができます。

![Kobito.cB3XF9.png](https://qiita-image-store.s3.amazonaws.com/0/101361/2fb8e309-c577-41ef-7707-45f8ef573cd3.png "Kobito.cB3XF9.png")


### アップグレードバンドルのダウンロード
今回は下記リンクにある NSX for vSphere 6.4.0 Upgrade Bundle を使用します

>ダウンロード VMware NSX 6.4.0
https://my.vmware.com/jp/web/vmware/details?downloadGroup=NSXV_640&productId=417&rPId=21050

## アップグレードの実施
NSX 環境のアップグレードは、次の順序で進みます。
NSX Manager -> NSX Controller クラスタ -> NSX ホスト クラスタ -> 分散論理ルーター -> ゲスト イントロスペ
クション
Edge Services Gateway は、NSX Manager のアップグレード後はいつでもアップグレードできます。

### NSX Manager のアップグレード
NSX Manager の管理 UI から、先ほどダウンロードしたアップグレードバンドルをアップロードして実行します。
![Kobito.OnrzBc.png](https://qiita-image-store.s3.amazonaws.com/0/101361/2f140fbe-ce4f-0beb-8304-b5d4a845f4a5.png "Kobito.OnrzBc.png")
![Kobito.b9y0hz.png](https://qiita-image-store.s3.amazonaws.com/0/101361/ac81d072-c853-f08e-062a-fa3888d13a8f.png "Kobito.b9y0hz.png")
![Kobito.tvAQ3t.png](https://qiita-image-store.s3.amazonaws.com/0/101361/7866cd8b-918b-682f-11a3-97eea2bf5de1.png "Kobito.tvAQ3t.png")
![Kobito.hj3mIe.png](https://qiita-image-store.s3.amazonaws.com/0/101361/c7f585bf-8f21-153e-c415-4d31ad4b33d1.png "Kobito.hj3mIe.png")

だいたい 5分くらいで終わりました。

![Kobito.gQp8OG.png](https://qiita-image-store.s3.amazonaws.com/0/101361/60233e6a-23ae-919d-3a2c-864afe45745d.png "Kobito.gQp8OG.png")

### NSX Controller クラスタのアップグレード
vSphere Web Client から NSX Controller 管理画面より「Upgrade Available」をクリックしてアップグレードを実行します。
![Kobito.pc0d3r.png](https://qiita-image-store.s3.amazonaws.com/0/101361/b01790a3-d299-3b33-0438-033935c9270c.png "Kobito.pc0d3r.png")
![Kobito.u3DeDU.png](https://qiita-image-store.s3.amazonaws.com/0/101361/e65837f0-b01b-a02a-1fa0-2d364eab47b6.png "Kobito.u3DeDU.png")

3台で、だいたい 10分くらいで終わりました。
![Kobito.phlZmv.png](https://qiita-image-store.s3.amazonaws.com/0/101361/0cb85212-bd6f-d563-afdc-155f059e55e9.png "Kobito.phlZmv.png")


### ホスト クラスタのアップグレード
vSphere Web Client から ホストクラスタ管理画面より「Upgrade Available」をクリックしてアップグレードを実行します。

![Kobito.W5WfjK.png](https://qiita-image-store.s3.amazonaws.com/0/101361/c623e56b-8bd5-f3ac-3a39-e87d2fb117ec.png "Kobito.W5WfjK.png")

メンテナンスモードも含めると十数分で済みました。
![Kobito.k2NAqA.png](https://qiita-image-store.s3.amazonaws.com/0/101361/7444974a-11fe-1f77-a1d7-bf65ef66952c.png "Kobito.k2NAqA.png")

ホストごとに、CLI でマニュアルインストールも可能です。
検証用に1台構成をしている場合はこの方式で対応可能でした。
（下記参照）
<a href="http://www.vmwarearena.com/how-to-manually-install-nsx-6-3-0-vibs-on-esxi-6-5-hosts/" >How to Manually Install NSX 6.3.0 VIBS on ESXi 6.5 Hosts</a>

### NSX Edge のアップグレード
vSphere Web Client から NSX Edge 管理画面より「Upgrade Available」をクリックしてアップグレードを実行します。

![Kobito.v9Opv8.png](https://qiita-image-store.s3.amazonaws.com/0/101361/288c1895-c3f8-35f8-d86d-435995b5783f.png "Kobito.v9Opv8.png")

1台あたり、数分で済みました。
![Kobito.Qs3aqG.png](https://qiita-image-store.s3.amazonaws.com/0/101361/9e2aaa08-3258-4407-d757-281d0635c785.png "Kobito.Qs3aqG.png")

# さいごに
今回は、1サイトでNSXのアップグレードをしてみましたが、作業自体はすべて管理 UI 経由で行うことができるので比較的簡単です。
ただ、ダウングレードをサポートしないので、各コンポーネントで何か問題が起こったときに、戻せるように事前にバックアップしておくことがやはり重要です。例えば、NSX Manager の障害時には、アプライアンスを再インストールすることが推奨されています。

><a href="https://docs.vmware.com/jp/VMware-NSX-for-vSphere/6.4/com.vmware.nsx.upgrade.doc/GUID-B22A6600-0E65-4765-AC4E-A9D20FC57D1D.html" >NSX Manager バックアップのリストア</a>
既存の NSX Manager アプライアンスでリストア操作を実行しても機能する可能性はありますが、サポートされていません。既存の NSX Manager で障害が発生した場合は、新規の NSX Manager アプライアンスをデプロイすることが想定されています。

NSX はサポート期間が従来の製品に比べて短いので、スムーズにアップグレードできるようにしておきたいですね。

# その他の参考サイト
Upgrading to NSX 6.4 – The Wifi-Cable
https://thewificable.com/2018/02/06/upgrading-to-nsx-6-4/