Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3장. 가상 머신 복제

게스트 복사본을 생성하는 데 사용되는 게스트 가상 머신 인스턴스에는 다음 두 가지 유형이 있습니다.
  • 복제본은 단일 가상 시스템의 인스턴스입니다. 복제본은 동일한 가상 머신의 네트워크를 설정하는 데 사용할 수 있으며 다른 대상에 배포할 수도 있습니다.
  • 템플릿 은 복제용 소스로 사용하도록 설계된 가상 머신의 인스턴스입니다. 템플릿에서 여러 복제본을 생성하고 각 복제를 약간 수정할 수 있습니다. 이는 시스템에서 이러한 변경의 영향을 확인하는 데 유용합니다.
복제본과 템플릿은 모두 가상 시스템 인스턴스입니다. 차이점은 어떻게 사용되는지에 있습니다.
생성된 복제가 제대로 작동하려면 복제 중인 가상 머신에 고유한 정보 및 구성을 복제하기 전에 제거해야 합니다. 복제 사용 방법에 따라 제거해야 하는 정보는 서로 다릅니다.
제거할 정보 및 구성은 다음 수준에 있을 수 있습니다.
  • 플랫폼 수준 정보 및 구성에는 가상화 솔루션에서 가상 머신에 할당한 모든 사항이 포함됩니다. 예를 들면 NIC(네트워크 인터페이스 카드) 및 해당 MAC 주소가 있습니다.
  • 게스트 운영 체제 수준 정보 및 구성에는 가상 머신 내에서 구성된 모든 항목이 포함됩니다. 예를 들면 SSH 키가 있습니다.
  • 애플리케이션 수준 정보 및 구성에는 가상 머신에 설치된 애플리케이션에서 구성하는 모든 내용이 포함됩니다. 예를 들면 활성화 코드 및 등록 정보가 있습니다.
    참고
    이 장에서는 정보 및 접근 방식이 각 애플리케이션에 고유하므로 애플리케이션 수준 제거에 대한 정보는 포함되지 않습니다.
따라서 일부 정보와 구성은 가상 시스템 내에서 제거되어야 하는 반면, 다른 정보와 구성은 가상화 환경(예: 가상 시스템 관리자 또는 VMware)을 사용하여 가상 시스템에서 제거해야 합니다.

3.1. 클로닝을 위해 가상 머신 준비

가상 머신을 복제하기 전에 디스크 이미지에서 virt-sysprep 유틸리티를 실행하거나 다음 단계를 사용하여 준비해야 합니다.

절차 3.1. 복제를 위한 가상 머신 준비

  1. 가상 머신 설정

    1. 복제본 또는 템플릿에 사용할 가상 머신을 빌드합니다.
      • 복제본에 필요한 소프트웨어를 설치합니다.
      • 운영 체제에 대한 고유하지 않은 설정을 구성합니다.
      • 고유하지 않은 애플리케이션 설정을 구성합니다.
  2. 네트워크 구성 제거

    1. 다음 명령을 사용하여 영구 udev 규칙을 제거합니다.
      # rm -f /etc/udev/rules.d/70-persistent-net.rules
      참고
      udev 규칙이 제거되지 않으면 첫 번째 NIC 이름은 eth0 대신 eth1일 수 있습니다.
    2. ifcfg 스크립트에서 /etc/sysconfig/network-scripts/ifcfg-eth[x] 를 다음과 같이 편집하여 고유한 네트워크 세부 정보를 제거합니다.
      1. 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.
        
      2. DHCP 구성이 HWADDR 또는 고유한 정보가 포함되지 않은 상태로 남아 있는지 확인합니다.
        DEVICE=eth[x]
        BOOTPROTO=dhcp
        ONBOOT=yes
        
      3. 파일에 다음 행이 포함되어 있는지 확인합니다.
        DEVICE=eth[x]
        ONBOOT=yes
        
    3. 다음 파일이 있는 경우 해당 파일에 동일한 콘텐츠가 포함되어 있는지 확인합니다.
      • /etc/sysconfig/networking/devices/ifcfg-eth[x]
      • /etc/sysconfig/networking/profiles/default/ifcfg-eth[x]
      참고
      NetworkManager 또는 특수 설정을 가상 시스템과 함께 사용한 경우 추가 고유 정보가 ifcfg 스크립트에서 제거되었는지 확인합니다.
  3. 등록 세부 정보 제거

    1. 다음 중 하나를 사용하여 등록 세부 정보를 제거합니다.
      • 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 프로파일은 포털에 남아 있습니다.
  4. 기타 고유한 세부 정보 제거

    1. 다음 명령을 사용하여 sshd 공개/개인 키 쌍을 제거합니다.
      # rm -rf /etc/ssh/ssh_host_*
      참고
      ssh 키를 제거하면 ssh 클라이언트의 문제가 이러한 호스트를 신뢰하지 않습니다.
    2. 여러 시스템에서 실행되는 경우 충돌을 일으킬 수 있는 다른 애플리케이션별 식별자 또는 구성을 제거합니다.
  5. 다음 부팅 시 구성 마법사를 실행하도록 가상 머신 구성

    1. 다음 중 하나를 수행하여 부팅될 때 관련 구성 마법사를 실행하도록 가상 머신을 구성합니다.
      • 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
      참고
      다음 부팅 시 실행되는 마법사는 가상 머신에서 제거된 구성에 따라 다릅니다. 또한 복제본의 첫 번째 부팅 시 호스트 이름을 변경하는 것이 좋습니다.