仮想マシンに関する注意事項

ここでは、仮想マシンに関するいくつかの注意事項について説明します。

仮想マシンの起動設定

仮想マシン起動時のVDIの動作として、以下の2つのモードがあります。

注:

仮想マシンの起動設定を変更する場合は、その仮想マシンをシャットダウンしておく必要があります。

Persist(Citrix Virtual Desktops - プライベートデスクトップモード)

仮想マシンのデフォルトの起動モードです。このモードの仮想マシンは、VDIが前回シャットダウン時の状態のまま起動します。

仮想デスクトップに対する永続的な変更をユーザーに許可する場合は、このオプションを選択します。このモードを指定するには、仮想マシンをシャットダウンしてから次のコマンドを実行します。

xe vdi-param-set uuid=vdi_uuid on-boot=persist

Reset(Citrix Virtual Desktops - 共有デスクトップモード)

このモードで仮想マシンを起動すると、VDIが前回起動時の状態に復元されます。前回の仮想マシンセッション内での変更内容は、すべて削除されます。

仮想デスクトップに対する永続的な変更をユーザーに許可せず、常に標準的なデスクトップを提供する場合は、このオプションを選択します。このモードを指定するには、仮想マシンをシャットダウンしてから次のコマンドを実行します。

xe vdi-param-set uuid=vdi_uuid on-boot=reset

警告:

on-boot=resetを変更すると、仮想マシンの次回シャットダウン時、起動時、または再起動時にVDI上の変更内容がすべて破棄されます。

XenServerホストでISOライブラリを使用できるようにする

XenServerホストでISOライブラリを使用できるようにするには、外部NFSまたはSMB/CIFS共有ディレクトリを作成します。NFSサーバーまたはSMB/CIFSサーバーは、共有ディレクトリへのルートアクセスができるように設定する必要があります。NFS共有の場合は、NFSサーバーの/etc/exportsに共有エントリを作成するときに、no_root_squashフラグを設定します。

次に、XenCenterを使用してISOライブラリに接続するか、ホストコンソールに接続して次のコマンドを実行します。

xe-mount-iso-sr host:/volume

このマウントコマンドには、必要に応じて追加引数を指定することができます。

Windows SMB/CIFS共有をホストで利用できるようにするには、XenCenterを使用して接続するか、ホストコンソールに接続して次のコマンドを実行します:

xe-mount-iso-sr unc_path -t cifs -o username=myname/myworkgroup

unc_path引数のバックスラッシュをスラッシュに置き換えます。次に例を示します。

xe-mount-iso-sr //server1/myisos -t cifs -o username=johndoe/mydomain

共有をマウントすると、その中にあるISOをXenCenterの [インストール元ISOライブラリまたはDVDドライブ] の一覧から選択できるようになります。CLIコマンドからCDイメージとして指定することもできます。

適切なWindowsテンプレートにISOを添付します。

Windowsボリュームシャドウコピーサービスプロバイダ

Windows用のツールには、仮想マシンのスナップショット作成時にゲストファイルシステムを停止するXenServerボリュームシャドウコピーサービス(VSS:Volume Shadow Copy Service)プロバイダーが含まれています。このVSSはPVドライバと一緒にインストールされますが、デフォルトでは有効になりません。

Windows XenServer VSSプロバイダを有効にするには:

  1. Windows PVドライバをインストールします。

  2. ドライバのインストール先ディレクトリ(デフォルトでc:\Program Files\Citrix\XenTools、またはWindowsレジストリのHKEY_LOCAL_MACHINE\Software\Citrix\XenTools\Install_dirを参照)を開きます。

  3. install-XenProvider.cmdをダブルクリックします。これにより、VSSプロバイダが有効になります。

注:

  • PVドライバをアンインストールすると、VSSプロバイダもアンインストールされます。再インストールする場合は、このプロバイダを再度有効にする必要があります。PVドライバを保持したままVSSプロバイダだけをアンインストールするには、同じディレクトリのuninstall-XenProvider.cmdを使用してください。
  • GFS2ストレージリポジトリでのVSSスナップショットの使用はサポートされていません。

Windows仮想マシンへのリモートデスクトップ接続

次のいずれかの方法でWindows仮想マシンコンソールを表示できます。どちらもキーボードとマウスを完全にサポートしています。

  • XenCenterによる表示。XenCenterで表示する標準のグラフィックコンソールでは、XenServerに組み込まれているVNC技術により仮想マシンコンソールへのリモートアクセスが提供されます。

  • Windowsリモートデスクトップによる表示。この方法では、RDP(Remote Desktop Protocol)技術が使用されます。

XenCenterの[コンソール]タブには、[リモートデスクトップに切り替える]ボタンが表示されます。このボタンをクリックすると、XenCenterの標準グラフィックコンソールが無効になり、リモートデスクトップに切り替わります。

仮想マシンのリモートデスクトップ機能が有効になっていない場合、このボタンは使用できません。有効にするには、XenServer Toolsをインストールします 。リモートデスクトップ機能を使用して接続する各仮想マシンで有効にするには、以下の手順を実行する必要があります。

Windows仮想マシンのリモートデスクトップを有効にするには:

  1. [スタート] ボタンをクリックし、[コンピューター] を右クリックして [プロパティ] を選択します。[システム] コントロールパネルが開きます。

  2. [リモートの設定]をクリックします。管理者のパスワードを入力する画面が開いたら、仮想マシンのセットアップ時に指定したパスワードを入力します。

  3. [リモート デスクトップ][リモート デスクトップを実行しているコンピューターからの接続を許可する](Windows 7)をオンにします。

  4. このWindows仮想マシンへの接続を許可する、管理者以外のユーザーを選択するには、[リモートユーザーの選択] ボタンをクリックしてユーザー名を入力します。デフォルトでは、Windowsドメイン上で管理者権限を持つユーザーがリモートデスクトップに接続できます。

これにより、仮想マシンのコンソールにリモートデスクトップで接続できるようになります。詳しくは、Microsoftのサポート技術情報でリモート デスクトップ接続を使用して別のコンピューターに接続するを参照してください。

注:

スリープ状態や休止状態の仮想マシンに接続することはできません。リモートのコンピュータでこれらの機能が無効になっていることを確認してください。

Windows仮想マシン内での時間の処理

Windowsゲストマシンの場合、当初はコントロールドメインの時計に基づいて初期設定されます。時間は、仮想マシンのライフサイクル操作(サスペンド、再起動など)に応じてアップデートされます。このため、CitrixはコントロールドメインおよびすべてのWindows仮想マシンで、信頼性の高いNTPサービスを実行することをお勧めします。

手動で仮想マシンの時計をコントロールドメインの時計よりも2時間進めて設定すると、その設定は保持されます。仮想マシン内でタイムゾーンのオフセットを使用して、時計を進めて設定できます。この場合、コントロールドメインの時計を(手作業またはNTPサービスを使用して)変更すると、仮想マシンの時計も調整されますが、2時間のオフセットは保持されます。コントロールドメインのタイムゾーンの変更によって、仮想マシンのタイムゾーンやオフセットが影響を受けることはありません。XenServerは仮想マシンのハードウェアクロック設定を使用して、仮想マシンと同期します。XenServerは仮想マシンのシステムクロック設定を使用しません。

仮想マシンのサスペンドや再開操作、XenMotionを使用する場合、最新のXenServer Toolsがインストールされていることが重要です。これにより、サスペンド後の再開や異なる物理ホスト上への移行の後で、XenServer Toolsが時計の同期が必要であることをWindowsカーネルに通知します。

注: Citrix Virtual Desktops環境でWindows仮想マシンを実行する場合は、ホストの時計設定のソースがActive Directory(AD)ドメインと同じであることを確認してください。時計設定の同期に失敗すると、仮想マシンに正しくない時刻が表示されたり、Windows PVドライバーがクラッシュしたりすることがあります。

Linux仮想マシン内での時間の処理

XenServerでLinux仮想マシンの時間の処理動作は、仮想マシンがPVゲストかHVMゲストかで異なります。

XenServerで定義される動作に加えて、オペレーティングシステムの設定および動作がLinux仮想マシンの時間の処理動作に影響を与える可能性があります。Linuxオペレーティングシステムは定期的にシステムクロックとハードウェアクロックを同期することがあります。または、自身のNTPサービスをデフォルトで使用することがあります。詳しくは、Linux仮想マシンのオペレーティングシステムのドキュメントを参照してください。

注:

新しいLinux仮想マシンをインストールしたら、必ずタイムゾーンをデフォルトのUTCからローカルの値に変更してください。各ディストリビューションでの手順については、「Linuxリリースノート」を参照してください。

PV Linux仮想マシン内での時間の処理

準仮想化Linuxディストリビューションには、dependentindependentという2つの時計(wall-clock)動作があります。

Dependent wall-clock: PV Linux仮想マシン内のシステムクロックがコントロールドメイン上の時計に同期し、個別に変更することはできません。この設定では、NTP(Network Time Protocol )サービスをコントロールドメインでのみ実行すれば、すべての仮想マシンの時計が正確に維持されます。

Independent wall-clock: PV Linux仮想マシン内のシステムクロックがコントロールドメイン上の時計に同期せず、個別に変更できます。コントロールドメイン上の時計は、仮想マシンの起動後にシステムクロックの初期の時間設定で使用されます。

PV Linux仮想マシンによっては、independent_wallclock設定を使用して、仮想マシンの時計(wall-clock)の動作を変更できます。

次の表は、さまざまなPV Linux仮想マシンでのwallclock動作の一覧です。

ゲストOS デフォルトのwall-clock動作 independent_wallclock設定が使用可能?
CentOS 5.x(32ビット/64ビット) Dependent はい
CentOS 6.x(32ビット/64ビット) Independent  
Red Hat Enterprise Linux 5.x(32ビット/64ビット) Dependent はい
Red Hat Enterprise Linux 6.x(32ビット/64ビット) Independent  
Oracle Linux 5.x(32ビット/64ビット) Dependent はい
Oracle Linux 6.x(32ビット/64ビット) Independent  
Scientific Linux 6.x(32ビット/64ビット) Independent  
SLES 11 SP3、SP4(32ビット/64ビット) Independent はい(操作不要)
SLES 12 SP1、SP2(64ビット) Independent はい(操作不要)
SLED 11 SP3、SP4(64ビット) Independent はい(操作不要)
SLED 12 SP1、SP2(64ビット) Independent はい(操作不要)
Debian 6(32ビット/64ビット) Independent  
Debian 7(32ビット/64ビット) Independent  
Ubuntu 12.04(32ビット/64ビット) Independent  
NeoKylin Linux Advanced Server 6.5(64ビット) Independent  
Asianux Server 4.2(64ビット) Dependent はい
Asianux Server 4.4(64ビット) Dependent はい
Asianux Server 4.5(64ビット) Dependent はい
GreatTurbo Enterprise Server 12.2(64ビット) Dependent はい
NeoKylin Linux Security OS V5.0(64ビット) Dependent はい

PV Linux VMの場合、 independent_wallclockこの設定を使用して、VMに従属または独立のウォーククロック動作があるかどうかを定義することができます。

重要:

Citrixは、independent_wallclock設定を使用してindependent wall-clock動作を有効にするか、Linux仮想マシンおよびXenServerホストで信頼性の高いNTPサービスを実行することをお勧めします。

個別のLinux仮想マシンでindependent wall-clock動作を設定するには:

  1. 仮想マシン上のルートプロンプトで、echo 1 > /proc/sys/xen/independent_wallclockを実行します。

  2. 再起動後も個別設定の時計が使用されるようにするには、/etc/sysctl.conf設定ファイルに次の行を追加します:

    ## independent wall clock時間の設定
    xen.independent_wallclock=1
    
  3. また、3つ目の方法として、仮想マシンの起動パラメータとしてindependent_wallclock=1を追加することもできます。

個別のLinux仮想マシンでdependent wall-clock動作を設定するには:

  1. 仮想マシン上のルートプロンプトで、echo 0 > /proc/sys/xen/independent_wallclockを実行します。

  2. 再起動後も個別設定の時計が使用されるようにするには、/etc/sysctl.conf設定ファイルに次の行を追加します:

    ## independent wall clock時間の設定
    xen.independent_wallclock=0
    
  3. また、3つ目の方法として、仮想マシンの起動パラメータとしてindependent_wallclock=0を追加することもできます。

HVM Linux仮想マシン

HVM Linux仮想マシン内のハードウェアクロックがコントロールドメイン上の時計に同期せず、個別に変更できます。コントロールドメイン上の時計は、仮想マシンの起動後にハードウェアクロックおよびシステムクロックの初期の時間設定で使用されます。

ハードウェアクロックの時間を変更すると、仮想マシンが再起動されても変更は保持されます。

システムクロックの動作は、仮想マシンのオペレーティングシステムに依存します。詳しくは、お使いの仮想マシンのオペレーティングシステムのドキュメントを参照してください。

HVM Linux仮想マシンのXenServerで時間処理の動作を変更することはできません。

BIOSでロックされたReseller Option KitメディアからのHVM仮想マシンのインストール

次の2種類のHVM仮想マシンがあります:BIOS汎用およびBIOSカスタマイズ済み。ホスト上の仮想マシンに、BIOSでロックされたReseller Option Kit OEMバージョンのWindowsをインストールする場合は、そのReseller Option Kitメディアが添付されていたホストからBIOS文字列をコピーする必要があります。また、上級ユーザーはBIOS文字列にユーザー定義の値を設定できます。

BIOS汎用

汎用のXenServer BIOS文字列を持つ仮想マシンです。

注:

BIOS文字列が設定されていない仮想マシンを起動すると、標準的なXenServer BIOS文字列がコピーされ、BIOS汎用の仮想マシンになります。

BIOSカスタマイズ済み

HVM仮想マシンの場合、BIOSのカスタマイズは次の2つの方法を使用できます:コピーホストBIOS文字列およびユーザー定義BIOS文字列。

コピーホストBIOS文字列

プール内の特定サーバーのBIOS文字列がコピーされた仮想マシンです。BIOSで特定ホスト⽤にロックされたメディアをインストールするには、以下の⼿順に従います。

XenCenterでの手順:

  1. [新規VM]ウィザードで、[ホストのBIOS文字列をVMにコピーする]チェックボックスをオンにします。

CLIでの手順:

  1. vm-install copy-bios-strings-fromコマンドを実行します。BIOS文字列のコピー元ホスト(つまりReseller Option Kitメディアが添付されていたホスト)のhost-uuidを指定します。host uuidはホストUUID、template nameはテンプレート名、name of srはストレージリポジトリ名、name for new VMは新しい仮想マシンの名前です:

    xe vm-install copy-bios-strings-from=host uuid \
    template=template name sr-name-label=name of sr \
    new-name-label=name for new VM
    

    これにより、新しい仮想マシンのUUIDが返されます。

    次に例を示します。

    xe vm-install copy-bios-strings-from=46dd2d13-5aee-40b8-ae2c-95786ef4 \
    template="win7sp1" sr-name-label=Local\ storage  \
    new-name-label=newcentos
    7cd98710-bf56-2045-48b7-e4ae219799db
    
  2. BIOS文字列が仮想マシンに正しくコピーされたかどうかを確認するには、次のvm-is-bios-customizedコマンドを実行します。

    xe vm-is-bios-customized uuid=VM uuid
    

    次に例を示します。

    xe vm-is-bios-customized \
    uuid=7cd98710-bf56-2045-48b7-e4ae219799db
    この仮想マシンはBIOSでカスタマイズされています。
    

    注:

    この仮想マシンは、BIOS文字列のコピー元の物理ホスト上で起動されます。

警告:

BIOSでロックされたオペレーティングシステムを使用するには、専用のライセンス契約書に同意する必要があります。

ユーザー定義BIOS文字列

CLI/APIを使用して選択したBIOS文字列で、カスタム値を設定するオプションがあります。カスタマイズされたBIOSでHVM仮想マシンにメディアをインストールするには、以下の⼿順に従います。

CLIでの手順:

  1. vm-installコマンド(copy-bios-strings-fromを除く)を実行します:

    xe vm-install template=template name sr-name-label=name of sr \
    new-name-label=name for new VM
    

    これにより、新しい仮想マシンのUUIDが返されます。

    次に例を示します。

    xe vm-install template="win7sp1" sr-name-label=Local\ storage  \
    new-name-label=newcentos
    7cd98710-bf56-2045-48b7-e4ae219799db
    
  2. ユーザー定義BIOS文字列を設定するには、初めて仮想マシンを起動する前に次のコマンドを実行します。

    xe vm-param-set uuid=VM_UUID bios-strings:bios-vendor=VALUE \
    bios-strings:bios-version=VALUE bios-strings:system-manufacturer=VALUE \
    bios-strings:system-product-name=VALUE bios-strings:system-version=VALUE \
    bios-strings:system-serial-number=VALUE bios-strings:enclosure-asset-tag=VALUE
    

    次に例を示します。

    xe vm-param-set uuid=7cd98710-bf56-2045-48b7-e4ae219799db \
    bios-strings:bios-vendor="vendor name" \
    bios-strings:bios-version=2.4 \
    bios-strings:system-manufacturer="manufacturer name" \
    bios-strings:system-product-name=guest1 \
    bios-strings:system-version=1.0 \
    bios-strings:system-serial-number="serial number" \
    bios-strings:enclosure-asset-tag=abk58hr
    

    注:

    -  一度ユーザー定義BIOS文字列を単一のCLI/API呼び出しで設定すると、変更することはできません。
    
    -  ユーザー定義BIOS文字列を設定するために使用するパラメーターの数を指定できます。
    

警告:

以下は、お客様の責任で行う必要があります:

  • 仮想マシンのBIOSで設定される値は必要なEULAおよび標準を遵守する。

  • パラメーターで指定する値がパラメーターが機能していることを確認する。誤ったパラメーターを指定すると、起動エラーやメディアのインストールエラーが発生することがあります。

Windows仮想マシンへのGPUの割り当て(Citrix Virtual Desktops用)

XenServerでは、XenServerホストの物理GPUを、そのホスト上で実行するWindows仮想マシンに割り当てることができます。この機能は「GPUパススルー」と呼ばれ、CADデザイナーなど、高度なグラフィックパフォーマンスを要求するユーザー向けに用意されています。この機能は、Citrix Virtual Desktops環境でのみサポートされます。

XenServerでサポートされる仮想マシンごとのGPU数は1つのみですが、リソースプール内の全ホストの物理GPUが自動的に検出され、GPUごとにグループ化されます。仮想マシンにGPUのグループの1つを割り当てると、そのグループのGPUを持つ任意のホスト上でその仮想マシンを起動できるようになります。GPUが割り当てられた仮想マシンでは、XenMotionのライブマイグレーション、メモリを含んだスナップショット作成、サスペンド/再開などの一部の機能を使用できなくなります。

仮想マシンにGPUを割り当てても、プール内のほかの仮想マシンには影響しません。ただし、GPUが割り当てられた仮想マシンは、「非アジャイル」になります。高可用性が有効なプールで仮想マシンにGPUを割り当てると、この仮想マシンは高可用性の対象外になります。仮想マシンは自動的に移行されなくなります。

GPUパススルー機能は、Windows仮想マシンでのみ使用できます。この機能を有効にするには、XenCenterまたはxe CLIを使用します。

要件

GPUパススルー機能は、特定のマシンおよびGPUでのみサポートされます。この機能を使用するには、XenServerホストでIOMMUチップセット機能(IntelのVT-dなど)が使用可能であり、有効になっている必要があります。GPUパススルー機能を有効にする前に、ハードウェア互換性一覧を確認してください。

GPUを仮想マシンに割り当てる前に

GPUを仮想マシンに割り当てる前に、XenServerホストに十分な物理GPUを追加して、そのホストを再起動する必要があります。ホストが再起動すると、XenServerにより自動的に物理GPUが検出されます。プール内のホストで使用可能なすべての物理GPUを確認するには、xe pgpu-listコマンドを使用します。

各ホストでIOMMUチップセット機能が有効になっていることを確認してください。これを行うには、以下のコマンドを実行します。

xe host-param-get uuid=uuid_of_host param-name=chipset-info param-key=iommu

IOMMUが無効なホストは、falseで示されます。この場合、そのXenServerホストではGPUパススルー機能を使用できません。

XenCenterを使用してWindows仮想マシンにGPUを割り当てるには:

  1. GPUを割り当てる仮想マシンをシャットダウンします。

  2. 仮想マシンの[プロパティ]ダイアログボックスを開きます。これを行うには、仮想マシンを右クリックして[プロパティ]を選択します。

  3. 仮想マシンにGPUを割り当てます。これを行うには、[GPU]ページでGPUの種類を選択し、[OK] をクリックします。

  4. 仮想マシンを起動します。

xe CLIを使用してWindows仮想マシンにGPUを割り当てるには:

  1. xe vm-shutdownコマンドを使用して、GPUを割り当てる仮想マシンをシャットダウンします。

  2. 次のコマンドを実行して、GPUグループのUUIDを確認します。

    xe gpu-group-list
    

    このコマンドを実行すると、プール内のすべてのGPUグループが表示されます。割り当てるGPUグループのUUIDを控えておきます。

  3. 次のコマンドを実行して、GPUグループを仮想マシンに割り当てます。

    xe vpgu-create gpu-group-uuid=uuid_of_gpu_group vm-uuid=uuid_of_vm
    

    GPUグループが正しく割り当てられたことを確認するには、xe vgpu-listコマンドを実行します。

  4. xe vm-startコマンドを使用して、仮想マシンを起動します。

  5. 仮想マシンが起動したら、その仮想マシンにグラフィックカードドライバをインストールします。

    仮想マシンはホスト上のハードウェアに直接アクセスするため、グラフィックカードドライバをインストールすることは重要です。ドライバの入手については、ハードウェアベンダに問い合わせてください。

注:

GPUパススルー機能を有効にした仮想マシンを、適切なGPUグループのGPUが搭載されていないホスト上で起動しようとすると、XenServerにエラーが表示されます。

XenCenterを使用してWindows仮想マシンのGPU割り当てを解除するには:

  1. 仮想マシンをシャットダウンします。

  2. 仮想マシンの[プロパティ]ダイアログボックスを開きます。これを行うには、仮想マシンを右クリックして[プロパティ]を選択します。

  3. 仮想マシンのGPU割り当てを解除します。これを行うには、[GPU]ページでGPUの種類として[なし]を選択し、[OK] をクリックします。

  4. 仮想マシンを起動します。

xe CLIを使用してWindows仮想マシンのGPU割り当てを解除するには:

  1. xe vm-shutdownコマンドを実行して、仮想マシンをシャットダウンします。

  2. 次のコマンドを実行して、割り当てられている仮想GPUのUUIDを確認します。

    xe vgpu-list vm-uuid=uuid_of_vm
    
  3. 次のコマンドを実行して、仮想マシンのGPU割り当てを解除します。

    xe vgpu-destroy uuid=uuid_of_vgpu
    
  4. xe vm-startコマンドを使用して、仮想マシンを起動します。

ISOイメージの作成

XenServerでは、ISOイメージを、Windows仮想マシンまたはLinux仮想マシンのインストールメディアおよびデータソースとして使用できます。ここでは、CD/DVDメディアからISOイメージを作成する方法について説明します。

LinuxシステムでISOを作成するには:

  1. CD-ROMまたはDVD-ROMをドライブに挿入します。ディスクがマウントされていないことを確認します。これを確認するには、次のコマンドを実行します。

    mount

    ディスクがマウントされている場合は、アンマウントします。手順については、使用するオペレーティングシステムのドキュメントを参照してください。

  2. ルートユーザーとして、次のコマンドを実行します。

    dd if=/dev/cdrom of=/path/cdimg_filename.iso
    

    このコマンドには時間がかかります。処理が完了すると、次のようなメッセージが表示されます:

    1187972+0 records in
    1187972+0 records out
    

    これで、ISOファイルが作成されました。

WindowsシステムでISOを作成するには:

Windowsには、Linuxのddコマンドのような、ISOを作成するためのコマンドがありません。その代わり、ほとんどのCD作成ツールには、CDをISOファイルとして保存するための機能が用意されています。