仮想マシンの管理
このセクションでは、テンプレートを使用した仮想マシンの作成方法の概要について説明します。また、テンプレートの複製、エクスポートされた仮想マシンのインポートについても説明します。
仮想マシンとは
仮想マシン(VM:Virtual Machine)とは、すべての要素がソフトウェアで構成されたコンピューターを指し、物理コンピューターと同様にオペレーティングシステムやアプリケーションを実行できます。仮想マシンには、その仮想マシンに関する一連の仕様と設定ファイルが含まれ、ホストの物理リソースにより機能します。すべての仮想マシンには、物理ハードウェアと同じ機能を提供する仮想デバイスがあります。仮想マシンには、移植性と安全性が高く管理しやすいという利点があります。さらに、必要に応じて各仮想マシンの起動設定を変更できます。詳しくは、「仮想マシンの起動設定」を参照してください。
XenServerは仮想マシンで、IPv4およびIPv6の任意の組み合わせでアドレスを設定できます。
XenServerでは、仮想マシンは完全仮想化モードで動作できます。特定のプロセッサ機能を使用して、仮想マシンが実行する特権命令を「トラップ」します。この機能により、変更されていないオペレーティングシステムを使用することができます。ネットワークとストレージのアクセスのために、仮想マシンにはエミュレートされたデバイスが提示されます。また、パフォーマンスと信頼性の理由から、PVドライバーを使用することもできます。
仮想マシンの作成
仮想マシンテンプレートの使用
仮想マシンはテンプレートから作成されます。テンプレートは、特定の仮想マシンをインスタンス化するさまざまな設定を含むゴールドイメージです。XenServerにはテンプレートの基本セットが付属しており、これらを基に未加工の仮想マシンを作成して、オペレーティングシステムをインストールできます。通常、オペレーティングシステムが最高のパフォーマンスで動作するためには、設定の最適化が必要です。XenServerのテンプレートは、各オペレーティングシステムが最適なパフォーマンスで動作するように調整されています。
テンプレートを使用して仮想マシンを作成するには、以下の2つの方法があります。
-
設定済みの完全テンプレートを使用する。
-
テンプレートにCD、ISOイメージ、またはネットワークリポジトリからオペレーティングシステムをインストールする。
仮想マシンにWindowsオペレーティングシステムをインストールする方法については、「Windows仮想マシン」を参照してください。
仮想マシンにLinuxオペレーティングシステムをインストールする方法については、「Linux仮想マシン」を参照してください。
注:
古いバージョンのXenServerで作成されたテンプレートは、新しいバージョンのXenServerで使用できます。一方、新しいバージョンのXenServerで作成されたテンプレートは、古いバージョンのXenServerでは使用できません。既にCitrix Hypervisor 8.2を使用してVMテンプレートを作成済みで、それを以前のバージョンで使用する場合、VDIを個別にエクスポートして仮想マシンを再度作成します。
そのほかの仮想マシン作成方法
テンプレートを使用する方法のほかに、以下の方法でも仮想マシンを作成できます。
既存の仮想マシンの複製
テンプレートを複製することで、既存の仮想マシンのコピー(クローン)を作成できます。テンプレートは、仮想マシンインスタンスの作成元(オリジナルコピー)としてのみ使用される通常の仮想マシンです。仮想マシンはカスタマイズ可能で、テンプレートに変換できます。仮想マシンの適切な準備手順に従ってください。詳しくは、「sysprepを使用したWindows仮想マシンの複製の準備」および「Linux仮想マシンの複製の準備」を参照してください。
注:
テンプレートを通常の仮想マシンとして使用することはできません。
XenServerには仮想マシンを複製する方式が2種類あります:
-
完全なコピー
-
コピーオンライト
コピーオンライトモードでは、変更のあったブロックのみがディスクに書き込まれます。コピーオンライトモードはディスクのスペースを節約し、高速複製ができるように設計されていますが、通常のディスクパフォーマンスをわずかに低下させます。テンプレートは、速度を落とさずに複数回、高速複製できます。
注:
テンプレートを仮想マシンに複製してから、その複製をテンプレートに変換すると、ディスクのパフォーマンスが低下する場合があります。低下する量は、このプロセスが発生する回数に直接関係します。この場合、
vm-copy
CLIコマンドを使用して、ディスクの完全コピーを作成してディスクパフォーマンスを回復できます。
リソースプールでの注意事項
共有ストレージリポジトリで仮想マシンの仮想ディスクからテンプレートを作成すると、テンプレート複製処理は、共有ストレージリポジトリにアクセスできるプール内のホストに転送されます。これに対し、ローカルストレージリポジトリしかない仮想マシンの仮想ディスクからテンプレートを作成すると、テンプレート複製処理はそのストレージリポジトリにアクセスできるホストでのみ実行できます。
エクスポートされた仮想マシンのインポート
エクスポートされた仮想マシンをインポートすることで、新しい仮想マシンを作成できます。複製と同様に、特定の構成を持つ仮想マシンをさらに迅速に作成するには、仮想マシンのエクスポート/インポート機能を使用できます。この方法を使用すると、展開を迅速化できます。たとえば、特殊用途のホスト構成があり、それを繰り返して使用する必要がある場合、必要に応じて仮想マシンを設定した後それをエクスポートし、後でインポートして、特別な構成の仮想マシンのコピーを作成できます。仮想マシンをほかのリソースプール内のXenServerホストに移動する場合にも、エクスポート/インポート機能を使用できます。
仮想マシンのインポートおよびエクスポート手順について詳しくは、「仮想マシンのインポートとエクスポート」を参照してください。
XenServer VM Tools
XenServer VM Toolsには従来型デバイスエミュレーションのようなオーバーヘッドがなく、高パフォーマンスのI/Oサービスが提供されます。
Windows向けXenServer VM Tools
Windows向けXenServer VM Toolsは、I/Oドライバー(準仮想化ドライバーまたはPVドライバーともいいます)と管理エージェントで構成されています。
I/Oドライバーにはストレージ、ネットワークドライバー、および低レベル管理インターフェイスが含まれています。準仮想化ドライバーは、エミュレートされたドライバーに置き換わり、WindowsとXenServerソフトウェア間の高速トランスポートを提供します。Windowsオペレーティングシステムのインストール時、XenServerは従来型デバイスエミュレーションを使用して、標準IDEコントローラーと標準ネットワークカードを仮想マシンに提供します。このエミュレーションでは、組み込みドライバーを使ってWindowsをインストールできますが、コントローラードライバーのエミュレーションに内在するオーバーヘッドによりパフォーマンスが低下します。
管理エージェント(ゲストエージェントとも呼ばれます)は、高レベルの仮想マシン管理機能を備えており、XenCenterにすべての機能を提供します。
仮想マシンが完全にサポートされる構成となるように、また、xe CLIまたはXenCenterを使用できるように、各Windows仮想マシンにWindows向けXenServer VM Toolsをインストールします。仮想マシンは、Windows向けXenServer VM Toolsがなくても機能しますが、I/Oドライバー(PVドライバー)がインストールされていないとパフォーマンスが低下します。次の操作を実行するには、Windows仮想マシンにWindows向けXenServer VM Toolsをインストールしておく必要があります。
-
仮想マシンを正しくシャットダウン、再起動、または一時停止する
-
XenCenterで仮想マシンのパフォーマンスデータを表示する
-
実行中の仮想マシンを移行する(ライブマイグレーションまたはストレージライブマイグレーションを使用)
-
メモリを含んだスナップショット(チェックポイント)を作成したり、スナップショットを復元したりする
詳しくは、「Windows向けXenServer VM Toolsをインストールする」を参照してください。
Linux向けXenServer VM Tools
Linux向けXenServer VM Toolsには、仮想マシンに関する追加情報をホストに提供するゲストエージェントが含まれています。
以下の操作を実行するには、Linux仮想マシンにLinux向けXenServer VM Toolsをインストールしておく必要があります。
-
XenCenterで仮想マシンのパフォーマンスデータを表示する
-
実行中のLinux仮想マシン上のvCPU数の調整
-
動的メモリ制御の有効化
注:
Red Hat Enterprise Linux 8、Red Hat Enterprise Linux 9、Rocky Linux 8、Rocky Linux 9、またはCentOS Stream 9 VMでは、Dynamic Memory Control(DMC)機能を使用できません。これらのオペレーティングシステムは、Xenハイパーバイザーによるメモリバルーニングをサポートしていないためです。
詳しくは、「Linux向けXenServer VM Toolsをインストールする」を参照してください。
仮想マシンの仮想化の状態を確認する
XenCenterでは、仮想マシンの[全般]タブに仮想マシンの仮想化の状態が表示されます。XenServer VM Toolsがインストールされているかどうかを確認できます。また、このタブには、仮想マシンがWindows Updateのアップデートをインストールおよび受信できるかどうかも表示されます。以下のセクションでは、XenCenterで表示されるメッセージを示します:
I/Oが最適化されました(I/Oは最適化されていません):このフィールドには、I/Oドライバーが仮想マシンにインストールされているかどうかが表示されます。
管理エージェントがインストールされました(管理エージェントはインストールされていません):このフィールドには、管理エージェントが仮想マシンにインストールされているかどうかが表示されます。
Windows Updateからのアップデート受信が可能(Windows Updateからのアップデート受信が不可能):仮想マシンがWindows UpdateからI/Oドライバーを受け取ることができるかどうかを示します。
注:
Windows Server Core 2016では、I/OドライバーのインストールまたはアップデートにWindows Updateを使用できません。代わりに、XenServer downloadsページで提供されているWindows向けXenServer VM Toolsインストーラーを使用してください。
I/Oドライバーおよび管理エージェントをインストール:このメッセージは、仮想マシンにI/Oドライバーと管理エージェントがインストールされていない場合に表示されます。
ゲストUEFIブートとセキュアブート
XenServerでは、次のゲストオペレーティングシステムをUEFIモードで起動できます:
- Windows 10
- Windows 11
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9(Technical Preview)
- Ubuntu 20.04
- Ubuntu 22.04
- Rocky Linux 8
- Rocky Linux 9(Technical Preview)
- SUSE Linux Enterprise 15
- Debian Bookworm 12(Technical Preview)
- Oracle Linux 8
UEFIブートにより、ゲストオペレーティングシステムがハードウェアとやり取りするための、充実したインターフェイスが提供されるため、仮想マシンの起動時間を大幅に短縮できます。XenServerがゲストオペレーティングシステムのUEFIブートをサポートしている場合は、BIOSではなくこの起動モードを選択することをお勧めします。
これらのオペレーティングシステムの場合、XenServerはセキュアブートもサポートしています。セキュアブートは、未署名のバイナリ、正しく署名されていないバイナリ、または変更されたバイナリが起動中に実行されるのを防ぎます。セキュアブートを実施するUEFI対応の仮想マシンでは、すべてのドライバーに署名する必要があります。この要件により、仮想マシンの使用範囲が制限される場合がありますが、未署名のドライバーや変更されたドライバーをブロックすることで安全を確保します。未署名のドライバーを使用するとセキュアブートが失敗し、XenCenterに通知が表示されます。また、セキュアブートは、ゲスト内のマルウェアがブートファイルを操作したり、ブートプロセス中に実行されたりするリスクも減らします。
仮想マシンの作成時に起動モードを指定する必要があります。仮想マシンを初めて起動した後で、BIOSとUEFI(またはUEFIセキュアブート)の間で仮想マシンの起動モードを変更することはできません。ただし、仮想マシンのを使用して潜在的なセキュアブートの問題をトラブルシューティングした後、起動モードをUEFIとUEFIセキュア ブートの間で変更できます。詳しくは、「トラブルシューティング」を参照してください。
仮想マシンでUEFIブートを有効にする場合は、次の点を考慮してください:
- UEFI対応のWindows仮想マシンに少なくとも2つのvCPUがあることを確認します。UEFI対応のLinux仮想マシンにはこの制限はありません。
- XenServerで作成されたUEFI対応の仮想マシンを、OVA、OVF、またはXVAファイルとしてインポートまたはエクスポートできます。他のハイパーバイザーで作成されたOVAまたはOVFパッケージからの、UEFI対応仮想マシンのインポートはサポートされていません。
- UEFI対応仮想マシンでPVSアクセラレータを使用するには、Citrix Provisioning 1906以降を使用していることを確認してください。
- Windows仮想マシンの場合は、UEFI設定メニューを使用して、XenCenterコンソールの画面の解像度を変更します。詳しい手順については、「トラブルシューティング」を参照してください。
注
UEFI対応の仮想マシンはエミュレートされたデバイスにNVMEとE1000を使用します。エミュレーション情報には、仮想マシン上のWindows向けXenServer VM Toolsをインストールするまでこれらの値は表示されません。 UEFI対応の仮想マシンには、Windows向けXenServer VM Toolsをインストールするまで、2つのネットワークインターフェイスカードしかないと表示されます。
UEFIブートまたはUEFIセキュアブートを有効にする
XenCenterまたはxe CLIを使用することで、仮想マシンのUEFIブートまたはUEFIセキュアブートを有効にできます。
XenCenterでUEFI対応仮想マシンを作成する方法については、「XenCenterを使用したWindows仮想マシンの作成」または「XenCenterを使用したLinux VMの作成」を参照してください。
xe CLIを使用してUEFIブートまたはUEFIセキュアブートを有効にする
仮想マシンを作成するときは、仮想マシンを初めて起動する前に次のコマンドを実行します:
xe vm-param-set uuid=<UUID> HVM-boot-params:firmware=<MODE>
xe vm-param-set uuid=<UUID> platform:device-model=qemu-upstream-uefi
xe vm-param-set uuid=<UUID> platform:secureboot=<OPTION>
<!--NeedCopy-->
ここで、UUID
は仮想マシンのUUIDで、MODE
は「BIOS
」または「uefi
」のいずれかであり、OPTION
は「true」または「false」のいずれかです。モードを指定しない場合、仮想マシンオペレーティングシステムでサポートされていれば、デフォルトで「uefi
」になります。サポートされていない場合、モードはデフォルトで「BIOS
」になります。secureboot
オプションを指定しない場合は、デフォルトで「auto」になります。UEFI対応の仮想マシンの場合、「auto」動作により、仮想マシンのセキュアブートが有効になります。
XenServerが提供するテンプレートからUEFI対応の仮想マシンを作成するには、次のコマンドを実行します。
UUID=$(xe vm-clone name-label='Windows 10 (64-bit)' new-name-label='Windows 10 (64-bit)(UEFI)')
xe template-param-set uuid=<UUID> HVM-boot-params:firmware=<MODE> platform:secureboot=<OPTION>
<!--NeedCopy-->
何かがインストールされているテンプレート、またはスナップショットから作成したテンプレートに対してはこのコマンドを実行しないでください。これらのスナップショットの起動モードは変更できません。また、起動モードを変更しようとすると、仮想マシンは起動に失敗します。
UEFI対応の仮想マシンを初めて起動すると、VMコンソールで任意のキーを押してインストールを開始するよう求められます。インストールを開始しない場合、VMコンソールはUEFIシェルに切り替わります。
インストールプロセスを再開するには、UEFIコンソールで次のコマンドを入力します。
EFI:
EFI\BOOT\BOOTX64
インストールプロセスが再開したら、VMコンソールでインストールプロンプトを確認します。プロンプトが表示されたら、任意のキーを押します。
セキュアブートを無効にする
場合によってはセキュアブートを無効にする必要が出てきます。たとえば、一部のデバッグは、セキュアブートユーザーモードの仮想マシンでは有効にできません。セキュアブートを無効にするには、仮想マシンをセキュアブートセットアップモードに変更します。XenServerホストで次のコマンドを実行します:
varstore-sb-state <VM_UUID> setup
キー
Windows仮想マシンの場合:
UEFI対応のWindows仮想マシンは、一時的な秘密キー、Microsoft KEK、Microsoft Windows Production PCA、およびMicrosoftサードパーティキーからのPKでプロビジョニングされます。仮想マシンには、UEFIフォーラムの最新の失効リストが提供されます。この構成により、Windows仮想マシンはセキュアブートをオンにして起動し、Microsoftからキーと失効リストの自動更新を受信できます。
Linux仮想マシンの場合:
セキュアブートが有効になっているLinux仮想マシンにサードパーティドライバーをインストールするには、署名キーを作成し、それをマシン所有者キー(MOK)として仮想マシンに追加し、そのキーを使用してドライバーに署名する必要があります。詳しくは、「セキュアブートLinux仮想マシンへのサードパーティドライバーのインストール」を参照してください。
UEFIおよびUEFIセキュアブート仮想マシンのトラブルシューティング
UEFIまたはUEFIセキュアブート仮想マシンのトラブルシューティングについては、「UEFIおよびセキュアブートの問題のトラブルシューティング」を参照してください。
サポートされるゲストオペレーティングシステムとリソースの割り当て
サポートされているゲストオペレーティングシステムの詳細な一覧については、「サポートされるゲストオペレーティングシステム、仮想メモリ、および仮想ディスクのサイズ制限」を参照してください。
このセクションでは、XenServer製品ファミリメンバー間における仮想デバイスのサポートの違いについて説明します。
XenServer製品ファミリの仮想デバイスのサポート
このバージョンのXenServer製品ファミリーには、仮想デバイスに関するいくつかの一般的な制限があります。一部のゲストオペレーティングシステムには、特定の機能に対する下限値があります。これらの制限については、各ゲストオペレーティングシステムのインストールのセクションで説明します。設定の制限値について詳しくは、「構成の制限」を参照してください。
ハードウェアや環境などの要因が、制限値に影響する場合があります。サポートされるハードウェアについて詳しくは、XenServerのハードウェア互換性リストを参照してください。
仮想マシンブロックデバイス
XenServerはhd*
デバイスの形式でIDEバスをエミュレートします。Windowsの場合、XenServer VM Toolsのインストールにより特別なI/Oドライバーがインストールされ、完全に仮想化された環境であることを除き、Linuxの場合と同様に動作します。
CPUの機能
仮想マシンの実行中にプールのCPU機能セットが変更されることがあります。たとえば、新しいホストが既存のプールに追加された場合や、仮想マシンが別のプールのホストに移行された場合です。プールのCPU機能セットが変更された場合、仮想マシンは起動時に適用された機能セットを使用し続けます。プールの新しい機能セットを使用するように仮想マシンをアップデートするには、仮想マシンを再起動する必要があります。