Citrix Hypervisor

네트워크 부팅 설치

Citrix Hypervisor는 UEFI 모드를 사용한 호스트 부팅을 지원합니다. UEFI 모드는 bootloader 및 운영 체제에 표준화된 다양한 기능 집합을 제공합니다. 이 기능을 사용하면 UEFI가 기본 부팅 모드인 호스트에 Citrix Hypervisor를 보다 쉽게 설치할 수 있습니다.

참고:

레거시 DOS 파티션 레이아웃은 UEFI 부팅에서 지원되지 않습니다.

다음 섹션에서는 Citrix Hypervisor 서버 설치의 PXE 및 UEFI 부팅을 사용하도록 TFTP 및 NFS, FTP 또는 HTTP 서버를 설정하는 방법에 대해 설명합니다. 무인 설치를 실행할 수 있도록 지원하는 XML 응답 파일을 만드는 방법에 대해서도 설명합니다.

Citrix Hypervisor 설치를 위한 PXE 및 UEFI 환경 구성

Citrix Hypervisor 설치 미디어를 설정하기 전에 TFTP 및 DHCP 서버를 구성합니다. 다음 섹션에서는 PXE 및 UEFI 부팅을 위해 TFTP 서버를 구성하는 방법에 대해 설명합니다. 일반적인 설치 절차에 대해서는 공급업체 설명서를 참조하십시오.

참고:

XenServer 6.0에서는 MBR 디스크 파티션이 GPT(GUID 파티션 테이블)로 이동되었습니다. 일부 타사 PXE 배포 시스템에서는 호스트에 이미지를 배포하기 전에 컴퓨터 하드 디스크의 파티션 테이블을 읽으려고 할 수 있습니다.

배포 시스템이 GPT 파티션 구성표와 호환되지 않고 하드 디스크가 이전에 GPT를 사용하는 Citrix Hypervisor 버전에 사용된 경우 PXE 배포 시스템이 실패할 수 있습니다. 이 경우에는 디스크의 파티션 테이블을 삭제하면 해결할 수 있습니다.

TFTP 및 DHCP 서버 외에도 Citrix Hypervisor 설치 파일을 저장하려면 NFS, FTP 또는 HTTP 서버가 필요합니다. 이러한 서버는 하나의 서버에 함께 있을 수도 있고 네트워크의 다른 서버에 분산되어 있을 수도 있습니다.

참고:

태그가 지정된 VLAN 네트워크에서는 PXE 부팅이 지원되지 않습니다. PXE 부팅에 사용하는 VLAN 네트워크에 태그가 지정되지 않았는지 확인합니다.

또한 PXE 부팅하려는 각 Citrix Hypervisor 서버에는 PXE 부팅 가능 이더넷 카드가 있어야 합니다.

다음 단계에서는 사용할 Linux 서버에 RPM 지원 기능이 있다고 가정합니다.

PXE 부팅을 지원하도록 TFTP 서버 구성

  1. TFTP 루트 디렉터리(예: /tftpboot)에서 xenserver라는 디렉터리를 만듭니다.

  2. mboot.c32pxelinux.0 파일을 설치 미디어에서 TFTP 루트 디렉터리로 복사합니다.

    참고:

    동일한 소스 (예: 동일한 Citrix Hypervisor ISO) 의 mboot.c32pxelinux.0 파일을 사용하는 것이 좋습니다.

  3. Citrix Hypervisor 설치 미디어에서 루트 디렉터리의 install.img 파일과 /boot 디렉터리의 vmlinuzxen.gz 파일을 TFTP 서버의 새 xenserver 디렉터리로 복사합니다.

  4. TFTP 루트 디렉터리(예: /tftpboot)에서 pxelinux.cfg라는 디렉토리를 만듭니다.

  5. pxelinux.cfg 디렉터리에서 default라는 구성 파일을 만듭니다.

    이 파일의 내용은 PXE 부팅 환경을 구성하는 방법에 따라 달라집니다. 아래에는 두 개의 샘플 구성이 나와 있습니다. 첫 번째 예제 구성은 TFTP 서버에서 부팅되는 컴퓨터에서 설치를 시작합니다. 이 설치에는 수동 응답이 필요합니다. 두 번째 예제 구성은 무인 설치를 위한 것입니다.

    참고:

    다음 예제에서는 물리적 콘솔 tty0에서 설치 관리자를 실행하도록 구성하는 방법을 보여 줍니다. 다른 기본값을 사용하려면 사용하려는 콘솔이 맨 오른쪽에 지정되어 있는지 확인하십시오.

        default xenserver
        label xenserver
            kernel mboot.c32
            append xenserver/xen.gz dom0_max_vcpus=2 \
                dom0_mem=1024M,max:1024M com1=115200,8n1 \
            console=com1,vga ---  xenserver/vmlinuz \
            xencons=hvc console=hvc0 console=tty0 \
            ---  xenserver/install.img
    <!--NeedCopy-->
    

    지정된 URL의 응답 파일을 사용하여 무인 설치를 수행하는 샘플 구성은 다음과 같습니다.

    참고:

    응답 파일을 검색하는 데 사용할 네트워크 어댑터를 지정하려면 answerfile_device=ethX 또는 answerfile_device=MAC 매개 변수를 포함하고 이더넷 장치 번호나 장치의 MAC 주소를 지정합니다.

        default xenserver-auto
        label xenserver-auto
            kernel mboot.c32
            append xenserver/xen.gz dom0_max_vcpus=2 \
                dom0_mem=1024M,max:1024M com1=115200,8n1 \
                console=com1,vga ---  xenserver/vmlinuz \
                xencons=hvc console=hvc0 console=tty0 \
                answerfile=http://pxehost.example.com/answerfile \
                install ---  xenserver/install.img
    <!--NeedCopy-->
    

    PXE 구성 파일 내용에 대한 자세한 내용은 SYSLINUX 웹 사이트를 참조하십시오.

UEFI 부팅을 위한 TFTP 서버 구성

UEFI 부팅을 위해 TFTP 서버를 구성하려면 다음과 같이 하십시오.

  1. TFPT 루트 디렉터리(예: /tftpboot)에서 EFI/xenserver라는 디렉터리를 만듭니다.

  2. /EFI/xenserver/grubx64.efi를 부팅 파일로 제공하도록 DHCP 서버를 구성합니다.

  3. grub.cfg 파일을 만듭니다. 예:

    • 설치 프롬프트에 수동으로 응답해야 하는 설치의 경우:

       menuentry "Citrix Hypervisor Install (serial)" {
           multiboot2 /EFI/xenserver/xen.gz dom0_mem=1024M,max:1024M watchdog \
           dom0_max_vcpus=4 com1=115200,8n1 console=com1,vga
           module2 /EFI/xenserver/vmlinuz console=hvc0
           module2 /EFI/xenserver/install.img
       }
       <!--NeedCopy-->
      
    • 응답 파일을 사용하는 무인 설치의 경우:

       menuentry "Citrix Hypervisor Install (serial)" {
           multiboot2 /EFI/xenserver/xen.gz dom0_mem=1024M,max:1024M watchdog \
           dom0_max_vcpus=4 com1=115200,8n1 console=com1,vga
           module2 /EFI/xenserver/vmlinuz console=hvc0 console=tty0 answerfile_device=eth0 answerfile=ftp://ip_address/path_to_answerfile install
           module2 /EFI/xenserver/install.img
       }
       <!--NeedCopy-->
      

    응답 파일 사용에 대한 자세한 내용은 무인 PXE 및 UEFI 설치용 응답 파일 만들기를 참조하십시오.

  4. grub.cfg 파일을 TFTP 서버의 EFI/xenserver 디렉터리에 복사합니다.

  5. Citrix Hypervisor 설치 미디어에서 루트 디렉터리의 grubx64.efi, install.img 파일과 /boot 디렉터리의 xen.gzvmlinuz 파일을 TFTP 서버의 새 EFI/xenserver 디렉터리로 복사합니다.

특정 운영 체제에 대한 자세한 내용은 서버 운영 체제 설명서를 참조하십시오. 여기서 제공하는 정보는 Red Hat, Fedora 및 기타 RPM 기반 배포에 사용할 수 있는 지침입니다.

HTTP, FTP 또는 NFS 서버에서 Citrix Hypervisor 설치 미디어를 설정하려면 다음과 같이 하십시오.

  1. 서버에서 HTTP, FTP 또는 NFS를 통해 Citrix Hypervisor 설치 미디어를 내보낼 수 있는 디렉터리를 만듭니다.

  2. Citrix Hypervisor 설치 미디어의 전체 내용을 HTTP, FTP 또는 NFS 서버에 새로 만든 디렉터리로 복사합니다. 이 디렉터리가 설치 저장소가 됩니다.

    참고:

    Citrix Hypervisor 설치 미디어를 복사할 때 파일을 새로 만든 .treeinfo 디렉터리에 복사해야 합니다.

대상 시스템을 준비하려면:

  1. 시스템을 시작하고 부팅 메뉴(BIOS 프로그램에서 F12 키)로 들어갑니다.

  2. 이더넷 카드에서 부팅하는 옵션을 선택합니다.

  3. 그러면 설정된 설치 원본에서 시스템이 PXE 부팅되고 설치 스크립트가 시작됩니다. 응답 파일을 설정한 경우에는 설치가 무인으로 계속됩니다.

Citrix Hypervisor 설치 중 보조 팩 설치

보조 팩은 제어 도메인 (Dom0) 에 소프트웨어를 설치하여 Citrix Hypervisor 기능을 수정하고 확장하는 데 사용됩니다. 예를 들어 OEM 파트너는 SNMP 에이전트를 설치해야 하는 일련의 관리 도구와 함께 Citrix Hypervisor를 제공하려고 할 수 있습니다. 사용자는 초기 Citrix Hypervisor를 설치하는 동안 또는 나중에 언제든지 추가 팩을 추가할 수 있습니다.

Citrix Hypervisor를 설치하는 동안 보조 팩을 설치하는 경우 각 보조 팩의 압축을 별도의 디렉터리에 풉니다.

또한 OEM 파트너가 Citrix Hypervisor 설치 리포지토리에 보조 팩을 추가하여 공장 설치를 자동화할 수 있는 시설도 있습니다.

무인 PXE 및 UEFI 설치용 응답 파일 만들기

무인 설치를 수행하려면 XML 응답 파일을 만듭니다. 다음은 응답 파일 예제입니다.

<?xml version="1.0"?>
    <installation srtype="ext">
        <primary-disk>sda</primary-disk>
        <guest-disk>sdb</guest-disk>
        <guest-disk>sdc</guest-disk>
        <keymap>us</keymap>
        <root-password>mypassword</root-password>
        <source type="url">http://pxehost.example.com/citrix-hypervisor/</source>
        <post-install-script type="url">
          http://pxehost.example.com/myscripts/post-install-script
        </post-install-script>
        <admin-interface name="eth0" proto="dhcp" />
        <timezone>Europe/London</timezone>
    </installation>
<!--NeedCopy-->

installation이라는 루트 노드 내에 모든 노드를 포함합니다.

참고:

씬 프로비저닝을 사용하도록 설정하려면 srtype 특성을 ext로 지정합니다. 이 특성을 지정하지 않는 경우 기본 로컬 스토리지 유형은 LVM입니다. 씬 프로비저닝은 로컬 스토리지 유형을 EXT4로 설정하고 Citrix Virtual Desktops에 대한 로컬 캐싱이 제대로 작동하도록 합니다. 자세한 내용은 저장소를 참조하십시오.

다음은 요소에 대한 요약입니다. 달리 명시되어 있지 않는 한 모든 노드 값은 텍스트여야 합니다. 요소가 필수 요소인지 여부도 나와 있습니다.

<primary-disk>

필수 여부

설명: 제어 도메인이 설치된 스토리지 디바이스의 이름입니다. 이 요소는 수동 설치 프로세스의 주 디스크 선택 단계에서 선택한 항목과 동일합니다.

속성: 가능한 값 yesno을 사용하여 guest-storage 속성을 지정할 수 있습니다. 예를 들면 다음과 같습니다. <primary-disk guest-storage="no">sda</primary-disk>

기본값은 yes입니다. no를 지정하면 스토리지 저장소가 만들어지지 않는 설치 시나리오를 자동화할 수 있습니다. 이 경우 게스트 디스크 키를 지정하지 마십시오.

<guest-disk>

필수 여부 아니요

설명: 게스트를 저장하는 데 사용할 스토리지 디바이스의 이름입니다. 각 추가 디스크에 대해 이러한 요소 중 하나를 사용합니다.

속성: 없음

<keymap>

필수 여부

설명: 설치 중에 사용할 키 맵의 이름입니다. <keymap>us</keymap> 이 요소의 값을 지정하지 않으면 기본값 us이 고려됩니다.

속성: 없음

응답 파일을 적절히 변경하여 자동 업그레이드를 수행할 수도 있습니다. installation 요소의 mode 특성을 upgrade로 설정하고 existing-installation 요소를 사용하여 기존 설치가 있는 디스크를 지정합니다. primary-diskguest-disk 요소는 지정하지 않은 상태로 둡니다. 예:

<?xml version="1.0"?>
<installation mode="upgrade">
    <existing-installation>sda</existing-installation>
    <source type="url">http://pxehost.example.com/citrix-hypervisor/</source>
    <post-install-script type="url">
        http://pxehost.example.com/myscripts/post-install-script
    </post-install-script>
</installation>
<!--NeedCopy-->

<root-password>

필수: 아니요

설명: Citrix Hypervisor 서버에 대해 원하는 루트 암호입니다. 암호를 제공하지 않으면 서버를 처음 부팅할 때 프롬프트가 표시됩니다.

속성: hash 또는 plaintexttype를 지정할 수 있습니다.

예:

<root-password type="hash">hashedpassword</root-password>
<!--NeedCopy-->

해시된 값은 crypt(3)에서 glibc가 지원하는 모든 해시 유형을 사용할 수 있습니다. 기본 해시 유형은 SHA-512 입니다.

다음 Python 코드를 사용하여 응답 파일에 포함할 해시된 암호 문자열을 생성할 수 있습니다.

python -c 'import crypt; print(crypt.crypt("mypasswordhere", crypt.mksalt(crypt.METHOD_SHA512)))'
<!--NeedCopy-->

<source>

필수:

설명: 업로드된 Citrix Hypervisor 설치 미디어 또는 보조 팩의 위치입니다. 이 요소는 여러 번 발생할 수 있습니다.

속성: type 속성의 값은 url, nfs, 또는 local 중 하나일 수 있습니다.

값이 local이면 요소를 비워 둡니다. 예를 들면 다음과 같습니다.

<source type="url">http://server/packages</source>
<source type="local" />
<source type="nfs">server:/packages</source>
<!--NeedCopy-->

<script>

필수: 아니요

설명: 설치 후 스크립트가 있는 위치입니다.

속성:

stage 속성은 filesystem-populated, installation-start, 또는 installation-complete 값 중 하나를 가질 수 있습니다.

  • filesystem-populated 값을 사용하면 루트 파일 시스템이 마운트 해제되기 직전에 스크립트가 실행됩니다(예: 설치/업그레이드 후, 이미 빌드된 initrds 등). 이 스크립트는 루트 파일 시스템의 탑재 지점을 인수로 수신합니다.

  • installation-complete 값을 사용하면 설치 프로그램이 모든 작업을 완료한 후에 스크립트가 실행됩니다 (따라서 루트 파일 시스템이 마운트 해제됩니다). 스크립트는 설치가 성공적으로 완료되면 값이 0인 인수를 받고, 어떤 이유로든 설치가 실패하면 0이 아닌 인수를 받습니다.

type 속성은 url, nfs, 또는 local 값 중 하나를 가질 수 있습니다.

값이 url 또는 nfs이면 PCDATA의 URL 또는 NFS 경로를 입력합니다. 값이 local이면 PCDATA를 비워 둡니다. 예를 들면 다음과 같습니다.

<script stage="filesystem-populated" type="url">
    http://prehost.example.com/post-install-script
</script>
<script stage="installation-start" type="local">
    file:///scripts/run.sh
</script>
<script stage="installation-complete" type="nfs">
    server:/scripts/installation-pass-fail-script
</script>
<!--NeedCopy-->

참고:

로컬 파일을 사용하는 경우 경로가 절대 경로인지 확인합니다. 이는 일반적으로 file:// 접두사 뒤에 또 다른 슬래시가 오고 스크립트의 전체 경로가 이어진다는 것을 의미합니다.

<admin-interface>

필수: 아니요

설명: 호스트 관리 인터페이스로 사용할 단일 네트워크 인터페이스입니다.

속성:

다음 속성 중 하나를 지정합니다.

  • name - 네트워크 인터페이스의 이름 (예: eth0)
  • hwaddr - 네트워크 인터페이스의 MAC 주소 (예: 00:00:11:aa:bb:cc)

proto 속성은 dhcp 또는 static 값 중 하나를 가질 수 있습니다.

proto="static"를 지정하는 경우 다음 하위 요소도 모두 지정해야 합니다.

자식 요소

  • <ipaddr>: IP 주소
  • <subnet>: 서브넷 마스크
  • <gateway>: 게이트웨이

<timezone>

필수:

설명: Europe/London 또는 America/Los_Angeles와 같이 TZ 변수에 사용되는 형식의 시간대입니다.

<name-server>

필수: 아니요

설명: 네임서버의 IP 주소입니다. 사용할 각 네임서버에 대해 다음 요소 중 하나를 사용합니다.

<hostname>

필수: 아니요

설명: 호스트 이름을 수동으로 설정하려면 이 요소를 지정합니다.

<ntp-server>

필수: 아니요

설명: 하나 이상의 NTP 서버를 지정합니다.

응답 파일을 사용한 자동 업그레이드

응답 파일을 적절히 변경하여 자동 업그레이드를 수행할 수도 있습니다.

  1. installation 요소의 mode 속성을 upgrade로 설정합니다.
  2. existing-installation 요소와 함께 기존 설치가 상주하는 디스크를 지정합니다.
  3. primary-diskguest-disk 요소는 지정되지 않은 상태로 둡니다.

예:

<?xml version="1.0"?>
<installation mode="upgrade">
    <existing-installation>sda</existing-installation>
    <source type="url">http://pxehost.example.com/xenserver/</source>
    <post-install-script type="url">
        http://pxehost.example.com/myscripts/post-install-script
    </post-install-script>
</installation>
<!--NeedCopy-->
네트워크 부팅 설치