PowerVS/x86間のDirect LinkをPERに切り替える際の諸々を確認

:::note info
当記事はPower Edge Router(PER)への切り替え前後・切り替え中にいくつか試した事のメモです。
順を追った切り替え操作についてはこちらをご参照ください。
https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-migrate-ws-per
https://qiita.com/y_tama/items/f709a2030e85ef0ef382
:::

前提：
ClassicのVSI(10.192.201.131)からPowerVS(192.168.150.144, 192.168.140.71)に対する接続を確認

# Direct Link(DL)経由のtracerouteとping


```:ClassicのVSIからPowerVSにtraceroute
# traceroute 192.168.150.144
traceroute to 192.168.150.144 (192.168.150.144), 30 hops max, 60 byte packets
 1  169.254.156.179 (169.254.156.179)  1.107 ms 169.254.156.178 (169.254.156.178)  1.162 ms  1.082 ms
 2  * * *
 3  169.254.0.5 (169.254.0.5)  1.283 ms  1.624 ms  1.565 ms
 4  169.254.0.6 (169.254.0.6)  0.891 ms  0.848 ms  0.959 ms
 5  192.168.150.1 (192.168.150.1)  1.479 ms  1.046 ms  1.922 ms
 6  192.168.150.144 (192.168.150.144)  0.784 ms  0.473 ms  0.542 ms
# 
```

Direct Linkの画面で確認できるXCR（169.254.0.5/30）やPowerVS側IP（169.254.0.6/30）を経由している事が分かる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/0a4b56ba-f6f3-67bc-b486-a9b01c40fa03.png)

```
# ping 192.168.150.144
PING 192.168.150.144 (192.168.150.144) 56(84) bytes of data.
64 bytes from 192.168.150.144: icmp_seq=1 ttl=250 time=0.636 ms
64 bytes from 192.168.150.144: icmp_seq=2 ttl=250 time=0.421 ms
64 bytes from 192.168.150.144: icmp_seq=3 ttl=250 time=0.418 ms
64 bytes from 192.168.150.144: icmp_seq=4 ttl=250 time=0.482 ms
^C
--- 192.168.150.144 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3101ms
rtt min/avg/max/mdev = 0.418/0.489/0.636/0.088 ms
#
```

## caseを起票しPERの有効化を依頼

## 1営業日ほどでPERが有効化された（※週末は対応に時間がかかる可能性あり）

以上の手順はメンテナンス時間でなくても実施可能。（caseを介したサポート側の処理もあり、完了時間を正確に見積もれないので、メンテナンスウインドウより事前に実施しておくのが良い。）

## Transit Gateway(TGW)をオーダーし、PowerVSとClassicを接続

ここからの作業はネットワーク断が発生する可能性があるため、メンテナンスウインドウでの実施を推奨。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/715104d3-eb0d-0105-861f-6cdf52e31c09.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/a8880728-fbe0-c8fc-a9b5-cf332b9a125e.png)


これでDL経由とTGW+PER経由の2経路が有効な状態になる。
続いて、DL側経路をDenyすることでTGW+PER経路が使われる状態にする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/00164946-76cd-855b-b043-91b23fd1cdac.png)

DL経路をDenyにした時、pingは1パケットロス（icmp_seq=59が欠落している）

```
64 bytes from 192.168.150.144: icmp_seq=54 ttl=250 time=0.480 ms
64 bytes from 192.168.150.144: icmp_seq=55 ttl=250 time=0.470 ms
64 bytes from 192.168.150.144: icmp_seq=56 ttl=250 time=0.443 ms
64 bytes from 192.168.150.144: icmp_seq=57 ttl=250 time=0.464 ms
64 bytes from 192.168.150.144: icmp_seq=58 ttl=250 time=0.488 ms
64 bytes from 192.168.150.144: icmp_seq=60 ttl=250 time=0.484 ms
64 bytes from 192.168.150.144: icmp_seq=61 ttl=250 time=0.469 ms
64 bytes from 192.168.150.144: icmp_seq=62 ttl=250 time=0.499 ms
64 bytes from 192.168.150.144: icmp_seq=63 ttl=250 time=0.488 ms
64 bytes from 192.168.150.144: icmp_seq=64 ttl=250 time=0.495 ms
64 bytes from 192.168.150.144: icmp_seq=65 ttl=250 time=0.461 ms
64 bytes from 192.168.150.144: icmp_seq=66 ttl=250 time=0.535 ms
64 bytes from 192.168.150.144: icmp_seq=67 ttl=250 time=0.484 ms
64 bytes from 192.168.150.144: icmp_seq=68 ttl=250 time=0.481 ms
64 bytes from 192.168.150.144: icmp_seq=69 ttl=250 time=0.482 ms
64 bytes from 192.168.150.144: icmp_seq=70 ttl=250 time=0.496 ms
64 bytes from 192.168.150.144: icmp_seq=71 ttl=250 time=0.489 ms
64 bytes from 192.168.150.144: icmp_seq=72 ttl=250 time=0.526 ms
^C
--- 192.168.150.144 ping statistics ---
72 packets transmitted, 71 received, 1.38889% packet loss, time 72692ms
rtt min/avg/max/mdev = 0.434/0.475/0.658/0.029 ms
# 

```

# TGW+PER経由のtracerouteとping

明確にこれがTGWのIPアドレスであるという情報は無いが、経路がDL経由の時とは変わり、XCR（169.254.0.5/30）やPowerVS側IP（169.254.0.6/30）を経由しなくなった。

```
# traceroute 192.168.150.144
traceroute to 192.168.150.144 (192.168.150.144), 30 hops max, 60 byte packets
 1  169.254.156.178 (169.254.156.178)  1.429 ms  1.326 ms  1.583 ms
 2  * * *
 3  169.254.63.81 (169.254.63.81)  2.057 ms 169.254.63.83 (169.254.63.83)  1.804 ms  2.053 ms
 4  * * *
 5  192.168.150.1 (192.168.150.1)  2.020 ms  2.269 ms  2.669 ms
 6  192.168.150.1 (192.168.150.1)  1.046 ms  1.057 ms  1.392 ms
 7  192.168.150.144 (192.168.150.144)  0.529 ms  0.608 ms  0.584 ms
# 
```

```
# ping 192.168.150.144
PING 192.168.150.144 (192.168.150.144) 56(84) bytes of data.
64 bytes from 192.168.150.144: icmp_seq=1 ttl=250 time=0.653 ms
64 bytes from 192.168.150.144: icmp_seq=2 ttl=250 time=0.505 ms
64 bytes from 192.168.150.144: icmp_seq=3 ttl=250 time=0.485 ms
64 bytes from 192.168.150.144: icmp_seq=4 ttl=250 time=0.483 ms
^C
--- 192.168.150.144 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3050ms
rtt min/avg/max/mdev = 0.483/0.531/0.653/0.070 ms
# 
```

# 切り戻しテスト
DL経路を再びPermitし、TGW+PER側経路についてTGWのフィルタ機能でDenyしてDL経路に切り戻ることを確認（検証目的。通常のPER切り替えでは不要。）

DL画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/43ee75d9-7812-d8cc-6a2e-4f61110c7188.png)

TGW画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/a771944d-88ab-5e9c-e47d-404581fd227c.png)


下記のtracerouteが示すようにDL経路に戻った。

切り替わり中のping
今回はパケットロスも目立った遅延も無かった。

```
64 bytes from 192.168.150.144: icmp_seq=70 ttl=250 time=0.462 ms
64 bytes from 192.168.150.144: icmp_seq=71 ttl=250 time=0.463 ms
64 bytes from 192.168.150.144: icmp_seq=72 ttl=250 time=0.483 ms
64 bytes from 192.168.150.144: icmp_seq=73 ttl=250 time=0.481 ms
64 bytes from 192.168.150.144: icmp_seq=74 ttl=250 time=0.442 ms
64 bytes from 192.168.150.144: icmp_seq=75 ttl=250 time=0.495 ms
64 bytes from 192.168.150.144: icmp_seq=76 ttl=250 time=0.457 ms
64 bytes from 192.168.150.144: icmp_seq=77 ttl=250 time=0.473 ms
64 bytes from 192.168.150.144: icmp_seq=78 ttl=250 time=0.449 ms
64 bytes from 192.168.150.144: icmp_seq=79 ttl=250 time=0.461 ms
64 bytes from 192.168.150.144: icmp_seq=80 ttl=250 time=0.469 ms
64 bytes from 192.168.150.144: icmp_seq=81 ttl=250 time=0.479 ms
64 bytes from 192.168.150.144: icmp_seq=82 ttl=250 time=0.480 ms
64 bytes from 192.168.150.144: icmp_seq=83 ttl=250 time=0.450 ms
64 bytes from 192.168.150.144: icmp_seq=84 ttl=250 time=0.456 ms
64 bytes from 192.168.150.144: icmp_seq=85 ttl=250 time=0.473 ms
64 bytes from 192.168.150.144: icmp_seq=86 ttl=250 time=0.453 ms
64 bytes from 192.168.150.144: icmp_seq=87 ttl=250 time=0.442 ms
64 bytes from 192.168.150.144: icmp_seq=88 ttl=250 time=0.435 ms
64 bytes from 192.168.150.144: icmp_seq=89 ttl=250 time=0.425 ms
64 bytes from 192.168.150.144: icmp_seq=90 ttl=250 time=0.444 ms
64 bytes from 192.168.150.144: icmp_seq=91 ttl=250 time=0.444 ms
64 bytes from 192.168.150.144: icmp_seq=92 ttl=250 time=0.462 ms
64 bytes from 192.168.150.144: icmp_seq=93 ttl=250 time=0.450 ms
64 bytes from 192.168.150.144: icmp_seq=94 ttl=250 time=0.473 ms
64 bytes from 192.168.150.144: icmp_seq=95 ttl=250 time=0.463 ms
64 bytes from 192.168.150.144: icmp_seq=96 ttl=250 time=0.417 ms
^C
--- 192.168.150.144 ping statistics ---
96 packets transmitted, 96 received, 0% packet loss, time 97265ms
rtt min/avg/max/mdev = 0.417/0.468/0.637/0.027 ms
# 
```

traceroute確認。
初期状態と同じ経路になり、XCR（169.254.0.5/30）やPowerVS側IP（169.254.0.6/30）を通っている。

```:ClassicのVSIからPowerVSにtraceroute
# traceroute 192.168.150.144
traceroute to 192.168.150.144 (192.168.150.144), 30 hops max, 60 byte packets
 1  169.254.156.178 (169.254.156.178)  1.165 ms 169.254.156.179 (169.254.156.179)  0.945 ms  0.997 ms
 2  * * *
 3  169.254.0.5 (169.254.0.5)  1.329 ms  1.344 ms  1.264 ms
 4  169.254.0.6 (169.254.0.6)  0.561 ms  0.481 ms  0.640 ms
 5  192.168.150.1 (192.168.150.1)  1.771 ms  0.968 ms  2.132 ms
 6  192.168.150.144 (192.168.150.144)  0.561 ms  0.479 ms  0.627 ms
# 
```

以上