Proxmox VE: VM Clone 기능 테스트
VM 설치는 일반적으로 ISO image를 사용하지만 많은 시간이 소요될 수 있습니다. 이를 피하기 위해 동일한 유형의 여러 VM을 배포하는 쉬운 방법은 기존 VM을 복사하는 것입니다. 이러한 복사본에 대해 Clone
이라는 용어를 사용합니다. Clone에는 Full Clone과 Linked Clone 방식이 있습니다. 특징을 살펴보면,
- Full Clone
- Clone의 결과는 독립적인 VM입니다. 새 VM은 원본과 스토리지 리소스를 공유하지 않습니다.
- Target Storage를 선택할 수 있으므로 이를 사용하여 VM을 다른 스토리지로 마이그레이션할 수 있습니다. 스토리지 드라이버가 여러 형식을 지원하는 경우 디스크 이미지 형식을 변경할 수도 있습니다. Target node 옵션을 사용하면 다른 노드에서 새 VM을 만들 수 있으나, 유일한 제한 사항은 VM이 Shared storage에 있고 해당 스토리지가 대상 노드에서도 사용 가능해야 합니다.
- Full Clone은 모든 VM 이미지 데이터를 읽고 복사해야 하므로 Linked Clone을 만드는 것보다 훨씬 느립니다.
- 일부 스토리지 유형은 현재 VM 데이터로 기본 설정된 특정 스냅샷을 복사할 수 있습니다. 이는 또한 최종 사본에 원본 VM의 추가 스냅샷이 포함되지 않음을 의미합니다.
- Linked Clone
- 최신 스토리지 드라이버는 빠른 Linked Clone을 생성하는 방법을 지원합니다. 이러한 복제본은 초기 내용이 원본 데이터와 동일한 쓰기 가능한 사본입니다. Linked Clone을 만드는 것은 거의 즉각적이며, 처음에는 추가 공간을 사용하지 않습니다.
- 새 이미지가 여전히 원본을 참조하기 때문에 Linked로 불립니다. 수정되지 않은 데이터 블록은 원본 이미지에서 읽히지만 수정 사항은 새 위치에서 쓰여지고(나중에 읽힙니다). 이 기술을 Copy-on-write라고 합니다.
- 이를 위해서는 원본 볼륨이 읽기 전용이어야 합니다. Proxmox VE를 사용하면 모든 VM을 읽기 전용 템플릿으로 변환할 수 있습니다(Convert to template). 이러한 템플릿은 나중에 링크된 복제본을 효율적으로 만드는 데 사용할 수 있습니다. 참고로 링크된 복제본이 있는 동안에는 원본 템플릿을 삭제할 수 없습니다.
Full clone과 Linked clone 기능으로 VM의 복제품을 만들어 보겠습니다.
- Full Clone
- 복제할 VM을 선택하고 Clone 메뉴를 클릭합니다. 저는 Format이 raw인 VM:100(win10)을 선택하겠습니다.
- Target storage는 local에, Format은 qcow2인 VM:102(win10.clone)을 생성하겠습니다.
- local 스토리지에 qcow2 Format을 가진 VM:102 복제품을 확인할 수 있습니다.
- 복제할 VM을 선택하고 Clone 메뉴를 클릭합니다. 저는 Format이 raw인 VM:100(win10)을 선택하겠습니다.
- Linked Clone
- Linked Clone를 생성하기 위해서는 Template이 필요합니다. VM:100(win10)을 Template으로 전환하겠습니다. 전환하기 전에 먼저 VM:100을 Stop시켜야 합니다.
- Template(VM:100)를 선택하고
Clone 메뉴
를 클릭합니다.
- 동일한 node, 동일한 storage에 Linked Clone을 생성합니다.
- Template이 저장되어 있는 storage(local-zfs)에 생성된 Linked clone(vm-103-disk-0)이 표시됩니다. 참고로 VM:100(win10)이 Template으로 전환되면서 이름도 vm-100-disk-0에서 base-100-disk-0로 변경된 것을 확인할 수 있습니다.
- Linked Clone를 생성하기 위해서는 Template이 필요합니다. VM:100(win10)을 Template으로 전환하겠습니다. 전환하기 전에 먼저 VM:100을 Stop시켜야 합니다.