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

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

仮想マシンの起動設定

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

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

Persist(XenDesktopの プライベートデスクトップモード)

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

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

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

Reset(XenDesktopの 共有デスクトップモード)

このモードで仮想マシンを起動すると、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ホストで利用できるようにするには、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

CIFS ISO SRにNLTMv2認証を使用している場合は、 cache=noneパラメーターも指定してください。次に例を示します:

xe-mount-iso-sr//server1/myisos-t CIF -ousername=johndoe/mydomain,sec=ntlmv2,cache=none

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

ISOは適切なWindowsテンプレートで使用する必要があります。

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

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

  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を使用してください。

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

Windows仮想マシンのコンソールは、2種類の方法で表示できます。どちらの方法でも、キーボードとマウスの使用がサポートされます。

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

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

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

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

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

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

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

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

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

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

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

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

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

仮想マシンの一時停止/再開やXenMotionによるライブマイグレーションを行う場合、最新のXenServer PV Toolsがインストールされていることが重要です。これにより、一時停止後の再開や異なる物理ホスト上への移行の後で、時計の同期が必要であることがWindowsカーネルに通知されます。

XenDesktop環境で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仮想マシンでのwall-clock動作の一覧です:

ゲスト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 5.x(32ビット/64ビット) Dependent はい
Scientific Linux 6.x(32ビット/64ビット) Independent  
SLES 11 SP3、11 SP4(32ビット/64ビット) Dependent はい
SLES 12 SP1、12 SP2(64ビット) Dependent はい
SLED 11 SP3、11 SP4(64ビット) Dependent はい
SLED 12 SP1、12 SP2(64ビット) Dependent はい
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 はい

independent_wallclock設定を使用できるPV Linux仮想マシンの場合、この設定を使用して仮想マシンがdependent wall-clock動作かindependent wall-clock動作かを定義できます。

重要

シトリックスは、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仮想マシンのインストール

XenServerでは、以下のHVM仮想マシンを作成できます。

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

  • BIOSカスタマイズ済み:プール内の特定サーバーのBIOS文字列がコピーされた仮想マシンです。

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

XenServerホスト上の仮想マシンに、BIOSでロックされたReseller Option Kit OEMバージョンのWindowsをインストールする場合は、そのReseller Option Kitメディアが添付されていたホストからBIOS文字列をコピーする必要があります。

BIOSで特定ホスト用にロックされたメディアからオペレーティングシステムをインストールするには、以下の手順に従います。

XenCenterの使用

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

xe CLIの使用

  1. BIOS文字列のコピー元ホスト(つまりReseller Option Kitメディアが添付されていたホスト)のhost-uuidを指定して、次のvm-install copy-bios-strings-fromコマンドを実行します:

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

sysprepを使用したWindows仮想マシンの複製の準備

sysprep、Windows仮想マシンの複製準備。Windows仮想マシンを複製するには、Windowsユーティリティsysprepを使用して仮想マシンを用意する必要があります。

sysprepユーティリティはローカルコンピュータのSIDを変更して、各コンピューターの一意性を確保します。sysprepバイナリはC:\Windows\System32\Sysprepフォルダにあります。

Windowsの以前のバージョンでは、sysprepバイナリはWindows製品CDの\support\tools\deploy.cabファイルに含まれています。これらのバイナリは、使用前にWindows仮想マシンにコピーする必要があります。

Windows仮想マシンを複製するには、以下の手順が必要です。

  1. 必要に応じて、Windows仮想マシンの作成、インストール、設定を行います。

  2. 適切なサービスパックをすべて適用し、アップデートします。

  3. XenServer PV Toolsをインストールします。

  4. アプリケーションをインストールし、必要な設定を行います。

  5. sysprepを実行します。処理が完了すると、仮想マシンがシャットダウンします。

  6. XenCenterで、仮想マシンをテンプレートに変換します。

  7. 作成したテンプレートを、新しい仮想マシンとして複製します。

  8. 複製した仮想マシンを起動すると、新しいSIDと名前が取得され、必要に応じて追加の設定を行うためのミニセットアップが実行されます。この後で再起動すると、仮想マシンが使用可能になります。

    sysprepの実行によりシャットダウンされたオリジナルの仮想マシン(テンプレートの作成元)は、起動せずに、直ちにテンプレートに変換してください。この仮想マシンを起動した場合は、その仮想マシンで再度sysprepを実行してからテンプレートに変換し、その後で複製を行ってください。

sysprepの使用方法について詳しくは、Microsoft社の以下のWebサイトを参照してください:

Windows自動インストールキット(AIK)

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

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

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パススルー機能を有効にする前に、http://hcl.vmd.citrix.comでハードウェア互換性リストを確認してください。

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ホスト上で起動しようとすると、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では、CD-ROMやDVD-ROMのISOイメージを、Windows仮想マシンまたはLinux仮想マシンのインストールメディアおよびデータソースとして使用できます。ここでは、CD/DVDメディアからISOイメージを作成する方法について説明します。ISOイメージの作成

Linuxコンピューターの場合

  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コンピューターの場合

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