3장. 가상 머신 복제
게스트 복사본을 생성하는 데 사용되는 게스트 가상 머신 인스턴스에는 다음 두 가지 유형이 있습니다.
- 복제본은 단일 가상 시스템의 인스턴스입니다. 복제본은 동일한 가상 머신의 네트워크를 설정하는 데 사용할 수 있으며 다른 대상에 배포할 수도 있습니다.
- 템플릿 은 복제용 소스로 사용하도록 설계된 가상 머신의 인스턴스입니다. 템플릿에서 여러 복제본을 생성하고 각 복제를 약간 수정할 수 있습니다. 이는 시스템에서 이러한 변경의 영향을 확인하는 데 유용합니다.
복제본과 템플릿은 모두 가상 시스템 인스턴스입니다. 차이점은 어떻게 사용되는지에 있습니다.
생성된 복제가 제대로 작동하려면 복제 중인 가상 머신에 고유한 정보 및 구성을 복제하기 전에 제거해야 합니다. 복제 사용 방법에 따라 제거해야 하는 정보는 서로 다릅니다.
제거할 정보 및 구성은 다음 수준에 있을 수 있습니다.
- 플랫폼 수준 정보 및 구성에는 가상화 솔루션에서 가상 머신에 할당한 모든 사항이 포함됩니다. 예를 들면 NIC(네트워크 인터페이스 카드) 및 해당 MAC 주소가 있습니다.
- 게스트 운영 체제 수준 정보 및 구성에는 가상 머신 내에서 구성된 모든 항목이 포함됩니다. 예를 들면 SSH 키가 있습니다.
- 애플리케이션 수준 정보 및 구성에는 가상 머신에 설치된 애플리케이션에서 구성하는 모든 내용이 포함됩니다. 예를 들면 활성화 코드 및 등록 정보가 있습니다.참고이 장에서는 정보 및 접근 방식이 각 애플리케이션에 고유하므로 애플리케이션 수준 제거에 대한 정보는 포함되지 않습니다.
따라서 일부 정보와 구성은 가상 시스템 내에서 제거되어야 하는 반면, 다른 정보와 구성은 가상화 환경(예: 가상 시스템 관리자 또는 VMware)을 사용하여 가상 시스템에서 제거해야 합니다.
3.1. 클로닝을 위해 가상 머신 준비
가상 머신을 복제하기 전에 디스크 이미지에서 virt-sysprep 유틸리티를 실행하거나 다음 단계를 사용하여 준비해야 합니다.
절차 3.1. 복제를 위한 가상 머신 준비
가상 머신 설정
- 복제본 또는 템플릿에 사용할 가상 머신을 빌드합니다.
- 복제본에 필요한 소프트웨어를 설치합니다.
- 운영 체제에 대한 고유하지 않은 설정을 구성합니다.
- 고유하지 않은 애플리케이션 설정을 구성합니다.
네트워크 구성 제거
- 다음 명령을 사용하여 영구 udev 규칙을 제거합니다.
# rm -f /etc/udev/rules.d/70-persistent-net.rules
참고udev 규칙이 제거되지 않으면 첫 번째 NIC 이름은 eth0 대신 eth1일 수 있습니다. - ifcfg 스크립트에서
/etc/sysconfig/network-scripts/ifcfg-eth[x]
를 다음과 같이 편집하여 고유한 네트워크 세부 정보를 제거합니다.- HWADDR 및 정적 행 제거참고HWADDR이 새 게스트의 MAC 주소와 일치하지 않으면 ifcfg가 무시됩니다. 따라서 파일에서 HWADDR을 제거하는 것이 중요합니다.
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
- 파일에 다음 행이 포함되어 있는지 확인합니다.
DEVICE=eth[x] ONBOOT=yes
- 다음 파일이 있는 경우 해당 파일에 동일한 콘텐츠가 포함되어 있는지 확인합니다.
/etc/sysconfig/networking/devices/ifcfg-eth[x]
/etc/sysconfig/networking/profiles/default/ifcfg-eth[x]
참고NetworkManager 또는 특수 설정을 가상 시스템과 함께 사용한 경우 추가 고유 정보가 ifcfg 스크립트에서 제거되었는지 확인합니다.
등록 세부 정보 제거
- 다음 중 하나를 사용하여 등록 세부 정보를 제거합니다.
- RHN(Red Hat Network)에 등록된 게스트 가상 머신의 경우 다음 명령을 실행합니다.
# rm /etc/sysconfig/rhn/systemid
- Red Hat Subscription Manager (RHSM)가 등록된 게스트 가상 머신의 경우:
- 원래 가상 머신을 사용하지 않는 경우 다음 명령을 실행합니다.
# subscription-manager unsubscribe --all # subscription-manager unregister # subscription-manager clean
- 원래 가상 시스템을 사용하는 경우 다음 명령만 실행합니다.
# subscription-manager clean
참고원래 RHSM 프로파일은 포털에 남아 있습니다.
기타 고유한 세부 정보 제거
- 다음 명령을 사용하여 sshd 공개/개인 키 쌍을 제거합니다.
# rm -rf /etc/ssh/ssh_host_*
참고ssh 키를 제거하면 ssh 클라이언트의 문제가 이러한 호스트를 신뢰하지 않습니다. - 여러 시스템에서 실행되는 경우 충돌을 일으킬 수 있는 다른 애플리케이션별 식별자 또는 구성을 제거합니다.
다음 부팅 시 구성 마법사를 실행하도록 가상 머신 구성
- 다음 중 하나를 수행하여 부팅될 때 관련 구성 마법사를 실행하도록 가상 머신을 구성합니다.
- Red Hat Enterprise Linux 6 이하의 경우 다음 명령을 사용하여 .unconfigured라는 루트 파일 시스템에 빈 파일을 생성합니다.
# touch /.unconfigured
- Red Hat Enterprise Linux 7의 경우 다음 명령을 실행하여 첫 번째 부팅 및 초기 설정 마법사를 활성화하십시오.
# sed -ie 's/RUN_FIRSTBOOT=NO/RUN_FIRSTBOOT=YES/' /etc/sysconfig/firstboot # systemctl enable firstboot-graphical # systemctl enable initial-setup-graphical
참고다음 부팅 시 실행되는 마법사는 가상 머신에서 제거된 구성에 따라 다릅니다. 또한 복제본의 첫 번째 부팅 시 호스트 이름을 변경하는 것이 좋습니다.