1. はじめに
IBM Cloud: VMware as a Service(VMWaaS) - Data Center Groupの構成 にて、すでにmt-vdc01(DAL10)
とmt-vdc02(DAL12)
の2つに跨ったrouted networkが存在しています。今回は、mt-vdc01(DAL10)
とmt-vdc02(DAL12)
の間で、VM/vAppをMigrationしてみたいと思います。
過去の記事はこちら。
- 01. IBM Cloud: VMware as a Service(VMWaaS)の概要
- 02. IBM Cloud: VMware as a Service(VMWaaS) - VDCの注文
- 03. IBM Cloud: VMware as a Service(VMWaaS) - VDCの追加注文
- 04. IBM Cloud: VMware as a Service(VMWaaS) - 外部接続のためのネットワークとNAT/Firewallを構成する
- 05. IBM Cloud: VMware as a Service(VMWaaS) - RHELをプロビジョニングして疎通確認を行う
- 06. IBM Cloud: VMware as a Service(VMWaaS) - 検証: IBM Cloud private networkへの通信におけるSNATの必要性
- 07. IBM Cloud: VMware as a Service(VMWaaS) - 検証: isolated networkとの通信
- 08. IBM Cloud: VMware as a Service(VMWaaS) - 検証: routed network間の通信
- 09. IBM Cloud: VMware as a Service(VMWaaS) - Data Center Groupの構成
- 10. IBM Cloud: VMware as a Service(VMWaaS) - Distributed Firewallの構成
- 11. IBM Cloud: VMware as a Service(VMWaaS) - VDC間のVM/vApp Migration
- 12. IBM Cloud: VMware as a Service(VMWaaS) - VMWaaS APIの実行例
- 13. IBM Cloud: VMware as a Service(VMWaaS) - VMware Cloud Director OpenAPIの実行例
- 14. IBM Cloud: VMware as a Service(VMWaaS) - 検証: VIP切り替えによる高可用性構成の確認(手動切替)
- 15. IBM Cloud: VMware as a Service(VMWaaS) - 検証: VIP切り替えによる高可用性構成の確認(keepalived)
- 16. IBM Cloud: VMware as a Service(VMWaaS) - Transit Gateway接続
- 17. IBM Cloud: VMware as a Service(VMWaaS) - Veeam Backup and Replication service連携
2. Virtual Application(vApp)とは
VM Migrationをする前には、Virtual Application(vApp)
という概念を理解しておく必要があります。
今まで単体のVM(standalone VM)しか取り扱ってきませんでしたが、VMware Cloud Directorには、複数のVMをまとめて管理するvAppという考え方があります。例えばあるサービスを提供する際には、単体のVMではなく、Web-VM/AP-VM/DB-VMなど複数のVMから構成されていることがあります。vAppでは、このような複数のVMをまとめて管理できる機能を提供しています。vAppを利用することで、例えば、
- vApp内のVMをまとめて起動・停止ができる。VM間の起動順序も指定可能。
- vApp内のVMをまとめて移動できる。
- vApp内のVMをまとめてsnapshot取得できる。
- vApp内のNW図を表示することができる。
- VMがVMware Cloud Director内に存在するどのNWにも接続できると、誤ったNWを選択してしまう可能性がある。vAppを使うことで、、まず最初にvApp内のVMが接続して良いNWをvAppに対して割り当て、その上でvAppに所属するVMがそこからNWから選択する、という段階を踏むことができるため、より構成上のミスが生まれにくくなる。
VDC間のLive Migrationをする際には、vAppへの登録が必要になります。なお、結論から書いておくと、
- standalone VM(どのvAppにも所属していない状態のVM)のまま、別VDCへのCold Migration/Live Migrationは不可。
- standalone VM(どのvAppにも所属していない状態のVM)をvApp配下に移動する際に、別VDCへのCold Migration/Live Migrationが可能。
- vApp配下のVMを、別のvApp配下に移動する際は、別VDCへのCold Migration/Live Migrationが可能。
- vAppを丸ごと別VDCに移動する際には、Cold Migration(vAppの停止)が必要。
3. vAppを作成する。
vAppの作成して、VMを登録する方法は色々なやり方がありますが、今回は上記のいろいろなパターンの検証をやりたいので、それぞれのVDCにVMが含まれていないvAppを作成したいと思います。
-
NEW VAPP
を押下。 -
mt-vdc01
を選択。 - vAppのNameを入力。
- vAppが作成された。DETAILSを押下。
- Networksに移動し、
NEW
を押下。 - Directを選択し、(今回Live Migrationを実行しようと考えているjump serverが稼働している)
nw1-routed-vdc01
を選択。 - vAppに
nw1-routed-vdc01
が追加された。
同様にmt-vdc02
にもvAppを作成します。
この一連の手順で作成されたvAppは以下のとおりです。
vApp name | network | VDC | VM |
---|---|---|---|
vapp-test1 | nw1-routed-vdc01 | mt-vdc01(DAL10) | - |
vapp-test2 | nw1-routed-vdc01 | mt-vdc02(DAL12) | - |
4. VDC間 Live Migrationの実施(standalone VMからvAppに移動)
今回は、nw1-routed-vdc01に存在するjumpserverをVDC間でLive Migrationしてみたいと思います。
-
構成情報を指定。
mt-vdc01(DAL10)に存在する別のVM(192.168.101.2)にpingを打ちながら実行すると、このVMへの接続が停止したり、pingが途切れることなく、あるタイミングでlatencyが大きくなり、mt-vdc02(DAL10)からmt-vdc01(DAL12)に移動したことがわかります。
[root@jumpserver ~]# ping 192.168.101.2
PING 192.168.101.2 (192.168.101.2) 56(84) bytes of data.
(途中略)
64 bytes from 192.168.101.2: icmp_seq=128 ttl=63 time=0.246 ms
64 bytes from 192.168.101.2: icmp_seq=129 ttl=63 time=0.229 ms
64 bytes from 192.168.101.2: icmp_seq=130 ttl=63 time=0.254 ms
64 bytes from 192.168.101.2: icmp_seq=131 ttl=63 time=0.259 ms
64 bytes from 192.168.101.2: icmp_seq=132 ttl=63 time=0.288 ms
64 bytes from 192.168.101.2: icmp_seq=133 ttl=63 time=0.243 ms
64 bytes from 192.168.101.2: icmp_seq=134 ttl=63 time=0.242 ms
64 bytes from 192.168.101.2: icmp_seq=135 ttl=63 time=0.278 ms
64 bytes from 192.168.101.2: icmp_seq=136 ttl=63 time=0.269 ms
64 bytes from 192.168.101.2: icmp_seq=137 ttl=63 time=0.255 ms
64 bytes from 192.168.101.2: icmp_seq=138 ttl=63 time=0.265 ms
64 bytes from 192.168.101.2: icmp_seq=139 ttl=63 time=0.277 ms
64 bytes from 192.168.101.2: icmp_seq=140 ttl=63 time=0.244 ms
64 bytes from 192.168.101.2: icmp_seq=141 ttl=63 time=0.231 ms
64 bytes from 192.168.101.2: icmp_seq=142 ttl=63 time=0.234 ms
64 bytes from 192.168.101.2: icmp_seq=143 ttl=63 time=0.256 ms
64 bytes from 192.168.101.2: icmp_seq=144 ttl=63 time=0.213 ms
64 bytes from 192.168.101.2: icmp_seq=145 ttl=63 time=0.921 ms
64 bytes from 192.168.101.2: icmp_seq=146 ttl=63 time=0.368 ms
64 bytes from 192.168.101.2: icmp_seq=147 ttl=63 time=0.321 ms
64 bytes from 192.168.101.2: icmp_seq=149 ttl=63 time=1.94 ms
64 bytes from 192.168.101.2: icmp_seq=150 ttl=63 time=1.86 ms
64 bytes from 192.168.101.2: icmp_seq=151 ttl=63 time=1.84 ms
64 bytes from 192.168.101.2: icmp_seq=152 ttl=63 time=1.81 ms
64 bytes from 192.168.101.2: icmp_seq=153 ttl=63 time=1.89 ms
64 bytes from 192.168.101.2: icmp_seq=154 ttl=63 time=1.83 ms
64 bytes from 192.168.101.2: icmp_seq=155 ttl=63 time=1.84 ms
64 bytes from 192.168.101.2: icmp_seq=156 ttl=63 time=1.81 ms
64 bytes from 192.168.101.2: icmp_seq=157 ttl=63 time=1.80 ms
64 bytes from 192.168.101.2: icmp_seq=158 ttl=63 time=1.77 ms
64 bytes from 192.168.101.2: icmp_seq=159 ttl=63 time=1.79 ms
64 bytes from 192.168.101.2: icmp_seq=160 ttl=63 time=1.85 ms
64 bytes from 192.168.101.2: icmp_seq=161 ttl=63 time=1.88 ms
64 bytes from 192.168.101.2: icmp_seq=162 ttl=63 time=1.79 ms
64 bytes from 192.168.101.2: icmp_seq=163 ttl=63 time=1.79 ms
64 bytes from 192.168.101.2: icmp_seq=164 ttl=63 time=1.84 ms
64 bytes from 192.168.101.2: icmp_seq=165 ttl=63 time=1.90 ms
64 bytes from 192.168.101.2: icmp_seq=166 ttl=63 time=1.80 ms
64 bytes from 192.168.101.2: icmp_seq=167 ttl=63 time=1.78 ms
64 bytes from 192.168.101.2: icmp_seq=168 ttl=63 time=1.81 ms
64 bytes from 192.168.101.2: icmp_seq=169 ttl=63 time=1.77 ms
64 bytes from 192.168.101.2: icmp_seq=170 ttl=63 time=1.79 ms
また、以下のように、確かにmt-vdc02(DAL12)
に移動したこともわかります。
5. VDC間 Live Migrationの実施(vApp間でVMが移動)
先ほどLive Migrationを実施したVMは、mt-vdc02(DAL12)
に存在するvapp-test2
に所属しています。今度は、このVMをmt-vdc01(DAL10)
に存在するvapp-test1
にLive Migrationします。
mt-vdc01(DAL10)に存在する別のVM(192.168.101.2)にpingを打ちながら実行すると、このVMへの接続が停止したり、pingが途切れることなく、あるタイミングでlatencyが小さくなり、mt-vdc02(DAL12)からmt-vdc01(DAL10)に移動したことがわかります。
[root@jumpserver ~]# ping 192.168.101.2
PING 192.168.101.2 (192.168.101.2) 56(84) bytes of data.
(途中略)
64 bytes from 192.168.101.2: icmp_seq=37 ttl=63 time=1.84 ms
64 bytes from 192.168.101.2: icmp_seq=38 ttl=63 time=1.83 ms
64 bytes from 192.168.101.2: icmp_seq=39 ttl=63 time=1.84 ms
64 bytes from 192.168.101.2: icmp_seq=40 ttl=63 time=1.81 ms
64 bytes from 192.168.101.2: icmp_seq=41 ttl=63 time=1.83 ms
64 bytes from 192.168.101.2: icmp_seq=42 ttl=63 time=1.84 ms
64 bytes from 192.168.101.2: icmp_seq=43 ttl=63 time=1.89 ms
64 bytes from 192.168.101.2: icmp_seq=44 ttl=63 time=1.83 ms
64 bytes from 192.168.101.2: icmp_seq=45 ttl=63 time=1.89 ms
64 bytes from 192.168.101.2: icmp_seq=46 ttl=63 time=1.80 ms
64 bytes from 192.168.101.2: icmp_seq=47 ttl=63 time=1.79 ms
64 bytes from 192.168.101.2: icmp_seq=48 ttl=63 time=1.82 ms
64 bytes from 192.168.101.2: icmp_seq=49 ttl=63 time=1.83 ms
64 bytes from 192.168.101.2: icmp_seq=50 ttl=63 time=1.79 ms
64 bytes from 192.168.101.2: icmp_seq=51 ttl=63 time=2.82 ms
64 bytes from 192.168.101.2: icmp_seq=52 ttl=63 time=1.96 ms
64 bytes from 192.168.101.2: icmp_seq=53 ttl=63 time=1.85 ms
64 bytes from 192.168.101.2: icmp_seq=54 ttl=63 time=0.806 ms
64 bytes from 192.168.101.2: icmp_seq=55 ttl=63 time=0.811 ms
64 bytes from 192.168.101.2: icmp_seq=56 ttl=63 time=0.354 ms
64 bytes from 192.168.101.2: icmp_seq=57 ttl=63 time=0.360 ms
64 bytes from 192.168.101.2: icmp_seq=58 ttl=63 time=0.354 ms
64 bytes from 192.168.101.2: icmp_seq=59 ttl=63 time=0.362 ms
64 bytes from 192.168.101.2: icmp_seq=60 ttl=63 time=0.342 ms
64 bytes from 192.168.101.2: icmp_seq=61 ttl=63 time=0.327 ms
64 bytes from 192.168.101.2: icmp_seq=62 ttl=63 time=0.331 ms
64 bytes from 192.168.101.2: icmp_seq=63 ttl=63 time=0.349 ms
64 bytes from 192.168.101.2: icmp_seq=64 ttl=63 time=0.378 ms
64 bytes from 192.168.101.2: icmp_seq=65 ttl=63 time=0.332 ms
64 bytes from 192.168.101.2: icmp_seq=66 ttl=63 time=0.342 ms
64 bytes from 192.168.101.2: icmp_seq=67 ttl=63 time=0.430 ms
64 bytes from 192.168.101.2: icmp_seq=68 ttl=63 time=0.393 ms
64 bytes from 192.168.101.2: icmp_seq=69 ttl=63 time=0.378 ms
64 bytes from 192.168.101.2: icmp_seq=70 ttl=63 time=0.334 ms
64 bytes from 192.168.101.2: icmp_seq=71 ttl=63 time=0.350 ms
64 bytes from 192.168.101.2: icmp_seq=72 ttl=63 time=0.370 ms
64 bytes from 192.168.101.2: icmp_seq=73 ttl=63 time=0.297 ms
64 bytes from 192.168.101.2: icmp_seq=74 ttl=63 time=0.309 ms
6. VDC間 Cold Migrationの実施(vApp移動)
vAppがPower-on状態で、vAppをVDC間移動はできません(コピーはできます)。