Citrix Hypervisor

ネットワークブートによるインストール

Citrix Hypervisorは、UEFIモードを使用したホストの起動をサポートしています。UEFIモードでは、ブートローダーとオペレーティングシステム向けの標準化された機能が豊富に用意されています。これにより、UEFIがデフォルトの起動モードであるホストに、Hypervisorをより簡単にインストールすることができます。

注:

  • 従来のDOSパーティションレイアウトは、UEFIブートではサポートされていません。
  • UEFIセキュアブートは、Citrix Hypervisorホストでは使用できません。

以下のセクションでは、TFTPサーバーとNFS、FTP、またはHTTPサーバーをセットアップして、Citrix HypervisorサーバーをインストールするためのPXEおよびUEFIブートを有効にする方法について説明します。また、無人インストールを実行するためのXML回答ファイルの作成方法についても説明します。

Citrix HypervisorのインストールのためにPXEおよびUEFI環境を構成する

Citrix Hypervisorインストールメディアをセットアップする前に、TFTPサーバーおよびDHCPサーバーをセットアップする必要があります。以下のセクションでは、TFTPサーバーをPXEおよびUEFIブート用に構成する方法について説明します。一般的なセットアップ手順については、ベンダーのドキュメントを参照してください。

注:

XenServer 6.0以降、MBRによるディスクパーティションからGUIDパーティションテーブル(GPT)に変更されています。一部のPXEシステムでは、ホストにイメージを展開する前に、そのホストのハードディスク上にあるパーティションテーブルの読み込みが試行されます。

PXEシステムにGPTパーティションスキームとの互換性がなく、さらにそのホストのハードディスクでGPTを使用するCitrix Hypervisorのバージョンが以前使用されていた場合、PXEシステムは失敗することがあります。この問題を回避するには、ディスク上のパーティションテーブルを削除してください。

TFTPサーバーとDHCPサーバーに加えて、Citrix HypervisorのインストールファイルをホストするためのNFS、FTP、またはHTTPサーバーが必要です。これらのサーバーは、同一マシン上に設定したり、ネットワーク上の複数のマシンに分散させたりできます。

注:

PXEブートは、タグ付きVLANネットワークではサポートされていません。PXEブートに使用するVLANネットワークがタグ付きでないことを確認します。

また、PXEブートでCitrix Hypervisorサーバーをインストールする各ホストで、PXEブート対応のイーサネットカードが必要です。

次の手順は、使用するLinuxサーバーがRPMをサポートしていることを前提としています。

PXEブート用にTFTPサーバーを構成する

  1. TFTPルートディレクトリ(/tftpbootなど)に、xenserverというディレクトリを作成します。

  2. mboot.c32ファイルとpxelinux.0ファイルをインストールメディアの/boot/pxelinuxディレクトリからTFTPルートディレクトリにコピーします。

    注:

    同じソース(同じCitrix Hypervisor ISOなど)のmboot.c32pxelinux.0を使用することを強くお勧めします。

  3. Citrix Hypervisorインストールメディアの以下のファイルをTFTPサーバーの新しいxenserverディレクトリにコピーします:

    • ルートディレクトリのinstall.img
    • /bootディレクトリのvmlinuz
    • /bootディレクトリのxen.gz
  4. TFTPルートディレクトリ(/tftpbootなど)に、pxelinux.cfgというディレクトリを作成します。

  5. pxelinux.cfgディレクトリに、設定ファイルdefaultを作成します。

    このファイルの内容は、PXE起動環境の構成方法、およびサーバーに適切な値によって異なります。

    ここでは、設定ファイルの例を2つ挙げます:

    • 例: 無人インストール この構成例では、以下のように指定されたURLの回答ファイルを使用して無人インストールを実行します。

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

      注:

      回答ファイルを取得するネットワークアダプタを指定するには、answerfile_device=ethXまたはanswerfile_device=MACパラメーターを追加して、イーサネットデバイス番号またはMACアドレスを指定します。

      回答ファイルの使用について詳しくは、「無人PXEおよびUEFIインストールのために回答ファイルを作成する」を参照してください。

    • 例:手動インストール この構成例では、以下のようにマシンへのインストールをTFTPサーバーから起動して開始し、手動での応答を必要とします。

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

    PXE設定ファイルの内容について詳しくは、SYSLINUXのWebサイトを参照してください。

UEFIブート用にTFTPサーバーを構成する

UEFIブート用にTFTPサーバーを構成するには:

  1. TFPTルートディレクトリ(/tftpbootなど)に、EFI/xenserverというディレクトリを作成します。

  2. DHCPサーバーを構成し、起動ファイルとして/EFI/xenserver/grubx64.efiを指定します。

  3. grub.cfgファイルを作成します。例:

    • インストール時のプロンプトに手動の応答が必要な場合:

       menuentry "Citrix Hypervisor Install (serial)" {
           multiboot2 /EFI/xenserver/xen.gz dom0_max_vcpus=1-16 dom0_mem=max:8192M com1=115200,8n1 console=com1,vga
           module2 /EFI/xenserver/vmlinuz console=hvc0 console=tty0
           module2 /EFI/xenserver/install.img
       }
       <!--NeedCopy-->
      
    • 回答ファイルを使用した無人インストールの場合:

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

    回答ファイルの使用について詳しくは、「無人PXEおよびUEFIインストールのために回答ファイルを作成する」を参照してください。

  4. grub.cfgファイルをTFTPサーバーのEFI/xenserverディレクトリにコピーします。

  5. Citrix Hypervisorインストールメディアの以下のファイルをTFTPサーバーの新しいEFI/xenserverディレクトリにコピーします:

    • /EFI/xenserverディレクトリのgrubx64.efi
    • ルートディレクトリのinstall.img
    • /bootディレクトリのvmlinuz
    • /bootディレクトリのxen.gz

特定のオペレーティングシステムについては、使用するオペレーティングシステムのマニュアルを参照してください。ここでは、Red Hat、Fedora、およびほかのRPMベースのディストリビューションでの設定手順について説明します。

HTTP、FTP、またはNFSサーバー上にCitrix Hypervisorインストールメディアをセットアップするには:

  1. HTTP、FTP、またはNFSサーバー上に、Citrix Hypervisorインストールメディアをホストするためのディレクトリを作成します。

  2. HTTP、FTP、またはNFSサーバー上に、Citrix Hypervisorインストールメディアをホストするためのディレクトリを作成します。このディレクトリがインストールリポジトリになります。

    注:

    Citrix Hypervisorインストールメディアをコピーする場合は、新しく作成したディレクトリにファイル.treeinfoをコピーしたことを確認する必要があります。

インストール先のシステムを準備するには:

  1. システムを起動し、ブートメニューを表示します(多くのBIOSプログラムでは起動処理中にF12キーを押します)。

  2. 起動順序を設定するメニューで、イーサネットカードから起動するように設定します。

  3. これまでの手順で設定したインストールソースからシステムがPXEブートし、インストールスクリプトが実行されます。回答ファイルを設定した場合は、そのまま無人インストールが実行されます。

Citrix Hypervisorのインストール中にサプリメンタルパックをインストールする

サプリメンタルパックは、コントロールドメイン(Dom0)内にソフトウェアをインストールすることによってCitrix Hypervisorの機能を修正および拡張するために使用されます。たとえば、OEMパートナーがCitrix HypervisorをSNMPエージェントのインストールが必要な管理ツールセットとともに出荷しようとする場合があります。ユーザーはサプリメンタルパックを最初のCitrix Hypervisorインストール時に、またはインストール後いつでも追加できます。

Citrix Hypervisorのインストール中にサプリメンタルパックをインストールする場合、各サプリメンタルパックも個別のディレクトリに解凍する必要があります。

また、サプリメンタルパックをCitrix Hypervisorのインストールリポジトリに追加して自動工場インストールを可能にするOEMパートナー用のファシリティも存在します。

無人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のローカルキャッシュが正しく機能するようになります。詳しくは、「ストレージ」を参照してください。

回答ファイルによる自動アップグレード

回答ファイルを適切に変更することで、自動アップグレードを実行することもできます。

  1. installationエレメントのmode属性をupgradeに設定します。
  2. existing-installationエレメントを使用して、既存のインストールが存在するディスクを指定します。
  3. primary-diskエレメントとguest-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-->

回答ファイルの参照先

次の表は、各エレメントの説明です。特に明記しない限りノード内の値はすべてテキストであり、いくつかの必須エレメントがあります。

<installation>

必須? はい

説明: 他のすべての要素を含むルート要素。

属性:

  • シンプロビジョニングを有効にするには、srtype属性をextとして指定します。この属性を指定しない場合、デフォルトのローカルストレージの種類はLVMです。シンプロビジョニングでは、ローカルストレージの種類がEXT4になり、Citrix Virtual Desktopsのローカルキャッシュが正しく機能するようになります。詳しくは、「ストレージ」を参照してください。
  • インストールの種類をアップグレードに変更するには、mode属性の値をupgradeに指定します。この属性を指定しない場合、インストーラーは新規インストールを実行し、サーバー上の既存のデータを上書きします。

<primary-disk>

必須? はい

注:

アップグレードのシナリオでは非推奨になりました。

説明: コントロールドメインのインストール先ストレージデバイスの名前。手動のインストールでは、[Select Primary Disk] 画面の設定に相当します。

属性: guest-storage属性には、値としてyesまたはnoを指定できます。 例:<primary-disk guest-storage="no">sda</primary-disk>

デフォルトの値はyesです。ストレージリポジトリを作成しない無人インストールを行う場合は、ここでnoを指定し、guest-diskキーは指定しないでおきます。

<guest-disk>

必須? いいえ

説明: ゲストを格納するストレージデバイスの名前。追加する各ディスクについて、このエレメントを記述します。

属性: なし

<keymap>

必須? いいえ

説明: インストール中に使用するキーマップの名前。<keymap>us</keymap>値を指定しない場合、デフォルトでusが適用されます。

属性: なし

<root-password>

必須: いいえ

説明: Citrix Hypervisorサーバーに必要なrootパスワード。指定しない場合はサーバーの初回起動時にメッセージが表示されます。

属性: typeには次の値のいずれかを指定できます: hashまたはplaintext

例:

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

ハッシュ値は、glibccrypt(3)でサポートされている任意のハッシュタイプを使用できます。デフォルトのハッシュタイプはSHA-512です。

次のPythonコードを使用して、ハッシュ化されたパスワード文字列を生成し、応答ファイルに含めることができます:

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

<source>

必須: はい

説明: アップロードされたCitrix Hypervisorインストールメディアまたはサプリメンタルパックの場所。このエレメントは複数記述できます。

属性: 属性typeには次の値のいずれかを指定できます: urlnfs、またはlocal

値がlocalの場合、このエレメントには何も指定しないでください。例:

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

<script>

必須: いいえ

説明: post-install-scriptが配置されている場所。

属性:

属性stageには、次の値のいずれかを指定できます:filesystem-populatedinstallation-start、またはinstallation-complete

  • filesystem-populatedを指定すると、ルートファイルシステムがマウントされる直前にスクリプトが実行されます(インストールまたはアップグレード後、initrdsのビルド後など)。スクリプトの引数は、ルートファイルシステムのマウントポイントになります。

  • installation-startを使用すると、スクリプトはメインのインストールシーケンスの開始前に実行されますが、インストーラーが初期化され、ドライバーが読み込まれ、回答ファイルが処理された後に実行されます。このスクリプトは引数を受け取りません。

  • installation-completeを指定すると、インストーラーがすべての処理を完了した後(つまりルートファイルシステムがアンマウントされた後)にスクリプトが実行されます。スクリプトの引数は、インストールが正しく完了した場合に0、何らかの理由で失敗した場合にそれ以外の値になります。

属性typeには、次の値のいずれかを指定できます:urlnfs、またはlocal

値がurlまたはnfsの場合は、URLまたはNFSパスをPCDATAに入力します。値が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>

必須: いいえ

説明: TZ変数の書式で指定するタイムゾーン。たとえば、Europe/London、Asia/Tokyoなど。デフォルトの値はEtc/UTCです。

<name-server>

必須: いいえ

説明: ネームサーバーのIPアドレス使用する各ネームサーバーについて、このエレメントを記述します。

<hostname>

必須: いいえ

説明: ホスト名を手動で設定する場合は、このエレメントを指定します。

<ntp-server>

必須: いいえ

説明: NTPサーバー名(複数指定可)。

ネットワークブートによるインストール