11.2. 가상 머신 템플릿 생성
올바르게 작동하는 여러 VM(가상 머신) 복제를 생성하려면 SSH 키 또는 영구 네트워크 MAC 구성과 같은 소스 VM에 고유한 정보 및 구성을 제거할 수 있습니다. 이렇게 하면 VM 복제를 쉽고 안전하게 생성하는 데 사용할 수 있는 VM 템플릿이 생성됩니다.
virt-sysprep
유틸리티를 사용하여 VM 템플릿을 생성하거나 요구 사항에 따라 수동으로 생성할 수 있습니다.
11.2.1. virt-sysprep을 사용하여 가상 머신 템플릿 생성 링크 복사링크가 클립보드에 복사되었습니다!
기존 VM(가상 머신)에서 복제 템플릿을 생성하려면 virt-sysprep
유틸리티를 사용할 수 있습니다. 이렇게 하면 특정 네트워크 설정 또는 시스템 등록 메타데이터와 같이 복제본이 잘못 작동할 수 있는 특정 구성이 제거됩니다. 결과적으로 virt-sysprep
을 사용하면 VM의 클론을 보다 효율적으로 생성하고 복제본이 더 안정적으로 작동합니다.
사전 요구 사항
virt-sysprep
유틸리티가 포함된guestfs-tools
패키지가 호스트에 설치되어 있습니다.dnf install guestfs-tools
# dnf install guestfs-tools
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 템플릿으로 설계된 소스 VM이 종료됩니다.
소스 VM의 디스크 이미지가 어디에 있는지 알고 VM의 디스크 이미지 파일의 소유자입니다.
libvirt
의 시스템 연결에 생성된 VM의 디스크 이미지는/var/lib/libvirt/images
디렉터리에 있으며 기본적으로 root 사용자가 소유합니다.ls -la /var/lib/libvirt/images
# ls -la /var/lib/libvirt/images -rw-------. 1 root root 9665380352 Jul 23 14:50 a-really-important-vm.qcow2 -rw-------. 1 root root 8591507456 Jul 26 2017 an-actual-vm-that-i-use.qcow2 -rw-------. 1 root root 8591507456 Jul 26 2017 totally-not-a-fake-vm.qcow2 -rw-------. 1 root root 10739318784 Sep 20 17:57 another-vm-example.qcow2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 선택 사항: 소스 VM 디스크의 중요한 데이터가 백업되었습니다. 소스 VM을 그대로 유지하려면 먼저 복제 한 후 복제본을 템플릿으로 전환합니다.
프로세스
VM의 디스크 이미지의 소유자로 로그인했는지 확인합니다.
whoami
# whoami root
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: VM의 디스크 이미지를 복사합니다.
cp /var/lib/libvirt/images/a-really-important-vm.qcow2 /var/lib/libvirt/images/a-really-important-vm-original.qcow2
# cp /var/lib/libvirt/images/a-really-important-vm.qcow2 /var/lib/libvirt/images/a-really-important-vm-original.qcow2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 나중에 VM이 템플릿으로 변환되었는지 확인하는 데 사용됩니다.
다음 명령을 사용하고 /var/lib/libvirt/images/a-really-important-vm.qcow2 를 소스 VM의 디스크 이미지 경로로 바꿉니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
프로세스가 성공했는지 확인하려면 수정된 디스크 이미지를 원본 이미지와 비교합니다. 다음 예제에서는 템플릿을 성공적으로 생성하는 방법을 보여줍니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.2.2. 수동으로 가상 머신 템플릿 생성 링크 복사링크가 클립보드에 복사되었습니다!
기존 VM(가상 머신)에서 템플릿을 생성하려면 게스트 VM을 수동으로 재설정하거나 구성 해제하여 복제를 준비할 수 있습니다.
사전 요구 사항
소스 VM의 디스크 이미지 위치를 알고 VM의 디스크 이미지 파일 소유자인지 확인합니다.
libvirt의 시스템 연결에 생성된 VM의 디스크 이미지는 기본적으로
/var/lib/libvirt/images
디렉터리에 있으며 root 사용자가 소유합니다.ls -la /var/lib/libvirt/images
# ls -la /var/lib/libvirt/images -rw-------. 1 root root 9665380352 Jul 23 14:50 a-really-important-vm.qcow2 -rw-------. 1 root root 8591507456 Jul 26 2017 an-actual-vm-that-i-use.qcow2 -rw-------. 1 root root 8591507456 Jul 26 2017 totally-not-a-fake-vm.qcow2 -rw-------. 1 root root 10739318784 Sep 20 17:57 another-vm-example.qcow2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - VM이 종료되었는지 확인합니다.
- 선택 사항: VM 디스크의 중요한 데이터가 백업됩니다. 소스 VM을 그대로 유지하려면 먼저 복제 한 후 복제본을 편집하여 템플릿을 생성합니다.
프로세스
복제를 위해 VM을 구성합니다.
- 복제본에 필요한 소프트웨어를 설치합니다.
- 운영 체제에 대해 고유하지 않은 설정을 구성합니다.
- 고유하지 않은 애플리케이션 설정을 구성합니다.
네트워크 구성을 제거합니다.
다음 명령을 사용하여 영구 udev 규칙을 제거합니다.
rm -f /etc/udev/rules.d/70-persistent-net.rules
# rm -f /etc/udev/rules.d/70-persistent-net.rules
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고udev 규칙이 제거되지 않으면 첫 번째 NIC의 이름이
eth0
대신eth1
일 수 있습니다./etc/NetworkManager/system-connections/
디렉터리의NMConnection
파일에서 고유한 정보를 제거합니다.MAC 주소, IP 주소, DNS, 게이트웨이 및 기타 고유 정보 또는 원하지 않는 설정을 제거합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/hosts
및/etc/resolv.conf
파일에서 유사한 고유 정보 및 원하지 않는 설정을 제거합니다.
등록 세부 정보 삭제:
RHN(Red Hat Network)에 등록된 VM의 경우:
rm /etc/sysconfig/rhn/systemid
# rm /etc/sysconfig/rhn/systemid
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RHSM(Red Hat Subscription Manager)에 등록된 VM의 경우:
원래 VM을 사용하지 않으려면 다음을 수행합니다.
subscription-manager unsubscribe --all # subscription-manager unregister # subscription-manager clean
# subscription-manager unsubscribe --all # subscription-manager unregister # subscription-manager clean
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 원래 VM을 사용하려는 경우:
subscription-manager clean
# subscription-manager clean
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고원래 RHSM 프로필은 ID 코드와 함께 포털에 남아 있습니다. 복제 후 VM에서 RHSM 등록을 다시 활성화하려면 다음 명령을 사용합니다.
subscription-manager register --consumerid=71rd64fx-6216-4409-bf3a-e4b7c7bd8ac9
# subscription-manager register --consumerid=71rd64fx-6216-4409-bf3a-e4b7c7bd8ac9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다른 고유한 세부 정보 제거:
SSH 공개 및 개인 키 쌍을 제거합니다.
rm -rf /etc/ssh/ssh_host_example
# rm -rf /etc/ssh/ssh_host_example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow LVM 장치의 구성을 제거합니다.
rm /etc/lvm/devices/system.devices
# rm /etc/lvm/devices/system.devices
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 여러 시스템에서 실행되는 경우 충돌이 발생할 수 있는 기타 애플리케이션별 식별자 또는 구성을 제거합니다.
gnome-initial-setup-done
파일을 제거하여 다음 부팅 시 구성 마법사를 실행하도록 VM을 구성합니다.rm ~/.config/gnome-initial-setup-done
# rm ~/.config/gnome-initial-setup-done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고다음 부팅 시 실행되는 마법사는 VM에서 제거된 구성에 따라 다릅니다. 또한 복제본을 처음 부팅할 때는 호스트 이름을 변경하는 것이 좋습니다.