11.2.2. 수동으로 가상 머신 템플릿 생성
기존 VM(가상 머신)에서 템플릿을 생성하려면 복제를 위해 게스트 VM을 수동으로 재설정하거나 구성 해제하면 됩니다.
사전 요구 사항
소스 VM의 디스크 이미지 위치를 알고 있으며 VM 디스크 이미지 파일의 소유자입니다.
libvirt의 시스템 연결에 생성된 VM의 디스크 이미지는 기본적으로
/var/lib/libvirt/images
디렉터리에 있으며 root 사용자가 소유합니다.# 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
- VM이 종료되었는지 확인합니다.
- 선택 사항: VM 디스크의 중요한 데이터가 백업되었습니다. 소스 VM을 그대로 유지하려면 먼저 복제하고 복제본 을 편집하여 템플릿을 생성합니다.
절차
복제를 위해 VM을 구성합니다.
- 복제본에 필요한 소프트웨어를 설치합니다.
- 운영 체제에 대한 고유하지 않은 설정을 구성합니다.
- 고유하지 않은 애플리케이션 설정을 구성합니다.
네트워크 구성을 제거합니다.
다음 명령을 사용하여 영구 udev 규칙을 제거합니다.
# rm -f /etc/udev/rules.d/70-persistent-net.rules
참고udev 규칙이 제거되지 않으면 첫 번째 NIC 이름이
eth0
대신eth1
일 수 있습니다.다음과 같이
/etc/sysconfig/network-scripts/ifcfg-eth[x]
를 편집하여 ifcfg 스크립트에서 고유한 네트워크 세부 정보를 제거합니다.HWADDR 및 정적 줄을 제거합니다.
참고HWADDR이 새 게스트의 MAC 주소와 일치하지 않으면
ifcfg
가 무시됩니다.DEVICE=eth[x] BOOTPROTO=none ONBOOT=yes #NETWORK=10.0.1.0 <- REMOVE #NETMASK=255.255.255.0 <- REMOVE #IPADDR=10.0.1.20 <- REMOVE #HWADDR=xx:xx:xx:xx:xx <- REMOVE #USERCTL=no <- REMOVE # Remove any other *unique or non-desired settings, such as UUID.*
DHCP를 구성하지만 HWADDR 또는 기타 고유 정보는 포함하지 마십시오.
DEVICE=eth[x] BOOTPROTO=dhcp ONBOOT=yes
다음 파일에도 시스템에 있는 경우 동일한 콘텐츠가 포함되어 있는지 확인합니다.
-
/etc/sysconfig/networking/devices/ifcfg-eth[x]
/etc/sysconfig/networking/profiles/default/ifcfg-eth[x]
참고NetworkManager
또는 VM과 함께 특수 설정을 사용한 경우ifcfg
스크립트에서 추가 고유 정보가 제거되었는지 확인합니다.
-
등록 세부 정보 제거:
RHN(Red Hat Network)에 등록된 VM의 경우:
# rm /etc/sysconfig/rhn/systemid
RHSM(Red Hat Subscription Manager)에 등록된 VM의 경우:
원래 VM을 사용하지 않는 경우 다음을 수행합니다.
# subscription-manager unsubscribe --all # subscription-manager unregister # subscription-manager clean
원래 VM을 사용하려는 경우:
# subscription-manager clean
참고원래 RHSM 프로필은 ID 코드와 함께 포털에 남아 있습니다. 다음 명령을 사용하여 복제된 후 VM에서 RHSM 등록을 다시 활성화합니다.
#subscription-manager register --consumerid=71rd64fx-6216-4409-bf3a-e4b7c7bd8ac9
다른 고유한 세부 정보 제거:
ssh 공개/개인 키 쌍 제거:
# rm -rf /etc/ssh/ssh_host_example
- 여러 머신에서 실행되는 경우 충돌을 일으킬 수 있는 다른 애플리케이션별 식별자 또는 구성을 제거합니다.
gnome-initial-setup-done
파일을 제거하여 다음 부팅 시 구성 마법사를 실행하도록 VM을 구성합니다.# rm ~/.config/gnome-initial-setup-done
참고다음 부팅 시 실행되는 마법사는 VM에서 제거된 구성에 따라 다릅니다. 또한 복제본의 첫 번째 부팅 시 호스트 이름을 변경하는 것이 좋습니다.