Skip to content

Instantly share code, notes, and snippets.

@zzeroo
Created April 9, 2020 06:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zzeroo/b4c93bf1b5e50a0e71555bdf74bce639 to your computer and use it in GitHub Desktop.
Save zzeroo/b4c93bf1b5e50a0e71555bdf74bce639 to your computer and use it in GitHub Desktop.
Backup all libvirt instances
# Backup virtual maschines
# TODO: debug notes `echo 'backup vm $i'`
# fish
for i in (virsh --connect=qemu:///system list --all --name); [ ! -z $i ] && virsh --connect=qemu:///system dumpxml $i | sudo tee /var/lib/libvirt/images/$i.xml >/dev/null ; end
# bash
#for i in $(virsh --connect=qemu:///system list --all --name); do [ ! -z $i ] && virsh --connect=qemu:///system dumpxml $i | sudo tee /var/lib/libvirt/images/$i.xml >/dev/null ; done
# Create btrfs Snapshot
sudo btrfs subvol snap -r /mnt/btrfs_storage2900G/@var-lib-libvirt-images /mnt/btrfs_storage2900G/@snapshots/@var-lib-libvirt-images-ro
# Mount snapshots volume
sudo mount /dev/sdb1 /mnt/disk -osubvol=@snapshots/@var-lib-libvirt-images-ro
# Mount backup target
sudo mkdir -p /mnt/export/linux00/nas
sudo mount -tnfs4 linux00:/srv/nas /mnt/export/linux00/nas
# Backup
sudo rsync -aP /mnt/disk /mnt/export/linux00/nas/
# Umount snapshot volume
sudo umount /mnt/disk
# Umount backup target
sudo umount /mnt/export/linux00/nas
# Delete snapshot
sudo btrfs subvol delete /mnt/btrfs_storage2900G/@snapshots/@var-lib-libvirt-images-ro
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment