User Tools

Site Tools


cloudstack:datadisk_migration

перенос root-volume

1. остановим виртуалку в вебморде

2. найдем файл от VOLUME:

mysql> select uuid,path,pool_id from volumes where name='ROOT-1109';
+--------------------------------------+--------------------------------------+---------+
| uuid                                 | path                                 | pool_id |
+--------------------------------------+--------------------------------------+---------+
| 99c3623a-fcc5-422a-83d8-e484c13c8fdb | 99c3623a-fcc5-422a-83d8-e484c13c8fdb |      31 |
+--------------------------------------+--------------------------------------+---------+
1 row in set (0.00 sec)
[root@ad206 ~]# ls -lah /var/lib/libvirt/images/99c3623a-fcc5-422a-83d8-e484c13c8fdb
-rwxr--r-- 1 root root 13M Jun 13 12:24 /var/lib/libvirt/images/99c3623a-fcc5-422a-83d8-e484c13c8fdb

3. копируем его на shared datastore

[root@ad206 ~]# qemu-img convert -f qcow2 -O qcow2 -p /var/lib/libvirt/images/99c3623a-fcc5-422a-83d8-e484c13c8fdb /mnt/14bac4dc-53b5-3e73-8ad9-7fd57a4cf73c/99c3623a-fcc5-422a-83d8-e484c13c8fdb

4. выставим права 744, проверим

[root@ad206 ~]# chmod 744 /mnt/14bac4dc-53b5-3e73-8ad9-7fd57a4cf73c/99c3623a-fcc5-422a-83d8-e484c13c8fdb
[root@ad206 ~]# ls -lah /var/lib/libvirt/images/99c3623a-fcc5-422a-83d8-e484c13c8fdb /mnt/14bac4dc-53b5-3e73-8ad9-7fd57a4cf73c/99c3623a-fcc5-422a-83d8-e484c13c8fdb
-rwxr--r-- 1 root root 1.1G Jun 13 12:31 /mnt/14bac4dc-53b5-3e73-8ad9-7fd57a4cf73c/99c3623a-fcc5-422a-83d8-e484c13c8fdb
-rwxr--r-- 1 root root  13M Jun 13 12:24 /var/lib/libvirt/images/99c3623a-fcc5-422a-83d8-e484c13c8fdb

Как видно, размер перенесенного образа больше. Это связано с тем, что оригинальный образ - это ссылка на разницу от оригинального темплейта.

5. переименуем старый диск

[root@ad206 ~]# mv /var/lib/libvirt/images/99c3623a-fcc5-422a-83d8-e484c13c8fdb /var/lib/libvirt/images/99c3623a-fcc5-422a-83d8-e484c13c8fdb.old

6. поменяем пул для диска

mysql> update volumes set pool_id=42  where uuid='99c3623a-fcc5-422a-83d8-e484c13c8fdb';
Query OK, 1 row affected (0.06 sec)
Rows matched: 1  Changed: 1  Warnings: 0

7. найдем его текущий диск офферинг

mysql> select disk_offering_id  from volumes where uuid='99c3623a-fcc5-422a-83d8-e484c13c8fdb';
+------------------+
| disk_offering_id |
+------------------+
|              302 |
+------------------+
1 row in set (0.00 sec)

8. смотрим на этот офферинг

mysql> select id,domain_id,name,use_local_storage,disk_size,tags,state from disk_offering where id=302;
+-----+-----------+------------------+-------------------+-----------+-----------+--------+
| id  | domain_id | name             | use_local_storage | disk_size | tags      | state  |
+-----+-----------+------------------+-------------------+-----------+-----------+--------+
| 302 |       211 | cloud vds master |                 1 |         0 | local_sas | Active |
+-----+-----------+------------------+-------------------+-----------+-----------+--------+
1 row in set (0.00 sec)

9. меняем тип локал_стораджа и убираем теги

mysql> update disk_offering set use_local_storage=0  where id=302;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> update disk_offering set tags='sharedstor'  where id=302;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

10. смотрим текущий compute офферинг для виртуалки

mysql> select service_offering_id from vm_instance where instance_name='i-2-1109-VM';
+---------------------+
| service_offering_id |
+---------------------+
|                 302 |
+---------------------+
1 row in set (0.00 sec)

11. смотрим его подробности

mysql> select id,name,use_local_storage,host_tag,domain_path from service_offering_view where id=302;
+-----+------------------+-------------------+-----------+-------------------------+
| id  | name             | use_local_storage | host_tag  | domain_path             |
+-----+------------------+-------------------+-----------+-------------------------+
| 302 | cloud vds master |                 0 | local_sas | /colobridge/vds/master/ |
+-----+------------------+-------------------+-----------+-------------------------+
1 row in set (0.00 sec)

12. ищем соответствующий офферинг для шаред стораджа

mysql> select id,name,use_local_storage,host_tag,domain_path from service_offering_view where domain_path='/colobridge/vds/master/';
+-----+-------------------+-------------------+-----------+-------------------------+
| id  | name              | use_local_storage | host_tag  | domain_path             |
+-----+-------------------+-------------------+-----------+-------------------------+
| 302 | cloud vds master  |                 0 | local_sas | /colobridge/vds/master/ |
| 660 | cloud vds master2 |                 0 | NULL      | /colobridge/vds/master/ |
+-----+-------------------+-------------------+-----------+-------------------------+
2 rows in set (0.00 sec)

13. меняем офферинг

mysql> update  vm_instance set service_offering_id=660  where instance_name='i-2-1109-VM';
Query OK, 1 row affected (0.08 sec)
Rows matched: 1  Changed: 1  Warnings: 0

14. запускаем виртуалку из вебморды

15. проверяем

[root@ad206 ~]# ps auxww|grep i-2-1109-VM|grep --color file
root      3737 62.5  0.1 11464888 444520 ?     Sl   13:19   0:10 /usr/libexec/qemu-kvm -name i-2-1109-VM -S -M rhel6.5.0 -enable-kvm -m 8192 -realtime mlock=off -smp 4,sockets=1,cores=4,threads=1 -uuid bcd5781b-ac4f-4b7c-a46f-aa755cc35748 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/i-2-1109-VM.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/mnt/14bac4dc-53b5-3e73-8ad9-7fd57a4cf73c/99c3623a-fcc5-422a-83d8-e484c13c8fdb,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 -drive file=/mnt/14bac4dc-53b5-3e73-8ad9-7fd57a4cf73c/e353f155-be74-436d-8138-e5e10b3d8f19,if=none,id=drive-virtio-disk1,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw,cache=none -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 -netdev tap,fd=35,id=hostnet0,vhost=on,vhostfd=72 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=06:04:c2:00:04:5a,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc 172.16.0.242:45,password -vga cirrus

16. удаляем старый файл

[root@ad206 ~]# rm /var/lib/libvirt/images/99c3623a-fcc5-422a-83d8-e484c13c8fdb.old

миграция DATA-дисков

[root@ad206 ~]# qemu-img convert -f qcow2 -O qcow2 -p /var/lib/libvirt/images/e353f155-be74-436d-8138-e5e10b3d8f19 /mnt/14bac4dc-53b5-3e73-8ad9-7fd57a4cf73c/e353f155-be74-436d-8138-e5e10b3d8f19
[root@ad206 ~]# mv /var/lib/libvirt/images/e353f155-be74-436d-8138-e5e10b3d8f19 /var/lib/libvirt/images/e353f155-be74-436d-8138-e5e10b3d8f19.old
[root@ad206 ~]# chmod 744 /mnt/14bac4dc-53b5-3e73-8ad9-7fd57a4cf73c/e353f155-be74-436d-8138-e5e10b3d8f19                                    
[root@ad206 ~]# ls -lah /mnt/14bac4dc-53b5-3e73-8ad9-7fd57a4cf73c/e353f155-be74-436d-8138-e5e10b3d8f19 /var/lib/libvirt/images/e353f155-be74-436d-8138-e5e10b3d8f19
-rwxr--r-- 1 root root 211K Jun 13 12:04 /mnt/14bac4dc-53b5-3e73-8ad9-7fd57a4cf73c/e353f155-be74-436d-8138-e5e10b3d8f19
-rwxr--r-- 1 root root 211K Jun 13 11:24 /var/lib/libvirt/images/e353f155-be74-436d-8138-e5e10b3d8f19
 
 
[root@ad192 ~]# mysql cloud
mysql> update volumes set pool_id=42  where uuid='e353f155-be74-436d-8138-e5e10b3d8f19';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
 
mysql> select disk_offering_id  from volumes where uuid='e353f155-be74-436d-8138-e5e10b3d8f19' \G
*************************** 1. row ***************************
disk_offering_id: 346
1 row in set (0.00 sec)
 
mysql> select id,domain_id,name,use_local_storage,disk_size,tags,state from disk_offering where id=346;
+-----+-----------+--------------------+-------------------+---------------+-----------+--------+
| id  | domain_id | name               | use_local_storage | disk_size     | tags      | state  |
+-----+-----------+--------------------+-------------------+---------------+-----------+--------+
| 346 |       211 | Data Disk - Master |                 1 | 1250909224960 | local_sas | Active |
+-----+-----------+--------------------+-------------------+---------------+-----------+--------+
1 row in set (0.00 sec)
 
 
 
mysql> update disk_offering set use_local_storage=0  where id=346;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> update disk_offering set tags=''  where id=346;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
[root@ad206 ~]#  ps auxww|grep --color e353f155-be74-436d-8138-e5e10b3d8f19
root     12825 25.8  0.1 9916888 439944 ?      Sl   12:20   0:12 /usr/libexec/qemu-kvm -name i-2-1109-VM -S -M rhel6.5.0 -enable-kvm -m 8192 -realtime mlock=off -smp 4,sockets=1,cores=4,threads=1 -uuid bcd5781b-ac4f-4b7c-a46f-aa755cc35748 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/i-2-1109-VM.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/libvirt/images/99c3623a-fcc5-422a-83d8-e484c13c8fdb,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 -drive file=/mnt/14bac4dc-53b5-3e73-8ad9-7fd57a4cf73c/e353f155-be74-436d-8138-e5e10b3d8f19,if=none,id=drive-virtio-disk1,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw,cache=none -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 -netdev tap,fd=79,id=hostnet0,vhost=on,vhostfd=29 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=06:04:c2:00:04:5a,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc 172.16.0.242:49,password -vga cirrus
data-диск перемещен.
 
[root@ad206 ~]# rm /var/lib/libvirt/images/e353f155-be74-436d-8138-e5e10b3d8f19.old
cloudstack/datadisk_migration.txt · Last modified: 2014/08/25 09:43 by slayer