LabHub

가상화와 QEMU/KVM · 디스크 이미지: qcow2, 백킹파일, 스냅샷 · 실습

qcow2 이미지 다루기

LabHub 에서 이어서 보기

목표

qcow2 이미지를 만들고, 정보를 읽고, 변환하고, 백킹 체인을 세워 골든 이미지 패턴을 손으로 재현합니다.

왜 중요한가

qcow2 의 진짜 힘은 백킹 파일입니다. 읽기는 백킹에서, 쓰기는 오버레이에만 하기 때문에 골든 이미지 하나로 VM 수십 대를 만들 수 있습니다. 여기에는 두 가지 규칙이 따라옵니다. 백킹 파일은 절대 수정하면 안 되고(오버레이가 조용히 깨집니다), 백킹 경로가 이미지 안에 기록되므로 파일을 옮기면 rebase 로 참조를 고쳐야 합니다. 그리고 qemu-img info 의 virtual size 와 disk size 를 구분하지 못하면 씬 프로비저닝 오버커밋을 놓칩니다.

단계

1. /root/vm 디렉터리를 만들고 /root/vm/base.qcow22G 크기의 qcow2 로 만드세요.
2. 그 이미지의 가상 크기(바이트)실제 점유(바이트) 를 각각 한 줄씩(가상 크기가 먼저) /root/vm/size.txt 에 적으세요. 실제 점유가 가상 크기보다 훨씬 작아야 합니다.
3. /root/vm/plain.raw 를 raw 포맷 2G 로 만들고, qcow2raw 의 실제 점유를 qcow2=<바이트> / raw=<바이트> 두 줄로 /root/vm/formats.txt 에 적으세요.
4. plain.raw 를 qcow2 로 변환해 /root/vm/converted.qcow2 를 만드세요. qemu-img info 에서 포맷이 qcow2 로 나와야 합니다.
5. base.qcow2 를 백킹으로 하는 오버레이 /root/vm/vm01.qcow2 를 만드세요. 백킹 포맷을 명시해야 합니다.
6. cluster_size1M 로 지정한 /root/vm/big.qcow2 를 4G 로 만들고, qemu-img info 출력에서 cluster_size 가 보이는 줄을 /root/vm/cluster.txt 로 저장하세요.
7. base.qcow2/root/vm/golden/base.qcow2옮기고, vm01.qcow2 의 백킹 참조를 새 경로로 고치세요. 고친 뒤 qemu-img info --backing-chain /root/vm/vm01.qcow2 가 오류 없이 두 이미지를 모두 보여 줘야 하며, 그 출력을 /root/vm/chain.txt 로 저장하세요.
8. /root/vm/inventory.csv 를 만드세요. 첫 줄은 file,format,virtual_size,backing 헤더이고, vm01.qcow2, converted.qcow2, big.qcow2 세 이미지에 대해 각각 한 줄씩 적으세요. backing 은 백킹 파일 경로 또는 none 입니다.

참고

단계 8개

  1. qcow2 이미지 만들기
  2. 가상 크기와 실제 크기
  3. raw 와 비교
  4. 포맷 변환
  5. 백킹 파일로 오버레이 만들기
  6. cluster_size 지정
  7. 백킹 경로 바꾸기
  8. 이미지 인벤토리