Project

General

Profile

Actions

Task #5944

closed

Document how we can migrate a VM (with IP change) from a place to another

Added by Nico Schottelius almost 4 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
-
Start date:
11/03/2018
Due date:
% Done:

70%

Estimated time:
PM Check date:

Description

  • Document in this ticket
  • Include all steps with opennebula, rbd, etc.
  • Write the documentation in this ticket and when good, we port it to the wiki
Actions #1

Updated by Nico Schottelius almost 4 years ago

  • Description updated (diff)
Actions #2

Updated by Nico Schottelius almost 4 years ago

  • Status changed from New to In Progress

Starting right now

Actions #3

Updated by Jin-Guk Kwon almost 4 years ago

<Move host>
if you want to move monitoring host, you can do that as below sequence.

ex) from server2.place5 to server3.place5

You can check VM's ID on web site(opennebula.ungleich.ch by only IPV6)
VM'ID = 22779

1 onevm poweroff 22779 # for changing host and it need to complete time.(a few seconds)
2 onevm show 22779 | grep STATE
#for checking poweroff
3 onevm migrate 22779 server1.place5.ungleich.ch
#migrate temp host
4 onevm show 22779 | grep HOST
#for checking changed HOST
5 onevm resume 22779
#restart VM
6 onevm show 22779
#for checking alive and checking IP address
7 ping6 2a0a:e5c0:0:2:400:b3ff:fe39:79ff
#checking alive (if IPV6)
8 onevm migrate 22779 server3.place5.ungleich.ch --live # for changing destination host
10 onevm show 22779 # for checking status

[06:07:05] server1.place5:~# onevm poweroff 21730
[06:07:42] server1.place5:~# onevm show 21730 | grep "HOST\|STAT\|ETH0_IP6=" 
STATE               : POWEROFF
LCM_STATE           : LCM_INIT
HOST                : server1
SEQ UID  REQ   HOST         ACTION       DS           START        TIME     PROLOG
  ETH0_IP6="2a0a:e5c0:0:2:400:b3ff:fe39:7984",
[06:07:54] server1.place5:~# onevm migrate 21730 server2.place5.ungleich.ch
[06:08:10] server1.place5:~# onevm show 21730 | grep "HOST\|STAT\|ETH0_IP6=" 
STATE               : POWEROFF
LCM_STATE           : LCM_INIT
HOST                : server2.place5.ungleich.ch
SEQ UID  REQ   HOST         ACTION       DS           START        TIME     PROLOG
  ETH0_IP6="2a0a:e5c0:0:2:400:b3ff:fe39:7984",
[06:08:20] server1.place5:~# onevm resume 21730
[06:08:44] server1.place5:~# onevm show 21730 | grep "HOST\|STAT\|ETH0_IP6=" 
STATE               : ACTIVE
LCM_STATE           : RUNNING
HOST                : server2.place5.ungleich.ch
SEQ UID  REQ   HOST         ACTION       DS           START        TIME     PROLOG
  ETH0_IP6="2a0a:e5c0:0:2:400:b3ff:fe39:7984",
[06:09:04] server1.place5:~# ping6 2a0a:e5c0:0:2:400:b3ff:fe39:7984
PING 2a0a:e5c0:0:2:400:b3ff:fe39:7984(2a0a:e5c0:0:2:400:b3ff:fe39:7984) 56 data bytes
64 bytes from 2a0a:e5c0:0:2:400:b3ff:fe39:7984: icmp_seq=1 ttl=63 time=0.465 ms
64 bytes from 2a0a:e5c0:0:2:400:b3ff:fe39:7984: icmp_seq=2 ttl=63 time=0.463 ms
64 bytes from 2a0a:e5c0:0:2:400:b3ff:fe39:7984: icmp_seq=3 ttl=63 time=0.426 ms
^C
--- 2a0a:e5c0:0:2:400:b3ff:fe39:7984 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2045ms
rtt min/avg/max/mdev = 0.426/0.451/0.465/0.024 ms
[06:09:16] server1.place5:~# onevm migrate 21730 server3.place5.ungleich.ch --live
[06:09:33] server1.place5:~# onevm show 21730 | grep "HOST\|STAT\|ETH0_IP6=" 
STATE               : ACTIVE
LCM_STATE           : RUNNING
HOST                : server3.place5.ungleich.ch
SEQ UID  REQ   HOST         ACTION       DS           START        TIME     PROLOG
  ETH0_IP6="2a0a:e5c0:0:2:400:b3ff:fe39:7984",
Actions #4

Updated by Jin-Guk Kwon almost 4 years ago

<Move image>

if you want to migrate a VM from one place to another

1. onevm list
#for finding "SOURCE-VMID" at opennebula server
2. onevm power off <SOURCE-VMID>
#poweroff VM
3. ceph ssd lspools
#for checking "SOURCE-POOL" at Locate the disk in ceph
4. rbd list -p <SOURCE-POOL> | grep <SOURCE-VMID>
#for checking SOURCE-IMAGE-NAME
5. Login to the destination place
6. ceph osd lspools
#for checking "TARGET-POOL"
TARGET-IMAGE-NAME = import-SOURCE-VMID
7. rbd export <SOURCE-POOL>/<SOURCE-IMAGE-NAME> - | ssh <ANY SERVER IN OTHER PLACE> "rbd import - <TARGET-POOL>/<TARGET-IMAGE-NAME>"
#Transfer the disk into the other place ceph cluster
8. Create a new VM in target place with the same parameters as the original VM
new VM ID = TARGET-VMID
9. onevm poweroff <new VM ID>
#poweroff the new VM
10. rbd list -p <TARGET-POOL> | grep <TARGET-VMID>
#for checking Targer image at Locate the disk of the new VM
image name = NEW-DISK-ID
11. rbd rm <TARGET-POOL>/<NEW-DISK-ID>
#Delete the disk of the new VM
12. rbd mv <TARGET-POOL>/<TARGET-IMAGE-NAME> <TARGET-POOL>/<NEW-DISK-ID>
#Move the imported image to replace the disk we deleted
13. resume <new VM ID>
#Start the VM
14. ping <IP address>
#Checkout the network configuration, update the customer with the new network details

[06:49:33] server1.place5:~# onevm show 19027 | grep "HOST\|STAT" 
STATE               : ACTIVE
LCM_STATE           : RUNNING
HOST                : server3.place5.ungleich.ch
SEQ UID  REQ   HOST         ACTION       DS           START        TIME     PROLOG
[07:11:49] server1.place5:~# onevm poweroff 19027
[07:12:01] server1.place5:~# onevm show 19027 | grep "HOST\|STAT" 
STATE               : POWEROFF
LCM_STATE           : LCM_INIT
HOST                : server3.place5.ungleich.ch
SEQ UID  REQ   HOST         ACTION       DS           START        TIME     PROLOG
[07:12:29] server1.place5:~# rbd list -p one |grep 19027
one-31-19027-0
[07:14:07] server1.place5:~# rbd export one/one-31-19027-0 - | ssh black2.place6.ungleich.ch "rbd import - ssd/19027" 
Exporting image: 100% complete...done.
Importing image: 100% complete...done.
[06:35:16] black2.place6:~# rbd list -p ssd | grep 23741
one-331-23741-0
[07:29:02] black2.place6:~# rbd rm ssd/one-331-23741-0
Removing image: 100% complete...done.
[07:31:50] black2.place6:~# rbd mv ssd/19027 ssd/one-331-23741-0
[07:32:46] black2.place6:~#
[07:30:44] server1.place5:~# onevm resume 23741
[07:34:09] server1.place5:~# onevm show 23741 | grep "HOST\|STAT" 
STATE               : ACTIVE
LCM_STATE           : RUNNING
HOST                : ciara4.place6.ungleich.ch
SEQ UID  REQ   HOST         ACTION       DS           START        TIME     PROLOG
Actions #5

Updated by Jin-Guk Kwon almost 4 years ago

<add new IPV4>

1. onevm poweroff <VM ID> or click poweroff on opennebula web
2. click attach IP config on opennebula web(newtwork tab)
3. select IPV4 among the template
#fit to place
4. onevm resuem <VM ID> or click resume at VM on opennebula web
5. ping <new IP address>

Actions #6

Updated by Jin-Guk Kwon over 3 years ago

  • Status changed from In Progress to Feedback
  • Assignee changed from Jin-Guk Kwon to Nico Schottelius
  • % Done changed from 0 to 70
Actions #7

Updated by Nico Schottelius over 3 years ago

  • Status changed from Feedback to Closed
  • Assignee changed from Nico Schottelius to Jin-Guk Kwon
Actions

Also available in: Atom PDF