Linux VM 만들기

이 문서에서는 설치 또는 복제를 통해 Linux VM을 만드는 방법을 설명합니다. 또한 공급업체별 설치 지침도 제공합니다.

VM을 만들려는 경우 VM에서 실행하려는 운영 체제의 템플릿을 사용하여 VM을 만들어야 합니다. Citrix가 운영 체제용으로 제공한 템플릿이나 이전에 사용자가 직접 만든 템플릿을 사용할 수 있습니다. XenCenter 또는 CLI에서 VM을 만들 수 있습니다. 이 문서에서는 CLI 사용에 대해 중점적으로 설명합니다.

참고

XenServer에서 지원하는 설치 버전보다 최신 부분 업데이트가 적용된 Red Hat Enterprise Linux(RHEL 릴리스) 버전의 VM을 만들려면 지원되는 최신 미디어를 통해 설치한 후 yum update를 사용하여 VM을 최신 상태로 만들어야 합니다. 이 방법은 RHEL의 파생 버전(CentOS 및 Oracle Linux)에도 적용됩니다.

예를 들어 XenServer 7.1 릴리스에는 RHEL 5.10이 지원되는데 RHEL v5.11을 사용하려면 RHEL v5.10을 먼저 설치한 후 yum update를 사용하여 RHEL 5.11로 업데이트해야 합니다.

운영 체제를 설치한 후 즉시 XenServer PV Tools를 설치하는 것이 좋습니다. 일부 운영 체제의 경우 XenServer PV Tools에 XenServer 관련 커널이 포함되어 있으며, 이 커널은 공급업체가 제공하는 커널을 대체합니다. 다른 운영 체제(예: RHEL 5.x)에서는 공급업체가 제공한 커널의 특정 버전을 설치해야 합니다.

Linux VM을 만드는 과정은 대략 다음과 같습니다.

  1. XenCenter 또는 CLI를 사용하여 대상 운영 체제의 VM을 만듭니다.

  2. 공급업체 설치 미디어를 사용하여 운영 체제를 설치합니다.

  3. XenServer PV Tools를 설치합니다(권장).

  4. 가상이 아닌 일반 실제 환경에서와 같이 VM 및 VNC에서 정확한 시간과 표준 시간대를 구성합니다.

XenServer에서는 다양한 Linux 배포판을 VM으로 설치할 수 있습니다. 설치 메커니즘은 다음과 같이 세 가지가 있습니다.

  1. 인터넷 저장소에서 설치

  2. 물리적 CD에서 설치

  3. ISO 라이브러리에서 설치

경고

Other install media(다른 설치 미디어) 템플릿은 지원되지 않는 운영 체제를 실행하는 VM을 설치하고자 하는 고급 사용자를 위한 것입니다. XenServer는 표준 제공 템플릿으로 가능한 특정 버전 및 지원되는 배포판의 실행에 대해서만 테스트되었으며, Other install media(다른 설치 미디어) 템플릿을 사용하여 설치된 모든 VM은 지원되지 않습니다.

Other install media(다른 설치 미디어) 템플릿을 사용하여 만든 VM은 HVM 게스트로 만들어지기 때문에 일부 Linux VM은 성능이 좋은 I/O 드라이버가 아니라 속도가 느린 에뮬레이트된 장치를 사용할 수 있습니다.

특정 Linux 배포판에 관련된 정보는 릴리스 정보를 참조하십시오.

PV Linux 배포판

지원되는 PV Linux 배포판은 다음과 같습니다.

배포판 공급업체에서 CD를 통해 설치 공급업체에서 네트워크 저장소를 통해 설치 참고
Debian Squeeze 6.0(32/64비트) X X  
Debian Wheezy 7(32/64비트) X X  
Red Hat Enterprise Linux 4.5–4.8(32비트) X X RHEL을 설치한 후 XenServer Tools를 설치하여 Citrix RHEL 4.8 커널을 적용해야 합니다.
Red Hat Enterprise Linux 5.0–5.11(32/64비트) X X 5.4 이상 커널을 사용할 경우 지원됩니다.
Red Hat Enterprise Linux 6.0–6.8(32/64비트) X X  
CentOS 4.5–4.8(32비트) X X  
CentOS 5.0–5.11(32/64비트) X X  
CentOS 6.0–6.8(32/64비트) X X  
Oracle Linux 5.0–5.11(32/64비트) X X  
Oracle Linux 6.0–6.8(32/64비트) X X  
Scientific Linux 5.11(32/64비트) X X 5.4 이상 커널을 사용할 경우 지원됩니다.
Scientific Linux 6.6–6.8(32/64비트) X X  
SUSE Linux Enterprise Server 10 SP1, SP2, SP4(32/64비트) X X  
SUSE Linux Enterprise Server 10 SP3(32비트)     SLES 10 SP2에서 업그레이드한 경우에만 지원됩니다.
SUSE Linux Enterprise Server 10 SP3(64비트) X X  
SUSE Linux Enterprise Server 11, 11 SP1, 11 SP2, 11 SP3, 11 SP4(32/64비트) X X  
SUSE Linux Enterprise Server 12, 12 SP1, 12 SP2(64비트) X X  
SUSE Linux Enterprise Desktop 11 SP3(64비트) X X  
SUSE Linux Enterprise Desktop 12, 12 SP1, 12 SP2(64비트) X X  
Ubuntu 10.04(32/64비트)   X  
Ubuntu 12.04(32/64비트) X X  
NeoKylin Linux Advanced Server 6.5(64비트) X X  

위 목록에 없는 다른 PV Linux 배포판은 지원되지 않습니다(not). 하지만 Red Hat Enterprise Linux와 같은 설치 메커니즘을 사용하는 배포판(예: Fedora Core)은 동일한 템플릿을 사용하여 성공적으로 설치할 수 있습니다.

참고

  • 128GB 이상의 메모리가 있는 호스트에 32비트 PV Linux VM을 실행하는 것은 지원되지 않습니다.

  • XenServer 하드웨어 보안 기능을 사용하면 32비트 PV VM의 전반적인 성능이 저하될 수 있습니다. 이 문제의 영향을 받는 경우 다음 중 하나를 수행할 수 있습니다.

    • 64비트 버전의 PV Linux VM 실행

    • no-smep no-smap 옵션을 사용하여 Xen 부팅.

      이 옵션은 호스트의 보안 수준을 낮출 수 있으므로 권장하지 않습니다.

HVM Linux 배포판

HVM Linux VM은 최신 프로세서의 x86 가상 컨테이너 기술을 활용하여 뛰어난 성능을 제공할 수 있습니다. 하지만 이러한 게스트를 통해 네트워크 및 스토리지에 액세스할 경우에는 커널에 기본적으로 제공된 드라이버를 사용하여 PV 모드에서 계속 작동할 수 있습니다.

지원되는 HVM Linux 배포판은 다음과 같습니다.

배포판 공급업체에서 CD를 통해 설치 공급업체에서 네트워크 저장소를 통해 설치
Debian Jessie 8.0(32/64비트) X X
Debian Stretch 9.0(32/64비트) X X
Red Hat Enterprise Linux 7.x(64비트) X X
CentOS 7.x(64비트) X X
Oracle Linux 7.x(64비트) X X
Scientific Linux 7.x(64비트) X X
SUSE Linux Enterprise Server 12 SP3(64비트) X X
SUSE Linux Enterprise Desktop 12 SP3(64비트) X X
Ubuntu 14.04(64비트) X X
Ubuntu 16.04(64비트) X X
CoreOS Stable(64비트) X X
Linx Linux V6.0(64비트) X X
Linx Linux V8.0(64비트) X X
Yinhe Kylin(64비트) X X

인터넷 저장소에서 설치하여 Linux VM 만들기

이 섹션에서는 Debian Squeeze를 예로 들어 인터넷 저장소에서 OS를 설치하여 Linux VM을 만드는 xe CLI 절차를 보여 줍니다.

예제: 네트워크 저장소에서 Debian Squeeze VM 설치

  1. Debian Squeeze 템플릿에서 VM을 만듭니다. VM의 UUID가 반환됩니다.

    xe vm-install template=template-name new-name-label=squeeze-vm
    
  2. 설치 저장소를 지정합니다. 이 설치 저장소는 Debian 미러여야 하며, 기본 시스템을 설치하는 데 필요한 최소 패키지와 Debian 설치 관리자에서 선택하려는 추가 패키지를 포함해야 합니다.

    xe vm-param-set uuid=UUID other-config:install-repository=path_to_repository
    

    유효한 저장소 경로의 예는 http://ftp.xx.debian.org/debian입니다. 여기서, xx는 사용자의 국가 코드입니다. 국가 코드 목록에 대해서는 Debian 미러 목록을 참조하십시오. 여러 번 설치할 경우 중앙 저장소에 과도한 네트워크 트래픽이나 부하가 발생하지 않도록 로컬 미러나 apt 프록시를 사용하는 것이 좋습니다.

    참고

    Debian 설치 관리자는 HTTP 및 FTP apt 저장소만 지원하며 NFS는 지원되지 않습니다.

  3. 연결할 네트워크의 UUID를 찾습니다. 예를 들어 xenbr0에 연결된 네트워크인 경우에는 다음과 같이 합니다.

    xe network-list bridge=xenbr0 --minimal
    
  4. 새 VM을 이 네트워크에 연결할 VIF를 만듭니다.

    xe vif-create vm-uuid=vm_uuid network-uuid=network_uuid mac=random device=0
    
  5. VM을 시작합니다. 부팅되는 즉시 Debian 설치 관리자가 실행됩니다.

    xe vm-start uuid=UUID
    
  6. Debian 설치 관리자의 절차에 따라 필요한 구성으로 VM을 설치합니다.

  7. 게스트 유틸리티 설치 방법과 그래픽 디스플레이 구성 방법에 대한 지침은 아래를 참조하십시오.

물리적 CD/DVD에서 설치하여 Linux VM 만들기

이 섹션에서는 Debian Squeeze를 예로 들어 물리적 CD/DVD에서 OS를 설치하여 Linux VM을 만드는 CLI 절차를 보여 줍니다.

예제: CD/DVD에서 Debian Squeeze VM 설치(CLI 사용)

  1. Debian Squeeze 템플릿에서 VM을 만듭니다. VM의 UUID가 반환됩니다.

    xe vm-install template=template-name new-name-label=vm-name
    
  2. 새 VM의 루트 디스크 UUID를 가져옵니다.

    xe vbd-list vm-uuid=vm_uuid userdevice=0 params=uuid --minimal
    
  3. 반환된 UUID를 사용하여 루트 디스크를 부팅이 가능하지 않도록 설정합니다.

    xe vbd-param-set uuid=root_disk_uuid bootable=false
    
  4. XenServer 호스트에 있는 물리적 CD 드라이브의 이름을 가져옵니다.

    xe cd-list
    

    이 명령을 실행하면 name-label 필드에 대해 SCSI 0:0:0:0과 같은 결과가 표시됩니다.

  5. XenServer 호스트 CD 드라이브의 name-label 매개 변수를 cd-name 매개 변수로 사용하여 새 VM에 가상 CD-ROM을 추가합니다.

    xe vm-cd-add vm=vm_name cd-name="host_cd_drive_name_label" device=3
    
  6. 새 가상 CD 드라이브에 해당하는 VBD의 UUID를 가져옵니다.

    xe vbd-list vm-uuid=vm_uuid type=CD params=uuid --minimal
    
  7. 가상 CD의 VBD를 부팅 가능하도록 만듭니다.

    xe vbd-param-set uuid=cd_drive_uuid bootable=true
    
  8. VM의 설치 저장소를 CD 드라이브로 설정합니다.

    xe vm-param-set uuid=vm_uuid other-config:install-repository=cdrom
    
  9. Debian Squeeze 설치 CD를 XenServer 호스트의 CD 드라이브에 넣습니다.

  10. XenCenter 또는 SSH 터미널로 VM에 대한 콘솔을 열고 OS 설치를 수행하는 단계를 진행합니다.

  11. VM을 시작합니다. 부팅되는 즉시 Debian 설치 관리자가 실행됩니다.

    xe vm-start uuid=UUID
    

이후의 섹션에서 게스트 유틸리티 설치 방법과 그래픽 디스플레이 구성 방법을 참조하십시오.

ISO 이미지에서 설치하여 Linux VM 만들기

이 섹션에서는 네트워크 액세스 가능한 ISO에서 OS를 설치하여 Linux VM을 만드는 CLI 절차를 보여 줍니다.

예제: 네트워크 액세스 가능한 ISO 이미지에서 Linux VM 설치

  1. 다음 명령을 실행합니다.

    xe vm-install template=template new-name-label=name_for_vm  sr-uuid=storage_repository_uuid
    

    이 명령은 새 VM의 UUID를 반환합니다.

  2. 연결할 네트워크의 UUID를 찾습니다. 예를 들어 xenbr0에 연결된 네트워크인 경우에는 다음과 같이 합니다.

    xe network-list bridge=xenbr0 --minimal
    
  3. 새 VM을 이 네트워크에 연결할 VIF를 만듭니다.

    xe vif-create vm-uuid=vm_uuid network-uuid=network_uuid mac=random device=0
    
  4. other-config 매개 변수의 install-repository 키를 네트워크 저장소의 경로로 설정합니다. 예를 들어 http://mirror.centos.org/centos/6/os/x86_64를 공급업체 미디어의 URL로 사용하려면:

    xe vm-param-set uuid=vm_uuid other-config:install-repository=http://mirror.centos.org/centos/6/os/x86_64
    
  5. VM을 시작합니다.

    xe vm-start uuid=vm_uuid
    
  6. XenCenter 또는 VNC를 사용하여 VM 콘솔에 연결하고 OS 설치를 수행합니다.

네트워크 설치 참고 사항

XenServer 게스트 설치 관리자를 사용하면 네트워크 액세스 가능한 ISO 이미지를 통해 VM에 운영 체제를 설치할 수 있습니다. ISO에서 설치를 준비하려면 공급업체 미디어의 확장된 네트워크 저장소(ISO 이미지가 아님)를 만들고 NFS, HTTP 또는 FTP를 통해 내보내 XenServer 호스트 관리 인터페이스에서 액세스 가능하도록 해야 합니다.

네트워크 저장소는 일반적으로 관리 인터페이스를 사용하여 XenServer 호스트의 제어 도메인에서 액세스할 수 있어야 합니다. URL은 네트워크 서버에 있는 CD/DVD 이미지의 기준을 가리켜야 하며 다음과 같은 형식이어야 합니다.

  • HTTP.

     http://*<server>*/*<path>*
    
  • FTP.

     ftp://*<server>*/*<path>*
    
  • NFS.

     nfs://*<server>*/*<path>*
    
  • NFS.

     nfs:*<server>*:/*<path>*
    

ISO 패키지를 해제하는 위치를 비롯한 네트워크 기반 설치를 준비하는 방법에 대한 자세한 내용은 공급업체 설치 지침을 참조하십시오.

참고

XenCenter에서 NFS 설치 방법을 사용할 때는 항상 nfs:// 스타일의 경로를 사용해야 합니다.

템플릿에서 VM을 만들 때 XenCenter New VM(새 VM) 마법사에 저장소 URL을 묻는 메시지가 나타납니다. CLI를 사용할 때는 vm-install을 사용하여 일반적인 방법대로 템플릿을 설치한 다음 other-config:install-repository 매개 변수를 URL의 값으로 설정합니다. 이후에 VM을 시작하면 네트워크 설치 프로세스가 시작됩니다.

경고

새 Linux 기반 VM을 설치할 때는 다른 작업을 수행하기 전에 설치를 완전히 마치고 재부팅하는 것이 중요합니다. 이는 Windows 설치를 중단할 경우 VM이 작동하지 않게 되는 것과 유사한 이유 때문입니다.

고급 운영 체제 부팅 매개 변수

새 VM을 만들 때 XenCenter 또는 xe CLI를 사용하여 고급 운영 체제 부팅 매개 변수를 지정할 수 있습니다. 반가상화된 게스트의 자동 설치를 구성하는 등과 같은 경우에 고급 매개 변수를 지정하면 유용할 수 있습니다. 예를 들어 Debian 사전 시드 또는 RHEL kickstart 파일을 다음과 같이 사용할 수 있습니다.

사전 시드 파일을 사용하여 Debian을 설치하려면

  1. 사전 시드 파일을 만듭니다. 사전 시드 파일을 만드는 방법에 대한 자세한 내용은 Debian 설명서를 참조하십시오.

  2. VM을 시작하기 전에 커널 명령줄을 올바르게 설정합니다. 이 작업은 XenCenter의 New VM(새 VM) 마법사를 사용하거나 다음과 같은 xe CLI 명령을 실행하여 수행할 수 있습니다.

    xe vm-param-set uuid=uuid PV-args=preseed_arguments
    

Kickstart 파일을 사용하여 RHEL을 설치하려면

참고

Red Hat Kickstart 파일은 응답 파일과 비슷하게 RHEL 설치 프롬프트에 대한 응답을 제공하는 데 사용할 수 있는 자동화된 설치 방법입니다. 이 파일을 만들려면 RHEL을 수동으로 설치합니다. kickstart 파일은 /root/anaconda-ks.cfg에 있습니다.

  1. XenCenter에서 적절한 RHEL 템플릿을 선택합니다.

  2. XenCenter New VM(새 VM) 마법사에서 커널 명령줄 인수로 사용할 kickstart 파일을 지정합니다. 이때 다음과 같이 PXE 구성 파일에 지정된 것과 정확히 같게 지정합니다.

    ks=http://server/path ksdevice=eth0
    
  3. 명령줄에서 vm-param-set을 사용하여 Kickstart 파일을 사용하도록 PV-args 매개 변수를 설정합니다.

    xe vm-param-set uuid=vm_uuid PV-args="ks=http://server/path ksdevice=eth0"
    
  4. 커널을 가져올 위치와 설치 관리자를 부팅할 initrd를 XenServer에서 인식할 수 있도록 저장소 위치를 설정합니다.

    xe vm-param-set uuid=vm_uuid other-config:install-repository=http://server/path
    

    참고

    New VM(새 VM) 마법사 없이 kickstart 파일을 사용하여 설치하려면 Advanced OS boot parameters(고급 운영 체제 부팅 매개 변수) 입력란에 적절한 인수를 추가해야 합니다.

Linux 게스트 에이전트 설치

지원되는 모든 Linux 배포판은 기본적으로 반가상화되어 있어 최대 성능을 얻는 데 특별한 드라이버가 필요 없지만 XenServer에는 호스트에 VM에 대한 추가적인 정보를 제공하는 게스트 에이전트가 포함되어 있습니다. 각 Linux VM에 게스트 에이전트를 설치하여 DMC(동적 메모리 제어)를 사용해야 합니다.

XenServer 호스트를 업그레이드할 때마다 Linux 게스트 에이전트를 최신 상태로 유지하는 것이 중요합니다(VM 업데이트 참조).

게스트 에이전트를 설치하려면

  1. 필요한 파일은 기본 제공 guest-tools.iso CD 이미지에 있거나 XenCenter에서 VM > Install XenServer PV Tools(XenServer PV Tools 설치) 옵션을 선택하여 설치할 수 있습니다.

  2. 다음 명령을 실행하여 이미지를 게스트에 탑재합니다.

    mount -o ro,exec /dev/disk/by-label/XenServerincloudsphere\\x20Tools /mnt
    

    참고

    이미지 탑재에 실패하는 경우 다음을 실행하여 이미지를 찾을 수 있습니다.

    blkid -t LABEL="XenServer PV Tools"
    
  3. 루트 사용자로 설치 스크립트를 실행합니다.

    /mnt/Linux/install.sh
    
  4. 다음 명령을 실행하여 게스트에서 이미지를 탑재 해제합니다.

    umount /mnt
    
  5. 커널을 업그레이드하거나 VM을 이전 버전에서 업그레이드한 경우 지금 VM을 재부팅합니다.

참고

Linux 가상 컴퓨터에 연결된 CD-ROM 드라이브 및 ISO는 일반적으로 예측할 수 있는 /dev/cdrom 대신 /dev/xvdd(또는 Ubuntu 10.10 이상의 경우 /dev/sdd)와 같은 장치로 나타납니다. 이는 해당 장치가 실제 CD-ROM 장치가 아닌 일반 장치이기 때문입니다. XenCenter 또는 CLI를 통해 CD를 꺼내면 VM에서 장치를 핫 언플러그하므로 장치가 표시되지 않습니다. 이것이 CD가 비어 있더라도 VM에 유지되는 Windows 가상 컴퓨터와 다른 점입니다.

Linux 배포판에 대한 추가 설치 참고 사항

다음 표에는 Linux VM을 만들 때 알고 있어야 할 추가적인 구성 정보가 공급업체별로 정리되어 있습니다.

중요

모든 배포판에 대한 자세한 릴리스 정보는 릴리스 정보를 참조하십시오.

CentOS 5.x(32/64비트)

CentOS 5.x VM의 경우 운영 체제가 CentOS 5.4 커널 이상을 사용하는지 확인해야 합니다. 이러한 커널은 배포판 공급업체로부터 구할 수 있습니다. 5.4 이전의 Enterprise Linux 커널 버전에는 XenServer VM이 올바로 실행되지 못하게 하는 문제가 있습니다. 공급업체의 일반적인 커널 업그레이드 절차에 따라 커널을 업그레이드하십시오.

Red Hat Enterprise Linux 5.x(32/64비트)

RHEL 5.x VM의 경우 운영 체제가 RHEL 5.4 커널(2.6.18-164.el5) 이상을 사용하는지 확인해야 합니다. 이러한 커널은 배포판 공급업체로부터 구할 수 있습니다. 5.4 이전의 Enterprise Linux 커널 버전에는 XenServer VM이 올바로 실행되지 못하게 하는 문제가 있습니다. 공급업체의 일반적인 커널 업그레이드 절차에 따라 커널을 업그레이드하십시오.

Red Hat Enterprise Linux 7.x(32/64비트)

이 정보는 Red Hat 및 Red Hat 파생 버전에 모두 적용됩니다.

이러한 게스트에 대한 새 템플릿은 2GB RAM을 지정합니다. 이 RAM 양은 v7.4 이상의 성공적인 설치를 위한 요구 사항 중 하나입니다. v7.0 - v7.3의 경우 템플릿은 2GB RAM을 지정하지만 이전 버전의 XenServer와 마찬가지로 1GB RAM으로 충분합니다.

Oracle Linux 5.x(32/64비트)

OEL 5.x VM의 경우 운영 체제가 OEL 5.4 커널 이상을 사용하는지 확인해야 합니다. 이러한 커널은 배포판 공급업체로부터 구할 수 있습니다. 5.4 이전의 Enterprise Linux 커널 버전에는 XenServer VM이 올바로 실행되지 못하게 하는 문제가 있습니다.

공급업체의 일반적인 커널 업그레이드 절차에 따라 커널을 업그레이드하십시오.

OEL 5.6 64비트에서는 UEK(Unbreakable Enterprise Kernel)가 Xen 플랫폼을 지원하지 않습니다. 이 운영 체제에서 UEK를 사용하려고 하면 커널이 제대로 부팅되지 않습니다.

Oracle Linux 6.9(64비트)

메모리가 2GB 이상인 OEL 6.9 VM의 경우 부팅 매개 변수 <crashkernel=no>를 설정하여 크래시 커널을 비활성화합니다. VM은 이 매개 변수를 설정한 경우에만 성공적으로 재부팅됩니다. 이전 버전의 OEL 6.x를 사용하는 경우 OEL 6.9로 업데이트하기 전에 이 부팅 매개 변수를 설정합니다. XenCenter를 사용하여 매개 변수를 설정하려면 New VM(새 VM) 마법사에서 Installation Media(설치 미디어) 페이지의 Advanced OS boot parameters(고급 OS 부팅 매개 변수) 필드에 이 매개 변수를 추가합니다. XenCenter를 사용하여 기존 VM을 수정하려면 VM을 마우스 오른쪽 단추로 클릭하고 Properties(속성) > Boot Options(부팅 옵션) > OS boot parameters(OS 부팅 매개 변수)를 선택합니다.

Debian 6.0(Squeeze)(32/64비트)

XenCenter에서 사설 미러를 지정한 경우 이 미러는 설치 관리자 커널을 검색하는 데만 사용됩니다. 설치 관리자가 실행 중이면 패키지 검색에 사용할 미러의 주소를 다시 입력해야 합니다.

Debian 7(Wheezy)(32/64비트)

XenCenter에서 사설 미러를 지정한 경우 이 미러는 설치 관리자 커널을 검색하는 데만 사용됩니다. 설치 관리자가 실행 중이면 패키지 검색에 사용할 미러의 주소를 다시 입력해야 합니다.

Ubuntu 10.04(32/64비트)

여러 개의 vCPU를 포함하는 Ubuntu 10.04 VM의 경우 게스트 커널을 “2.6.32-32 #64”로 업데이트하는 것이 좋습니다. 이 문제에 대한 자세한 내용은 기술 자료 문서 CTX129472 Ubuntu 10.04 Kernel Bug Affects SMP Operation(Ubuntu 10.04 커널 버그가 SMP 작업에 영향을 미침)을 참조하십시오.

Asianux Server 4.5

그래픽 설치 관리자를 사용하여 설치를 수행해야 합니다. Installation Media(설치 미디어) 탭의 Advanced OS boot parameters(고급 OS 부팅 매개 변수) 필드에 “VNC”를 추가합니다.

Linx Linux v6.0

최대 6개의 vCPU를 지원합니다. Linx Linux V6.0 VM에 디스크를 추가하려면 다음 단계를 사용하여 장치 ID를 3보다 크게 설정합니다.

  1. 사용 가능한 장치 ID 가져오기:

    xe vm-param-get param-name=allowed-VBD-devices uuid=VM-uuid
    
  2. 목록에서 3보다 큰 ID를 사용합니다.

    xe vbd-param-set userdevice=Device-UD uuid=VM-uuid>
    

Yinhe Kylin 4.0

게스트 도구 설치의 경우 grub 메뉴에서 루트 사용자를 사용하도록 설정하고 루트 사용자로 게스트 도구를 설치합니다.

NeoKylin Linux Security OS V5.0(64비트)

기본적으로 NeoKylin Linux Security OS 5(64비트)에서는 /etc/init/controlalt-delete.conf의 설정이 비활성화됩니다. 따라서 xe 명령이나 XenCenter로 재부팅할 수 없습니다. 이 문제를 해결하려면 다음 중 하나를 수행합니다.

  • xe를 실행하여 VM을 재부팅할 때 force = 1 옵션을 지정합니다.

     xe vm-reboot force=1 uuid=<vm uuid>
    

    또는 XenCenter에서 Reboot(재부팅)을 클릭한 후 Force Reboot(강제 재부팅) 단추를 클릭합니다.

  • 게스트 운영체제의 /etc/init/control-altdelete.conf 파일에서 다음 두 줄이 사용되도록 설정되어 있는지 확인합니다.

     start on control-alt-delete
     exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
    

기본적으로 SELinux는 OS에서 사용되도록 설정됩니다. 따라서 사용자는 XenCenter를 통해 VM에 로그인할 수 없습니다. 이 문제를 해결하려면 다음을 수행합니다.

  1. XenCenter를 통해 Boot Options(부팅 옵션)에 selinux=0을 추가하여 Selinux를 비활성화합니다.
  2. VM에 액세스한 후 VM의 IP 주소를 기록합니다.
  3. 위의 단계에서 IP 주소를 얻은 후 타사 소프트웨어(예: Xshell)를 사용하여 VM에 연결하고 selinux=0을 제거합니다.

    참고:

    SELinux를 비활성화한 경우에만 XenCenter를 사용하여 VM에 액세스할 수 있습니다.

  4. XenCenter를 사용하여 VM에 액세스할 필요가 없는 경우 이전에 추가한 옵션을 제거하여 SELinux를 다시 사용하도록 설정합니다.

Debian Apt 저장소

드물게 설치하거나 단발성으로 설치하는 경우 Debian 미러를 직접 사용하는 것이 좋습니다. 하지만 VM 설치를 여러 번 수행할 예정이라면 캐싱 프록시나 로컬 미러를 사용하는 것이 좋습니다. Apt-cacher는 패키지의 로컬 캐시를 유지하는 프록시 서버의 구현입니다. debmirror는 Debian 저장소의 부분 또는 전체 미러를 만드는 도구입니다. 이 두 도구 중 하나를 VM에 설치할 수 있습니다.

Linux VM 복제 준비

VM 복제. 복제된 이미지를 일반화하지 않는 한 VM 또는 컴퓨터를 복제할 때 IP 주소, SID, MAC 주소 등과 같이 해당 컴퓨터에 고유한 특성이 환경에서 복제됩니다.

따라서, Linux VM을 복제할 때 XenServer가 자동으로 일부 가상 하드웨어 매개 변수를 변경합니다. XenCenter를 사용하여 VM을 복사하는 경우 XenCenter가 사용자를 대신해 자동으로 MAC 주소와 IP 주소를 변경합니다. 이러한 인터페이스가 환경에 동적으로 구성되어 있으면 복제된 VM을 수정할 필요가 없습니다. 하지만 이 인터페이스가 정적으로 구성되어 있으면 복제된 VM의 네트워크 구성을 수정해야 할 수도 있습니다.

이러한 변경이 인식되도록 하려면 VM을 사용자 지정해야 할 수 있습니다.

컴퓨터 이름

복제된 VM은 별개의 다른 컴퓨터이며 네트워크의 다른 새 컴퓨터와 마찬가지로 해당 컴퓨터가 속한 네트워크 도메인 내에서 이름이 고유해야 합니다.

IP 주소

복제된 VM은 해당 VM이 속한 네트워크 도메인 내에서 고유한 IP 주소를 가져야 합니다. DHCP를 사용하여 주소를 할당하는 경우에는 이 점이 일반적으로 문제가 되지 않습니다. VM이 부팅될 때 DHCP 서버가 IP 주소를 할당하기 때문입니다. 복제된 VM에 정적 IP 주소가 있는 경우에는 부팅하기 전에 복제된 VM에 사용되지 않은 IP 주소를 할당해야 합니다.

MAC 주소

다음과 같은 두 가지 상황에서는 복제하기 전에 MAC 주소 규칙을 비활성화하는 것이 좋습니다.

  1. 일부 Linux 배포판에서는 복제된 VM의 가상 네트워크 인터페이스에 대한 MAC 주소가 네트워크 구성 파일에 기록됩니다. 하지만 VM을 복제할 때는 XenCenter가 복제된 새 VM에 다른 MAC 주소를 할당합니다. 결과적으로 새 VM을 처음 시작할 때 네트워크에서 새 VM이 인식되므로 자동으로 작동되지 않습니다.

  2. 일부 Linux 배포판에서는 udev 규칙을 사용하여 각 네트워크 인터페이스의 MAC 주소를 기억하며 해당 인터페이스의 이름을 유지합니다. 이는 동일한 물리적 NIC가 항상 같은 ethn 인터페이스로 매핑되도록 하기 위한 것이며, 이는 특히 랩톱과 같은 이동식 NIC에 유용합니다. 하지만 VM의 경우에는 이 동작으로 문제가 발생할 수 있습니다. 예를 들어 VM을 설치할 때 두 개의 가상 NIC를 구성하고 종료한 다음 첫 번째 NIC를 제거하면 재부팅할 때 XenCenter에서 하나의 NIC만 표시하며 이를 eth0으로 인식합니다. 하지만 VM은 의도적으로 이를 eth1로 인식합니다. 그 결과 네트워크가 작동하지 않습니다.

VM에서 영구적 이름을 사용할 경우 복제하기 전에 이 규칙을 해제하는 것이 좋습니다. 영구적 이름을 해제하지 않으려는 경우에는 VM 내에서 일반적인 방법으로 네트워킹을 다시 구성해야 합니다. 하지만 XenCenter에 표시되는 정보가 네트워크의 실제 주소와 일치하지 않게 됩니다.

Linux VM 릴리스 정보

릴리스 정보 Linux VM. 대부분의 최신 Linux 배포판은 Xen 반가상화를 직접 지원하지만 설치 메커니즘이 서로 다르고 약간의 커널 제한도 있습니다.

Red Hat Enterprise Linux 4.5–4.8

Red Hat에 대해 다음과 같은 문제가 보고되었으며 Xen 커널(기본 제공 guest-tools.iso CD 이미지의 /mnt/Linux/install.sh 스크립트를 사용하여 설치 가능)에서 이미 수정되었습니다.

  • RHEL 4.8의 Xen 커널은 RCU가 일시 중지 상태일 때 틱리스(tickless) 모드로 전환되는 경우가 있습니다. 이러한 상황은 외부 이벤트(예를 들어 SysRQ)가 게스트를 해제하기 전까지 게스트가 중지되는 synchronize_kernel()에서 주로 발생합니다(Red Hat Bugzilla 427998).

  • 라이브 마이그레이션 도중 메모리가 부족하여 커널이 크래시될 수 있습니다(Red Hat Bugzilla 249867).

  • 다른 XenStore 작업으로 인해 게스트 커널이 중단될 수 있습니다(Red Hat Bugzilla 250381).

  • RHEL 4.7에는 RAM이 64GiB를 초과하는 호스트에서 부팅되지 않는 버그가 있습니다(Red Hat Bugzilla 311431). 이런 이유로 XenServer RHEL 4.7 게스트에는 기본적으로 64GiB보다 낮은 범위의 RAM 주소만 할당됩니다. 이로 인해 RAM이 여유 있는 것처럼 보일지라도 RHEL 4.7 게스트가 시작되지 못할 수 있습니다. 이 경우 다른 게스트를 다시 부팅하거나 종료하면 적합한 RAM이 사용 가능해질 수도 있습니다. 다른 방법이 모두 실패하면 RHEL 4.7 VM을 부팅할 수 있을 때까지 다른 게스트는 임시로 종료합니다.

    RHEL 4.7 VM의 부팅에 성공하면 XenServer PV Tools를 설치하고 다음 명령을 실행합니다.

     xe vm-param-remove uuid=vm_uuid param-name=other-config \
     param-key=machine-address-size
    

    그러면 메모리 제한이 없어집니다.

  • 일부 하드웨어(일반적으로 최신 시스템)에서는 CPU가 OS에서 무시되어야 하는 허위 페이지 오류를 생성하는 경우가 있습니다. 하지만 RHEL 4.5-4.7 버전은 이러한 허위 오류를 무시하지 못해 크래시됩니다(Red Hat Bugzilla 465914).

    본 제품의 커널에서는 이 문제가 수정되었습니다. RHEL 4 VM 템플릿이 suppress-spurious-page-faults 매개 변수로 설정되었습니다. 이를 통해 표준 커널이 Citrix 제공 커널로 바뀌는 시점까지 설치가 안전하게 계속됩니다.

    이 매개 변수를 설정하면 성능이 영향을 받으므로 VM 설치가 완료되면 VM의 명령 프롬프트에서 다음 명령을 실행합니다.

     xe vm-param-remove uuid=vm_uuid other-config: \
     param-key=suppress-spurious-page-faults
    
  • RHEL 4.5-4.7에서 xenbus 트랜잭션 종료 명령이 실패하는 경우 xenbus 트래픽의 추가 발생을 방지하기 위해 suspend_mutex가 잠긴 상태로 유지될 수 있습니다. Citrix RHEL 4.8 커널을 적용하면 이 문제가 해결됩니다. [EXT-5]

  • RHEL 4.5-4.8에서 XFS 파일 시스템을 사용하면 예외적인 상황에서 커널 패닉이 발생할 수 있습니다. Citrix RHEL 4.8 커널을 적용하면 이 문제가 해결됩니다. [EXT-16 ]

  • RHEL 4.5-4.8에서 RCU가 일시 중지 상태일 때 커널이 틱이 없는 유휴 모드로 전환될 수 있습니다. 그러면 게스트 운영체제가 잠깁니다. Citrix RHEL 4.8 커널을 적용하면 이 문제가 해결됩니다. [EXT-21]

  • RHEL 4.7과 4.8에서 호스트에 64GiB 이상의 RAM이 구성되어 있으면 VM이 크래시될 수 있습니다. Citrix RHEL 4.8 커널을 적용하면 이 문제가 해결됩니다. [EXT-30]

  • RHEL 4.5-4.8에서 드물게 커널 교착 상태를 야기할 수 있는 문제가 네트워크 드라이버에 포함될 수 있습니다. Citrix RHEL 4.8 커널을 적용하면 이 문제가 해결됩니다. [EXT-45]

추가 참고 사항:

  • RHEL 4.7과 4.8에서 VM에 많은 장치가 연결되어 있는 경우 이러한 모든 장치를 연결할 수 있는 시간이 부족하여 시작하지 못할 수 있습니다. [EXT-17]

  • 가상 CPU가 3개 이상(RHEL 4.x에서 지원하지 않음)인 VM에 RHEL 4.x를 설치하려고 하면 발견된 CPU 개수가 오류 메시지에 올바르게 보고되지 않습니다.

RHEL 4.5-4.8의 게스트 복제 준비

RHEL 4.5-4.8에서 게스트 복제를 준비하려면(Linux VM 복제 준비 참조), VM을 템플릿으로 변환하기 전에 /etc/sysconfig/network-scripts/ifcfg-eth0을 편집하고 HWADDR 줄을 제거합니다.

참고

Red Hat에서는 디스크 이미지를 직접 복제하는 대신 Kickstart를 사용하여 자동 설치를 수행할 것을 권장합니다(Red Hat KB Article 1308 참조).

RHEL 그래픽 설치 지원

그래픽 설치를 수행하려면 XenCenter에서 New VM(새 VM) 마법사의 단계를 따릅니다. Installation Media(설치 미디어) 페이지의 Advanced OS boot parameters(고급 OS 부팅 매개 변수) 섹션에서 vnc를 목록 매개 변수에 추가합니다.

graphical utf8 vnc

그런 다음 VNC 통신을 사용할 수 있도록 새 VM에 대한 네트워킹 구성을 제공하라는 메시지가 나타납니다. New VM(새 VM) 마법사의 나머지 부분을 진행합니다. 마법사가 완료되면 Infrastructure(인프라) 보기에서 VM을 선택한 다음 Console(콘솔)을 클릭하여 VM의 콘솔 세션을 봅니다. 이때 표준 설치 관리자가 사용됩니다. VM 설치는 처음에 텍스트 모드로 시작되며, 여기에는 네트워크 구성이 필요할 수 있습니다. 정보가 제공되면 Switch to Graphical Console(그래픽 콘솔로 전환) 단추가 XenCenter 창의 오른쪽 맨 위에 표시됩니다.

Red Hat Enterprise Linux 5

XenServer를 사용하려면 RHEL 5.4 이상 커널을 실행해야 합니다. 이전 버전의 커널에는 다음과 같은 알려진 문제가 있습니다.

  • 원래 커널을 사용하는 RHEL 5.0 64비트 게스트 운영체제가 XenServer 7.1에서 부팅되지 않습니다. XenServer 호스트를 7.1 버전으로 업그레이드하려고 시도하기 전에 커널을 버전 5.4(2.6.18-164.el5xen) 이상으로 업데이트해야 합니다. 이러한 게스트를 실행하고 호스트를 이미 XenServer 7.1 버전으로 업그레이드한 경우에는 CTX134845에서 커널 업그레이드에 대한 정보를 참조할 수 있습니다.

  • 일시 중단된 VM에서 다시 시작 작업을 하는 도중 스왑 디스크가 아직 다시 연결되는 중이기 때문에 스왑 작업이 불가능한데 이를 요구하는 할당이 만들어질 수 있습니다. 이것은 매우 드문 경우입니다 (Red Hat Bugzilla 429102).

  • RHEL 5.3 또는 5.4(32/64비트)를 실행하는 경우 게스트가 크래시될 수 있으므로 DMC(동적 메모리 제어)를 사용하면 안 됩니다. DMC를 사용하려면 더 최신 버전의 RHEL 또는 CentOS로 업그레이드하는 것이 좋습니다. [EXT-54]

  • RHEL 5.3에서 VM에 많은 장치가 연결되어 있는 경우 이러한 모든 장치를 연결할 수 있는 시간이 부족하여 시작하지 못할 수 있습니다. [EXT-17]

  • RHEL 5.0-5.3에서 XFS 파일 시스템을 사용하면 예외적인 상황에서 커널 패닉이 발생할 수 있습니다. Red Hat RHEL 5.4 이상 커널을 적용하면 이 문제가 해결됩니다. [EXT-16]

  • RHEL 5.2와 5.3에서 호스트에 64GiB 이상의 RAM이 구성되어 있으면 VM이 크래시될 수 있습니다. Red Hat RHEL 5.4 이상 커널을 적용하면 이 문제가 해결됩니다. [EXT-30]

  • RHEL 5.0-5.3에서 드물게 커널 교착 상태를 야기할 수 있는 문제가 네트워크 드라이버에 포함될 수 있습니다. Red Hat RHEL 5.4 이상 커널을 적용하면 이 문제가 해결됩니다. [EXT-45]

참고

이전 릴리스에는 XenServer에 RHEL 5를 가상 컴퓨터로 효율적으로 실행하지 못하게 하는 심각한 문제를 해결하는 교체용 RHEL 5 커널이 포함되어 있었습니다. Red Hat은 RHEL 5.4 이상에서 이 문제를 해결했습니다. 따라서 XenServer에는 더 이상 RHEL 5 관련 커널이 포함되어 있지 않습니다.

RHEL 5.x 게스트 복제 준비

RHEL 5.x에서 게스트 복제를 준비하려면(Linux VM 복제 준비 참조), VM을 템플릿으로 변환하기 전에 /etc/sysconfig/network-scripts/ifcfg-eth0을 편집하고 HWADDR 줄을 제거합니다.

참고

Red Hat에서는 디스크 이미지를 직접 복제하는 대신 Kickstart를 사용하여 자동 설치를 수행할 것을 권장합니다(Red Hat KB Article 1308 참조).

Red Hat Enterprise Linux 6

참고

Red Hat Enterprise Linux 6.x에는 또한 Red Hat Enterprise Linux Workstation 6.6(64비트) 및 Red Hat Enterprise Linux Client 6.6(64비트)이 포함됩니다.

  • RHEL 6.0 커널에는 여러 가상화 플랫폼의 디스크 I/O에 영향을 미치는 버그가 있습니다. 이 문제로 인해 RHEL 6.0이 실행 중인 VM에서 인터럽트가 손실됩니다. 자세한 내용은 Red Hat Bugzilla 681439, 603938652262를 참조하십시오.

  • 실행 중인 RHEL 6.1 및 6.2(32/64비트) VM에서 VDI(가상 디스크 이미지)를 분리하려고 하면 작업이 실패하고 게스트 커널이 크래시되며 NULL pointer dereference at <xyz> 오류 메시지가 표시됩니다. 이 문제를 해결하려면 커널을 6.3(2.6.32-238.el6) 이상 버전으로 업데이트해야 합니다. 자세한 내용은 Red Hat Bugzilla 773219을 참조하십시오.

Red Hat Enterprise Linux 7

마이그레이션 또는 일시 중단 후 다시 시작할 때 RHEL 7.x 게스트가 중지될 수 있습니다. 자세한 내용은 Red Hat Bugzilla 1141249를 참조하십시오.

CentOS 4

CentOS 4 릴리스 정보 목록은 RHEL 4 제한 사항을 참조하십시오.

CentOS 5

CentOS 5.x 릴리스 정보 목록은 RHEL 5 제한 사항을 참조하십시오.

CentOS 6

CentOS 6.x 릴리스 정보 목록은 RHEL 6 제한 사항을 참조하십시오.

CentOS 7

CentOS 7.x 릴리스 정보 목록은 RHEL 7 제한 사항을 참조하십시오.

Oracle Linux 5

Oracle Linux 5.x 릴리스 정보 목록은 RHEL 5 제한 사항을 참조하십시오.

Oracle Linux 6

v6.5 이전 버전을 실행하는 XenServer 호스트에 설치된 Oracle Linux 6.x 게스트는 v6.5로 업그레이드한 이후에도 Red Hat 커널을 계속 실행합니다. UEK 커널(새로 설치한 경우의 기본값)로 전환하려면 dom0에서 /etc/pygrub/rules.d/oracle-5.6 파일을 삭제하십시오. VM 내의 bootloader 구성을 편집하여 개별 VM에 사용할 커널을 선택할 수 있습니다.

OEL 6.x 릴리스 정보 목록은 RHEL 6 제한 사항을 참조하십시오.

Oracle Linux 7

Oracle Linux 7.x 릴리스 정보 목록은 RHEL 7 제한 사항을 참조하십시오.

Scientific Linux 5

Scientific Linux 5.x 릴리스 정보 목록은 RHEL 5 제한 사항을 참조하십시오.

Scientific Linux 6

Scientific Linux 6.x 릴리스 정보 목록은 RHEL 6 제한 사항을 참조하십시오.

Scientific Linux 7

Scientific Linux 7.x 릴리스 정보 목록은 RHEL 7 제한 사항을 참조하십시오.

SUSE Enterprise Linux 10 SP1

XenServer에서는 SLES 10 SP2에서 제공되는 표준 Novell 커널을 게스트 커널로 사용합니다. 이 커널에서 발견된 모든 버그는 Novell로 보고되며 다음과 같습니다.

  • 최대 3개의 가상 네트워크 인터페이스가 지원됩니다.

  • 부팅 시 디스크가 올바르게 연결되지 않는 경우가 있습니다. (Novell Bugzilla 290346).

SUSE Enterprise Linux 10 SP3

Novell SUSE Linux Enterprise Server 10 SP3(32비트) 버전의 패키징 결함으로 인해 사용자는 이 버전의 VM을 만들 수 없습니다. 이러한 문제를 해결하려면 SLES 10 SP2를 설치한 다음 SLES SP3으로 업그레이드해야 합니다(예를 들어 VM 내의 yast). 자세한 내용은 Novell 설명서 7005079를 참조하십시오.

SUSE Enterprise Linux 11

XenServer에서는 SLES 11에서 제공되는 표준 Novell 커널을 게스트 커널로 사용합니다. 이 커널에서 발견된 모든 버그는 Novell로 보고되며 다음과 같습니다.

  • 부하가 높은 SLES 11 VM의 라이브 마이그레이션이 An error occurred during the migration process 메시지와 함께 실패할 수 있습니다. 이것은 Novell에 보고된 SLES 11 커널의 알려진 문제 때문입니다. Novell의 커널 업데이트 2.6.27.23-0.1.1 이상에서는 이 문제가 해결될 것으로 예상합니다.

SUSE Enterprise Linux 11 SP2

SLES 11 SP2(32비트) VM을 만들면 SLES 11 SP2 커널의 버그 때문에 SLES 설치 관리자 또는 VM이 크래시될 수 있습니다. 이 문제를 해결하려면 최소 1GB의 메모리를 VM에 할당해야 합니다. 할당된 메모리의 양은 VM에 업데이트를 설치한 후 줄일 수 있습니다. 자세한 내용은 Novell Bugzilla 809166을 참조하십시오.

SLES 게스트 복제 준비

참고

복제할 SLES 게스트를 준비하려면 먼저 다음과 같이 네트워크 장치의 udev 구성을 지워야 합니다.

cat< /dev/null > /etc/udev/rules.d/30-net_persistent_names.rules

복제할 SLES 게스트를 준비하려면(Linux VM 복제 준비 참조):

  1. /etc/sysconfig/network/config 파일을 엽니다.

  2. 다음과 같은 줄을 편집합니다.

    FORCE_PERSISTENT_NAMES=yes
    

    다음과 같이 편집합니다.

    FORCE_PERSISTENT_NAMES=no
    
  3. 변경 내용을 저장하고 VM을 재부팅합니다.

Ubuntu 10.04

Ubuntu 10.04(64비트) VM에서 VM(VCPUs-max)에 사용할 수 있는 최대 vCPU 수 값을 부팅 중에 사용할 수 있는 vCPU 수(VCPUs-at-startup)보다 높게 설정하려고 하면 부팅 중에 VM이 크래시될 수 있습니다. 자세한 내용은 Ubuntu Launchpad 1007002에서 참조하십시오.

Ubuntu 12.04

원래 커널이 있는 Ubuntu 12.04 VM을 부팅하는 동안 크래시될 수 있습니다. 이 문제를 해결하려면 공급업체에서 지원하는 최신 설치 미디어를 사용하여 Ubuntu 12.04 VM을 생성하거나, 게스트 내부 업데이트 메커니즘을 사용하여 기존 VM을 최신 버전으로 업데이트해야 합니다.

Ubuntu 14.04

PV 게스트를 부팅하려고 하면 다음 오류로 인해 게스트가 크래시될 수 있습니다. kernel BUG at /build/buildd/linux-3.13.0/arch/x86/kernel/paravirt.c:239!. 이 문제는 인터럽트 컨텍스트에서 올바르지 않은 방법으로 비원자성 함수를 호출한 경우에 발생합니다. linux-image 패키지를 3.13.0-35.62 버전으로 업데이트하면 이 문제를 해결할 수 있습니다. 자세한 내용은 Ubuntu Launchpad 1350373에서 참조하십시오.