11.3. 명령줄 인터페이스를 사용하여 가상 머신 복제

테스트 목적으로 특정 속성 세트를 사용하여 새 VM(가상 머신)을 빠르게 생성하려면 기존 VM을 복제할 수 있습니다. CLI를 사용하여 이를 수행하려면 아래 지침을 따르십시오.

사전 요구 사항

  • 소스 VM이 종료되었습니다.
  • 복제된 디스크 이미지를 저장할 충분한 디스크 공간이 있는지 확인합니다.
  • 선택 사항: 여러 VM 복제본을 생성할 때 소스 VM에서 고유한 데이터 및 설정을 제거하여 복제된 VM이 제대로 작동하는지 확인합니다. 자세한 내용은 가상 머신 템플릿 생성을 참조하십시오.

절차

  1. 환경과 사용 사례에 적합한 옵션과 함께 virt-clone 유틸리티를 사용합니다.

    사용 사례 샘플

    • 다음 명령은 doppelganger 라는 로컬 VM을 복제하고 doppelganger-clone VM을 생성합니다. 또한 원래 VM의 디스크 이미지와 동일한 위치에 doppelganger-clone.qcow2 디스크 이미지를 생성하고 동일한 데이터를 사용합니다.

      # virt-clone --original doppelganger --auto-clone
      Allocating 'doppelganger-clone.qcow2'                            | 50.0 GB  00:05:37
      
      Clone 'doppelganger-clone' created successfully.
    • 다음 명령은 geminus1 이라는 VM을 복제하고 geminus2 라는 로컬 VM을 생성합니다. 이는 geminus1의 두 개의 geminus1 디스크만 사용합니다.

      # virt-clone --original geminus1 --name geminus2 --file /var/lib/libvirt/images/disk1.qcow2 --file /var/lib/libvirt/images/disk2.qcow2
      Allocating 'disk1-clone.qcow2'                                      | 78.0 GB  00:05:37
      Allocating 'disk2-clone.qcow2'                                      | 80.0 GB  00:05:37
      
      Clone 'geminus2' created successfully.
    • VM을 다른 호스트로 복제하려면 로컬 호스트에서 태그를 정의하지 않고 VM을 마이그레이션합니다. 예를 들어, 다음 명령은 로컬 디스크를 포함하여 이전에 생성된 geminus2 VM을 10.0.0.1 원격 시스템에 복제합니다. 이러한 명령을 사용하려면 10.0.0.1에 대한 root 권한도 필요합니다.

      # virsh migrate --offline --persistent geminus2 qemu+ssh://root@10.0.0.1/system
      root@10.0.0.1's password:
      
      # scp /var/lib/libvirt/images/disk1-clone.qcow2 root@10.0.0.1/user@remote_host.com://var/lib/libvirt/images/
      
      # scp /var/lib/libvirt/images/disk2-clone.qcow2 root@10.0.0.1/user@remote_host.com://var/lib/libvirt/images/

검증

VM이 성공적으로 복제되었으며 올바르게 작동하는지 확인하려면 다음을 수행하십시오.

  1. 호스트의 VM 목록에 복제본이 추가되었는지 확인합니다.

    # virsh list --all
    Id   Name                  State
    ---------------------------------------
    -    doppelganger          shut off
    -    doppelganger-clone    shut off
  2. 복제를 시작하고 부팅되는지 관찰합니다.

    # virsh start doppelganger-clone
    Domain 'doppelganger-clone' started

추가 리소스