KVM backup

From vpsget wiki
Jump to: navigation, search


Creating copy of an existing VM:
Find the VM you want to save.

[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg1/kvm101_img
  LV Name                kvm101_img
  VG Name                vg1
  LV UUID                ZCfjys-Ut9b-2iKZ-VFen-DG2i-79Hn-dfUnOf
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 1
  LV Size                30.00 GiB
  Current LE             960
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     1024
  Block device           253:0

Shutdown it

virsh shutdown kvm101

Now create the backup

dd if=/dev/vg1/kvm101_img | gzip | dd of=/home/kvm101_backup.gz bs=4096

Make sure you replaced vg1 with proper Volume Group.
This archive can be used either for general backup or for cloning, migrating VMs.
Restoring backup:
Backup file can be sent to remote server:

scp /home/kvm101_backup.gz root@remote.server.com:/home/

See man scp if any issues.
Create a logical volume the same size as the original one:

lvcreate -n kvm101_img --size 30G /dev/vg1

Restore backup to the new volume

dd if=/home/kvm101_backup.gz | gzip -d | dd of=/dev/vg1/kvm101_img bs=4096

If source VM became useless it can be removed

lvremove /dev/vg1/kvm101_img