qcow2 스냅샷을 적용하여 원본 디스크 이미지를 덮어쓰는 방법은 무엇입니까?

qcow2 스냅샷을 적용하여 원본 디스크 이미지를 덮어쓰는 방법은 무엇입니까?

원시 디스크 형식으로 생성된 가상 머신이 있었지만 나중에 virsh와 qemu-img가 qcow2 형식의 스냅샷 생성만 지원한다는 사실을 알게 되었습니다.

그래서 기본 원시 디스크를 qcow2로 변환한 다음 디스크의 스냅샷을 생성했습니다. 이제 질문은 기본 원시 디스크 이미지에 스냅샷을 어떻게 적용합니까?

나는 시도했다:

$ qemu-img snapshot -a disk1-snapshot1.qcow2 disk1.img
WARNING: Image format was not specified for 'disk1.img' and probing guessed raw.
         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
         Specify the 'raw' format explicitly to remove the restrictions.
WARNING: Image format was not specified for 'disk1.img' and probing guessed raw.
         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
         Specify the 'raw' format explicitly to remove the restrictions.
qemu-img: Could not apply snapshot 'disk1-snapshot1.qcow2': -95 (Operation not supported)

답변1

원시 디스크를 qcow2 형식으로 변환한 후 "qemu-img"를 사용하여 기본 이미지에서 스냅샷을 생성합니다.

qemu-img create -f qcow2 -b <Base-Image>.qcow2 <Base-Image-Snapshot>.qcow2

스냅샷의 크기는 약 200KB입니다. 또한 스냅샷을 디스크 이미지로 사용하는 새 게스트 가상 머신을 설치해야 합니다.

virt-install --virt-type=kvm --name=<New-Guest-VM> --ram 2048 --vcpus=2 --virt-type=kvm --hvm --network network=default --graphics vnc --disk <Base-Image-Snapshot>.qcow2 --boot=hd --noautoconsole

이제 새 게스트 가상 머신을 시작할 수 있습니다.

그리고 스냅샷은 기본 이미지의 변경 사항만 저장하므로 호스트 공간이 많이 절약됩니다. :)

관련 정보