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

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

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

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

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

注:

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

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

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

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

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

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

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

  1. /tftpbootディレクトリに、ディレクトリxenserverを作成します。

  2. mboot.c32ディレクトリのpxelinux.0/usr/lib/syslinuxを、/tftbootディレクトリにコピーします。

    注:

    シトリックスは、同じソース(同じXenServer ISOなど)のmboot.c32pxelinux.0を使用することを強くお勧めします。

  3. XenServerインストールメディアのルートディレクトリにあるinstall.imgと、/bootディレクトリにあるvmlinuzおよびxen.gzを、TFTPサーバーに作成した/tftpboot/xenserverディレクトリにコピーします。

  4. /tftbootディレクトリに、ディレクトリpxelinux.cfgを作成します。

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

    この設定ファイルの内容は、PXEブート環境を設定する方法によって異なります。ここでは、設定ファイルの例を2つ挙げます。1つ目の例では、TFTPサーバーから起動するマシンでインストールを開始します。このインストールでは、手動の応答が必要です。2つ目の例は、管理者の介在が不要な無人インストールです。

    注:

    以下の2つの例では、物理コンソールtty0上でインストールが実行されます。ほかのコンソールを使用する場合は、そのコンソールを最後のconsole=エントリで指定してください。

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

    次の例では、指定したURLにある回答ファイルによる無人インストールを実行します。

    注:

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

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

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

UEFIブート用のTFTPサーバーの構成

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

  1. /tftpbootディレクトリに、ディレクトリEFI/xenserverを作成します。

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

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

    menuentry "XenServerInCloud Sphere 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
    }
    
  4. grub.cfgファイルをTFTPサーバーの/tftpboot/EFI/xenserverディレクトリにコピーします。

  5. XenServerインストールメディアのルートディレクトリにあるgrubx64.efiおよびinstall.imgと、/bootディレクトリにあるvmlinuzおよびxen.gzを、TFTPサーバーに作成した/tftpboot/EFI/xenserverディレクトリにコピーします。

    以下の2つの例では、物理コンソールtty0上でインストールが実行されます。ほかのコンソールを使用する場合は、そのコンソールを左端で指定してください。

    default xenserver
    label xenserver
        kernel mboot.c32
        append /tftpboot/EFI/xenserver/xen.gz dom0_mem=1024M,max:1024M watchdog \
          dom0_max_vcpus=4 com1=115200,8n1 \
        console=com1,vga ---  /tftpboot/EFI/xenserver/vmlinuz \
        console=hvc0 console=tty0 \
        ---  /tftpboot/EFI/xenserver/install.img
    

    次の例では、指定したURLにある回答ファイルによる無人インストールを実行します。

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

    default xenserver-auto
    label xenserver-auto
       kernel mboot.c32
       append /tftpboot/EFI/xenserver/xen.gz dom0_mem=1024M,max:1024M watchdog \
          dom0_max_vcpus=4 com1=115200,8n1 \
          console=com1,vga ---  /tftpboot/EFI/xenserver/vmlinuz \
          console=hvc0 console=tty0 \
          answerfile=http://pxehost.example.com/answerfile \
          install ---  /tftpboot/EFI/xenserver/install.img
    

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

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

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

  2. XenServerインストールメディアのすべての内容を、上記の手順で作成したディレクトリにコピーします。このディレクトリがインストールリポジトリになります。

    注:

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

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

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

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

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

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

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

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

また、サプリメンタルパックをXenServerのインストールリポジトリに追加して自動工場インストールを可能にする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/xenserver/</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>

回答ファイルでは、installationという名前のルートノード内に、すべてのノードを記述します。

注:

シンプロビジョニングを有効にするには、srtype属性をextとして指定します。この属性を指定しない場合、デフォルトのローカルストレージの種類はLVMです。シンプロビジョニングでは、ローカルストレージの種類がEXT3になり、XenDesktopのローカルキャッシュが正しく機能するようになります。詳しくは、『XenServer管理者ガイド』を参照してください。

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

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

    XenServerホストのルートパスワード。指定しない場合はホストの初回起動時にメッセージが表示されます。

    属性:

    種類:hashまたはplaintext

    次に例を示します。

    <root-password type="hash">hashedpassword</root-password>
    
  • <source>(必須)

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

    属性:

    type:url、nfs、またはlocalを指定できます。

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

    <source type="url">http://server/packages</source>
    <source type="local" />
    <source type="nfs">server:/packages</source>
    
  • <script>

    post-install-scriptの場所。

    属性:

    stage:filesystem-populated、installation-start、またはinstallation-completeを指定できます。

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

    • installation-completeを指定すると、インストーラーがすべての処理を完了した後(つまりルートファイルシステムがアンマウントされた後)にスクリプトが実行されます。スクリプトの引数は、インストールが正しく完了した場合に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>
    

    ローカルのスクリプトファイルを使用する場合は、絶対パスを指定してください。絶対パスは、通常file://の後にさらにスラッシュ(/)を付加し、スクリプトのパスを続けます。

  • <admin-interface>

    ホスト管理インターフェイスとして使用する単一のネットワークインターフェイス。

    属性:

    proto:dhcpまたはstaticを指定できます。

    name:eth0などを指定します。

    子エレメント:

    • <ipaddr>:proto=”static”を指定する場合、IPアドレス
    • <subnet>:proto=”static”を指定する場合、サブネットマスク
    • <gateway>:proto=”static”を指定する場合、ゲートウェイ

    proto=”static”を指定する場合、これらの3つの子エレメントはすべて必須です。

  • <timezone>(必須)

    TZ変数の書式で指定するタイムゾーン。たとえば、Europe/London、Asia/Tokyoなど。

  • <name-server>

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

  • <hostname>

    インストール先のホスト名。このエレメントを指定しない場合、ホスト名が自動的に設定されます。

  • <ntp-server>

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

回答ファイルを適切に編集することで、無人アップグレードを行うこともできます。この場合、<installation>エレメントのmode属性でupgradeを指定し、existing-installation エレメントで既存のインストール先ディスクを指定します。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>
Version

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