IBMCloud NetScaler VPX HA切替え、ファームアップ/ダウン時のダウンタイム確認

##目的
IBM Citrix Netscaler VPXを利用した際のクラスタ切り替え時と
ファームアップした時の通信断がどの程度発生するか確認してみた。

##環境
* ローカル端末：macOS Catalina 10.15.6 1台
* プラットフォーム:IBMCloud
    * ロードバランサ:Citrix NetScalerVPX NS11.1: Build 64.14.nc 1サービス
    * DNSサービス:IBMCloud DNS 1サービス
    * 接続先サーバ:CentOS 7.7.1908(Virtual Server for Classic) 2台

###概要構成図
![kou検証_日々更新.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/3f73061c-eff8-06ea-29a3-fc9b4c672164.png)

[疎通確認先]
①代表サービス(https)
②Public側(ICPM)
③Private側IP(vpx01)
④Private側IP(vpx02)

##クラスタ切替時の挙動
初期状態
vpx01(primary)
vpx02(secondary)

```
> show ha node
1)	Node ID:      0
	IP:    10.192.66.AA
	Node State: UP
	Master State: Primary
2)	Node ID:      1
	IP:    10.192.66.BB
	Node State: UP
	Master State: Secondary
```

###①vpx01(primary)を強制切替え
vpx01:primary -> <font color=red>secondary</font>
vpx02:secondary -> primary

```
> force failover
Please confirm whether you want force-failover (Y/N)? [N]:Y
 Done
```
```
1)	Node ID:      0
	IP:    10.192.66.AA
	Node State: UP
	Master State: Secondary
2)	Node ID:      1
	IP:    10.192.66.BB
	Node State: UP
	Master State: Primary
```

**通信断は見られなかった。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/4a6b4b84-9205-3ed5-66bd-ff9b46d770ca.png)

###②vpx02(primary)を強制切替え
vpx01:secondary -> primary
vpx02:primary -> <font color=red>secondary</font>

```
> force failover
Please confirm whether you want force-failover (Y/N)? [N]:Y
 Done
```
```
1)	Node ID:      0
	IP:    10.192.66.AA
	Node State: UP
	Master State: Primary
2)	Node ID:      1
	IP:    10.192.66.BB
	Node State: UP
	Master State: Secondary
```

**通信断は見られなかった。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/9c75a009-4df1-6373-14e4-c149e775a5a3.png)

**10回程試したが、手動フェイルオーバーによる通信断は見られなかった。**

##ファームアップ時の挙動を見てみる
初期状態
vpx01(primary):NS11.1: Build 64.14
vpx02(secondary)NS11.1: Build 64.14

###①vpx02(secondary)をファームアップ
vpx01:NS11.1: Build 64.14
vpx02:NS11.1: Build 64.14 → <font color=red>NS12.0: Build 57.24</font>

ファームアップした側は再起動が走るため、おおよそ75秒ほど通信が停止した。
代表サービスHTTPSの通信は、HA構成によって影響はなかった。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/91a4864c-afc9-a8d8-2117-d2c0c062ead3.png)

###②vpx01(primary)をファームアップ
vpx01:NS11.1: Build 64.14→ <font color=red>NS12.0: Build 57.24</font>
vpx02:NS12.0: Build 57.24

②の通信については、PrimaryからSecondaryに切り替わる際にICMPが4発程ロストした。
また、①通信については、webページのgetに5秒程度時間がかかった場面が見られた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/d3dc8ee9-6967-bd54-eda8-5c18a23d02a6.png)


```
while true; do curl -w "gettime:%{time_total} " https://vpx.xcloudyx.com; done
gettime:0.061294 SV11
gettime:0.054144 SV01
gettime:0.052980 SV11
gettime:0.053772 SV01
gettime:0.055017 SV11
gettime:4.950660 SV01
gettime:0.058726 SV11
gettime:0.060048 SV01
gettime:0.067780 SV11

```

##ファームダウン時の挙動を見てみる
初期状態
vpx01(primary)NS12.0: Build 57.24
vpx02(secondary)NS12.0: Build 57.24

**ダウングレードはアップデートと同様の挙動となった。**

###①vpx01(secondary)をダウングレード
vpx01:NS12.0: Build 57.24 → <font color=red>NS11.1: Build 64.14</font>
vpx02:NS12.0: Build 57.24

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/9a32de3f-46c8-9835-fcaf-333cc5a24e12.png)

###②vpx02(primary)をファームアップ
vpx01:NS11.1: Build 64.14
vpx02:NS12.0: Build 57.24 → <font color=red>NS11.1: Build 64.14</font>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/02b348ae-0d46-ec44-2ff4-9ed1c9cbb916.png)


##VPX関連リンク
[IBMCloud NetScaler VPXのオーダ](https://qiita.com/khoshina/items/048d944daf124f4d006b)
[IBMCloud NetScaler VPXの動作確認](https://qiita.com/khoshina/items/32910abdabe545c54397)
[IBMCloud NetScaler VPXの分散設定](https://qiita.com/khoshina/items/3dcc536663f3e7a724d6)