what the difference between ` virsh save ` and `virsh snapshot`? are they all used for backup for vm?have any details articles to introduce vm bakcup or image bakcup with libvirt?