LoginSignup
2
1

11. IBM Cloud: VMware as a Service(VMWaaS) - VDC間のVM/vApp Migration

Last updated at Posted at 2024-03-14

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してみたいと思います。

image.png

過去の記事はこちら。

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を作成したいと思います。

  1. NEW VAPPを押下。image.png
  2. mt-vdc01を選択。image.png
  3. vAppのNameを入力。image.png
  4. vAppが作成された。DETAILSを押下。image.png
  5. Networksに移動し、NEWを押下。image.png
  6. Directを選択し、(今回Live Migrationを実行しようと考えているjump serverが稼働している)nw1-routed-vdc01を選択。image.png
  7. vAppにnw1-routed-vdc01が追加された。image.png

同様にmt-vdc02にもvAppを作成します。

ちなみに、VMやvAppでは、image.pngというアイコンをクリックすると、データセンターの場所がわかります。
image.png

また、vAppではビューをリスト形式に切り替えた方がNW情報なども一望できるので、見やすいかもしれません。
image.png

この一連の手順で作成された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してみたいと思います。

  • Standalone VMのACTIONSからMoveを選択。image.png

  • 宛先としてmt-vdc02(DAL12)に存在するvAppを選択。image.png

  • 構成情報を指定。

    • Name/Computer NameはVMでの情報を踏襲しているが、Target VM Storage Policyは指定する必要がある。
    • NICの情報を設定。NetworkはvAppに登録したNWからしか選択できないようになっている。今回は、同一NW上での移動をしたいので、nw1-routed-vdc01を指定し、IPアドレスもVMに現在割り当てられているものと同じIPアドレスを指定する。image.png
  • DONEを押下し、Migrationを実行する。image.png

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)に移動したこともわかります。
image.png

5. VDC間 Live Migrationの実施(vApp間でVMが移動)

先ほどLive Migrationを実施したVMは、mt-vdc02(DAL12)に存在するvapp-test2に所属しています。今度は、このVMをmt-vdc01(DAL10)に存在するvapp-test1にLive Migrationします。

  • ACTIONSからMoveを選択。image.png
  • 宛先としてmt-vdc01(DAL10)に存在するvAppを選択。image.png
  • 構成情報を指定。
    • Name/Computer NameはVMでの情報を踏襲しているが、Target VM Storage Policyは指定する必要がある。
    • NICの情報を設定。NetworkはvAppに登録したNWからしか選択できないようになっている。今回は、同一NW上での移動をしたいので、nw1-routed-vdc01を指定し、IPアドレスもVMに現在割り当てられているものと同じIPアドレスを指定する。image.png
  • DONEを押下し、Migrationを実行する。image.png

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

image.png

6. VDC間 Cold Migrationの実施(vApp移動)

vAppがPower-on状態で、vAppをVDC間移動はできません(コピーはできます)。

  • 現在は、vapp-test1はmt-vdc01に存在する。image.png
  • MOVEを選択できない。image.png
  • vAppを停止する。image.pngimage.png
  • Power Off状態だと、MOVEを選択できる。image.png
  • Select a VDCを選択。image.png
  • 移動先のVDCとして、mt-vdc02を選択する。image.png
  • OKimage.png
  • mt-vdc02に移動した。image.png
2
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1