ネットワークブートによるインストール
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サーバーを構成する
-
TFTPルートディレクトリ(
/tftpboot
など)に、xenserver
というディレクトリを作成します。 -
mboot.c32
ファイルとpxelinux.0
ファイルをインストールメディアの/boot/pxelinux
ディレクトリからTFTPルートディレクトリにコピーします。注:
同じソース(同じCitrix Hypervisor ISOなど)の
mboot.c32
とpxelinux.0
を使用することを強くお勧めします。 -
Citrix Hypervisorインストールメディアの以下のファイルをTFTPサーバーの新しい
xenserver
ディレクトリにコピーします:- ルートディレクトリの
install.img
-
/boot
ディレクトリのvmlinuz
-
/boot
ディレクトリのxen.gz
- ルートディレクトリの
-
TFTPルートディレクトリ(
/tftpboot
など)に、pxelinux.cfg
というディレクトリを作成します。 -
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サーバーを構成するには:
-
TFPTルートディレクトリ(
/tftpboot
など)に、EFI/xenserver
というディレクトリを作成します。 -
DHCPサーバーを構成し、起動ファイルとして
/EFI/xenserver/grubx64.efi
を指定します。 -
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インストールのために回答ファイルを作成する」を参照してください。
-
-
grub.cfg
ファイルをTFTPサーバーのEFI/xenserver
ディレクトリにコピーします。 -
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インストールメディアをセットアップするには:
-
HTTP、FTP、またはNFSサーバー上に、Citrix Hypervisorインストールメディアをホストするためのディレクトリを作成します。
-
HTTP、FTP、またはNFSサーバー上に、Citrix Hypervisorインストールメディアをホストするためのディレクトリを作成します。このディレクトリがインストールリポジトリになります。
注:
Citrix Hypervisorインストールメディアをコピーする場合は、新しく作成したディレクトリにファイル
.treeinfo
をコピーしたことを確認する必要があります。
インストール先のシステムを準備するには:
-
システムを起動し、ブートメニューを表示します(多くのBIOSプログラムでは起動処理中にF12キーを押します)。
-
起動順序を設定するメニューで、イーサネットカードから起動するように設定します。
-
これまでの手順で設定したインストールソースからシステムが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のローカルキャッシュが正しく機能するようになります。詳しくは、「ストレージ」を参照してください。
回答ファイルによる自動アップグレード
回答ファイルを適切に変更することで、自動アップグレードを実行することもできます。
-
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>
<!--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-->
ハッシュ値は、glibc
のcrypt(3)
でサポートされている任意のハッシュタイプを使用できます。デフォルトのハッシュタイプは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>
必須: いいえ
説明: post-install-scriptが配置されている場所。
属性:
属性stage
には、次の値のいずれかを指定できます:filesystem-populated
、installation-start
、またはinstallation-complete
-
値
filesystem-populated
を指定すると、ルートファイルシステムがマウントされる直前にスクリプトが実行されます(インストールまたはアップグレード後、initrdsのビルド後など)。スクリプトの引数は、ルートファイルシステムのマウントポイントになります。 -
値
installation-start
を使用すると、スクリプトはメインのインストールシーケンスの開始前に実行されますが、インストーラーが初期化され、ドライバーが読み込まれ、回答ファイルが処理された後に実行されます。このスクリプトは引数を受け取りません。 -
値
installation-complete
を指定すると、インストーラーがすべての処理を完了した後(つまりルートファイルシステムがアンマウントされた後)にスクリプトが実行されます。スクリプトの引数は、インストールが正しく完了した場合に0、何らかの理由で失敗した場合にそれ以外の値になります。
属性type
には、次の値のいずれかを指定できます:url
、nfs
、または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サーバー名(複数指定可)。