2016-11-12 5 views
0

libvirt을 사용하여 한 번에 동일한 이미지를 기반으로 여러 도메인 (VM)을 실행하고 싶습니다. 이미지 자체를 수정해서는 안됩니다. 이미지는 시작점 또는 템플리트로 간주되어야합니다.단일 이미지를 기반으로 여러 VM 만들기

명백한 가능성은 모든 도메인에 대해 (임시) 복사본을 만드는 것입니다. 이미지에 여러 GB가 필요할 수 있으므로 매번 전체 복사본을 만들고 싶지 않습니다. 차이점 만 저장하려고합니다. 설명서를 이해함에 따라 외부 스냅 샷은 이러한 기술을 사용하고 있습니다. 그러나 스냅 샷은 도메인에 바인딩되어있어 템플릿으로 사용할 수 없습니다.

documentation of qemu에 따르면, 나는 -snapshot 옵션을 전달하는 동안 qemu를 직접 사용할 수 있습니다. 수동으로 변경 사항을 커밋하지 않는 한 제대로 작동합니다.

qemu-system-x86_64 -snapshot -hda <image> 

libvirt를에서 비슷한 일을 달성 할 수있는 방법이 있습니까?

답변

1

qcow2 백업 파일을 사용하면됩니다. 다음 단계에서는 이미 qcow2로 기본 이미지를 가지고 있다고 가정합니다. , 게스트에 그런

qemu-img create -f qcow2 \ 
       -o backing_file=/path/to/base/image.qcow2 \ 
       /path/to/guest/image.qcow2 

를 디스크로 /path/to/guest/image.qcow2를 사용

은 기본 이미지로 백업 디스크 이미지를 만듭니다. 이 파일은 기본 이미지와의 차이점 만 가져옵니다.

자세한 내용은 qemu-img의 man 페이지를 확인하십시오. qemu-img는 오버레이 파일 변경 사항을 기본 이미지로 커밋하고 다른베이스에서 rebase 명령을 내릴 수 있습니다.

+0

고마워요! 제가 확인하겠습니다. :) – JojOatXGME

+0

이 방법으로 작동합니다. 나는'qemu-img'를 직접 호출하는 것을 피하고 싶지만 * libvirt *로 이미지를 만들려면 * storage-pools *를 정의해야합니다. libvirt를 사용하면이 경우 오버 헤드가 많은 것 같기 때문에'qemu-img'를 직접 사용하겠습니다. – JojOatXGME