Citrix Hypervisor

네트워크 부팅 설치

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

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

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

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

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 sr-type="ext">
        <primary-disk>sda</primary-disk>
        <guest-disks>
            <guest-disk>sdb</guest-disk>
            <guest-disk>sdc</guest-disk>
        </guest-disks>
        <keymap>us</keymap>
        <root-password>mypassword</root-password>
        <source type="url">http://pxehost.example.com/citrix-hypervisor/</source>
        <script type="url" stage="filesystem-populated">
          http://pxehost.example.com/myscripts/post-install-script
        </script>
        <admin-interface name="eth0" proto="dhcp" />
        <timezone>Europe/London</timezone>
    </installation>
<!--NeedCopy-->

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

installation 요소에는 다음과 같은 속성이 있습니다.

  • sr-type 씬 프로비저닝을 활성화하려면 sr-type 속성을 ext로 지정합니다. 이 특성을 지정하지 않는 경우 기본 로컬 스토리지 유형은 LVM입니다. 씬 프로비저닝은 로컬 스토리지 유형을 EXT4로 설정하고 Citrix Virtual Desktops에 대한 로컬 캐싱이 제대로 작동하도록 합니다. 자세한 내용은 저장소를 참조하십시오.
  • mode fresh, reinstall 또는 upgrade를 지정할 수 있습니다. 이 속성을 지정하지 않으면 새로 설치할 때 fresh가 기본값입니다.

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

<primary-disk>

필수 여부

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

속성:

  • guest-storage는 로컬 SR에 기본 디스크의 나머지 공간을 포함할지 여부를 지정합니다.

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

  • sr-at-end는 물리적 디스크에서 SR 파티션의 위치를 지정합니다. 이 속성에는 가능한 값 TrueFalse가 있습니다.

  • preserve-first-partition은 디스크 시작 부분에서 Citrix Hypervisor 이외의 파티션이 검색될 때 수행할 작업을 지정합니다.

    이 속성의 값은 다음과 같습니다.

    • yes 또는 true - 파티션을 무조건 보존
    • no 또는 false - 파티션을 무조건 파괴
    • if-utility(기본값) - 유틸리티 파티션인 경우 파티션 유지

예:

<primary-disk guest-storage="no">sda</primary-disk>
<!--NeedCopy-->

<guest-disks>

필수 여부 아니요

설명: 로컬 SR에 포함할 추가 장치를 지정합니다. 하나 이상의 <guest-disk> 요소를 포함합니다.

속성: 없음

<guest-disk>

필수 여부 아니요

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

속성: 없음

예:

<guest-disks>
    <guest-disk>dev</guest-disk>
    <guest-disk>sdb</guest-disk>
    <guest-disk>sdc</guest-disk>
</guest-disks>?
<!--NeedCopy-->

<keymap>

필수 여부

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

속성: 없음

예:

<keymap>us</keymap>
<!--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-->

서버가 처음 부팅될 때까지 암호 설정을 연기하려면 !! 값 및 type="hash" 속성 값을 지정합니다.

<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-->

<driver-source>

필수: 아니요

설명: 설치 프로그램으로 로드하고 주 저장소를 설치한 후에 포함되는 장치 드라이버가 들어 있는 보조 팩의 위치입니다.

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

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

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

<bootloader>

필수: 아니요

설명: 부트로더 변형 및 위치를 정의합니다. grub2는 이 버전의 Citrix Hypervisor에서 유일하게 지원되는 부트로더 변형입니다.

속성:

  • location은 부트로더의 위치를 지정합니다.

    이 속성의 값은 mbr 또는 partition 중 하나일 수 있습니다. 기본값은 mbr입니다.

  • write-boot-entry는 EFI 부트 관리자를 수정하고 UEFI 설치를 위한 부트 항목을 작성할지 여부를 지정합니다.

    이 선택적 속성의 값은 True 또는 False 중 하나일 수 있습니다. 기본값은 True입니다.

예:

<bootloader location="mbr">grub2</bootloader>
<!--NeedCopy-->

<network-backend>

필수: 아니요

설명: 네트워크 스택 변형을 정의합니다. 사용 가능한 옵션은 bridge 또는 openvswitch입니다. 기본값은 openvswitch입니다.

속성: 없음

예:

<network-backend>bridge</network-backend>
<!--NeedCopy-->

<script>

필수: 아니요

설명: 정의된 단계에서 호출할 셸 또는 Python 스크립트를 정의합니다. 요소의 내용은 스크립트의 경로입니다.

속성:

  • stage는 스크립트가 실행되는 시간을 지정합니다. 이 값은 filesystem-populated, installation-start 또는 installation-complete 중 하나일 수 있습니다.

    • installation-start 값을 사용하면 설치가 시작되기 전에 스크립트가 실행됩니다. 이 스크립트는 인수를 받지 않습니다.

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

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

  • type은 스크립트에 대한 경로 유형을 지정합니다. 이 속성의 값은 url 또는 nfs 중 하나일 수 있습니다.

예를 들면 다음과 같습니다.

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

<fcoe-interface>

필수: 아니요

설명: 이더넷 VLAN 검색을 통해 파이버 채널을 실행할 인터페이스를 지정합니다.

속성:

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

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

<admin-interface>

필수: 아니요

설명: 초기 관리 인터페이스를 지정합니다.

속성:

다음 특성은 필수입니다.

  • proto는 인터페이스 유형을 지정합니다. 이 값은 dhcp, static 또는 none 중 하나일 수 있습니다.

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

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

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

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

선택적 특성:

  • vlan은 관리 인터페이스에 대해 태그가 지정된 VLAN ID를 지정합니다. 이 속성이 없으면 태그가 지정되지 않은 VLAN이 기본값으로 사용됩니다. 이 속성의 값은 1에서 4094 사이의 정수일 수 있습니다.

<timezone>

필수:

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

속성: 없음

<name-server>

필수: 아니요

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

속성: 없음

<hostname>

필수: 아니요

설명: 호스트 이름을 수동으로 설정하려면 이 요소를 지정합니다. 기본값은 localhost.localdomain입니다.

속성: 없음

<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-->
네트워크 부팅 설치