나는 virt-manager 가상 머신(모든 스냅샷 포함)을 백업/복원/복원하는 방법을 알아내려고 약 일주일을 보냈습니다.
qcow2 파일을 확인하면 생성된 모든 스냅샷이 포함되어 있습니다.
sudo qemu-img snapshot -l '../LinuxLiteV3.8.qcow2'
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 LinuxLite38_PreUD01 0 B 2020-11-06 23:37:14 00:00:00.000
2 snapshot1 0 B 2020-12-27 15:59:03 00:00:00.000
이 파일을 virt-manager의 다른 인스턴스로 가져가서 VM을 다시 생성하면 실행될 수 있지만 virt-manager는 스냅샷에 대해 알지 못하는 것 같습니다.
원래 가상 머신이 여전히 존재하므로(필요한 경우) 다음을 사용하여 xml 파일을 생성할 수 있습니다.
virsh dumpxml LinuxLiteV3.8 --security-info --migratable >LinuxLiteV3.8
virsh snapshot-dumpxml LinuxLiteV3.8 LinuxLite38_PreUD01 --security-info >LinuxLite38_PreUD01.xml
virsh snapshot-dumpxml LinuxLiteV3.8 snapshot1 --security-info >snapshot1.xml
하지만 정의를 virt-manager로 가져오는 방법을 모르겠습니다.
IIUC virsh snapshot-create는 기존 스냅샷을 가져오지 않고 새 스냅샷을 생성합니다.
이 시점에서 나는 qemu:///session으로 이동하고 싶은 qemu:///system으로 정의된 두 대의 머신을 다시 생성하려고 합니다. virsh에 qemu:///system과 qemu:///session 중에서 선택할 수 있는 -c 옵션이 있다는 것을 알고 있지만 내보내기/가져오기 방법을 모르겠습니다.
또한 시스템을 새 하드웨어로 마이그레이션하는 중이므로 새로 설치된 virt-manager에서 VM과 해당 스냅샷을 다시 로드할 수 있어야 합니다. 한 시스템에서 내보내고 다른 시스템에서 가져오는 것을 제외하면 이것이 본질적으로 동일한 문제라고 가정합니다.
qcow2 파일을 사용하는 것이 더 좋지만 원래 작업 설치가 아직 남아 있으므로 xml 파일을 사용할 수 있는 옵션이 있습니다.
답변1
"sled9"라는 이전 VM(디스크 2개와 스냅샷 2개 포함)에 대해 다음을 수행했습니다.
소스 머신에서:
~$ virsh dumpxml sled9 > sled9.xml
~$ virsh snapshot-list sled9
Name Creation Time State
--------------------------------------------------
snapshot1 2021-01-10 20:58:45 +0100 shutoff
vor grub 2019-05-03 12:43:30 +0200 running
~$ virsh snapshot-dumpxml sled9 snapshot1 > snapshot1.xml
~$ virsh snapshot-dumpxml sled9 'vor grub' > vor_grub.xml
두 개의 디스크 파일과 세 개의 xml 파일을 대상 머신의 새로 생성된 디렉터리에 복사합니다./var/lib/libvirt/images/sled9
대상 머신에서:
먼저 세 개의 xml 파일을 수정하여 디스크 파일에 대한 다양한 경로(~ /var/lib/libvirt/images/local
) 를 반영합니다 /var/lib/libvirt/images/sled9
. 이는 경로가 컴퓨터마다 다른 경우에만 중요합니다. 그 다음에
~$ virsh define sled9.xml
~$ virsh snapshot-create sled9 --xmlfile vor_grub.xml --redefine
~$ virsh snapshot-create sled9 --xmlfile snapshot1.xml --redefine
~$ virsh snapshot-list sled9
Name Creation Time State
--------------------------------------------------
snapshot1 2021-01-10 20:58:45 +0100 shutoff
vor grub 2019-05-03 12:43:30 +0200 running
대상 머신의 virtmanager에 도메인이 표시되고, 스냅샷이 표시되며, 두 머신에서 서로 다른 네트워크 인터페이스를 수정한 후 VM을 정상적으로 시작할 수 있습니다.
올바른 순서로 스냅샷을 재정의하는 것이 중요합니다. 그렇지 않으면 virsh가 불평할 것입니다(상위 누락).