Migrate to a bigger disk possible?

Paul van der Vlis paul at vandervlis.nl
Mon Apr 27 08:13:37 UTC 2020


Op 27-04-2020 om 09:02 schreef Peter Krempa:
> On Sat, Apr 25, 2020 at 16:40:35 +0200, Paul van der Vlis wrote:
>> Op 25-04-2020 om 16:00 schreef Paul van der Vlis:
>>> Hello,
>>>
>>> I have a qcow2 disk what needs to become increased.
>>>
>>> I don't have space on the location where it is now to have it two time,
>>> so I want to live-migrate it to another host.
>>>
>>> On the other host I have to create a qcow2 disk before I can migrate.
>>>
>>> What would happen when I would create there a bigger qcow2 disk then the
>>> original one?  Can I resize the filesystem after the migration?
>>
>> Not sure why, but I thought it's not possible to encrease qcow2 disks
>> without copying the disk. But now I find many manuals what say it's no
>> problem. Sorry...
> 
> It definitely is possible. There are multiple options though and I
> didn't quite get which one is your case:
> 
> 1) QCOW2 image is too small but theres unused space on the filesystem
>    where the image is stored:
> 
>    - live:
>    The image can be resized live via 'virsh blockresize'. You then must
>    modify the partitions and enlarge filesystem.

Interesting, that would be better then what I did now.

>    - offline:
>    'virt-resize' tool from the libguestfs package can be used to do it
>    offline and it should be able to resize your partitions and
>    filesystem as well.

What I did is this:

virsh shutdown kvm68
qemu-img resize /data/kvm68.qcow2 +800G
virsh start kvm68
ssh root at kvm68.vandervlis.nl
  lsblk
  pvs
  apt install cloud-guest-utils
  growpart /dev/vda 1
  pvresize /dev/vda1
  lsblk
  lvextend -rL +100G /dev/vg0/root

> 2) QCOW2 is too small and there isn't enough space on the filesystem,
>    but there's enough space on a different filesystem on the same host:
> 
>    - live:
>    'virsh blockcopy' can be used to copy the existing image to the new
>    filesystem while the VM is running and then switch to it. You can
>    then use same steps as in 1) to resize the filesystem.

I did not know this command. Thanks. Could be usefull.

>    - offline
>    copying the image and using the steps from 1) is the best bet here
> 
> 3) QCOW2 is too small and there isn't enough storage on the same host,
>    but there is a different host where I want to run it.
> 
>    -live
>    You can use VM live migration to migrate the VM to the other host and
>    then enlarge the disk using steps in 1). Please refer to the docs of
>    live migration.

I use normally something like this, because in my case every fysical
server has it's own storage:

virsh migrate --live --p2p --copy-storage-inc --persistent \
  --undefinesource --verbose $vm qemu+ssh://$other/system

A point is that I have to create disk(s) on the other side with
qemu-img, I did not found a way to do that automatically. My question
was what would happen when I would create a bigger disk there then the
original one.

>    - offline
>    Copying the image and VM XML config is the best bet here.

Thanks for your story!


With regards,
Paul


-- 
Paul van der Vlis Linux systeembeheer Groningen
https://www.vandervlis.nl/





More information about the libvirt-users mailing list