qemu qcow2 디스크의 공통 부분을 병합하는 방법

qemu qcow2 디스크의 공통 부분을 병합하는 방법

나는 qemu 이미지를 가지고 있습니다 B.qcow2. A.qcow2by B.qcow2를 사용하여 복사본을 만든 다음 두 복사본을 cp B.qcow2 C.qcow2독립적으로 작업했습니다 . 따라서, 및 end는 다르지만 공통 부분이 있습니다(C.qcow2가 B.qcow2에서 복사되었으므로).B.qcow2C.qcow2B.qcow2C.qcow2

common.qcow2디스크 공간을 절약하기 위해 (qemu-img를 사용하거나 프로그래밍 방식으로) 의 모든 공통 부분을 포함하는 다른 이미지를 만든 B.qcow2다음 C.qcow2이 공통 부분을 제거하고 다음과 같은 이미지에서 재설정할 수 있는지 알고 싶습니다. 이미지의 기반은 어떤 방식으로 기반을 두고 있고 기반을 두고 있습니까?B.qcow2C.qcow2B.qcow2C.qcow2common.qcow2common.qcow2A.qcow2

답변1

비결은 기본 이미지와 차이점이 포함된 두 개의 이미지를 갖는 것입니다. 이는 다음을 통해 달성할 수 있습니다.

  1. 혼란을 피하려면:mv B.qcow2 common.qcow2
  2. A를 기반으로 한 일반적인 리베이스:qemu-img rebase -b common.qcow2 A.qcow2
  3. 공통을 기반으로 B를 다시 생성합니다.git create -b common B.qcow2
  4. C 크기 조정의 공통점:qemu-img rebase -b common.qcow2 C.qcow2

물론 이제 B.qcow2는 common에 비해 변경 사항이 없는 "빈 셸"이고 C에는 A와 B 사이의 모든 변경 사항이 포함되어 있지만 두 파일 중 하나가 중요하지 않다고 가정하면 더 많은 공간을 절약할 방법이 없습니다. 변경 사항이 포함되어 있어 다른 솔루션만큼 좋습니다.

관련 정보