C.2. 機能の制限

Red Hat Enterprise Linux に含まれるハイパーバイザーパッケージは qemu-kvm です。これは、Red Hat Virtualization (RHV) および Red Hat OpenStack (RHOS) 製品に含まれる qemu-kvm-rhev パッケージとは異なります。qemu-kvm に適用される制限の多くは、qemu-kvm-rhev には適用されません。
qemu-kvmqemu-kvm-rhev パッケージ間の違いについての詳細は、What are the differences between qemu-kvm and qemu-kvm-rhev and all sub-packages? を参照してください。
Red Hat Enterprise Linux に含まれる KVM ハイパーバイザーには、以下の制限が適用されます。
ゲストあたりの最大仮想 CPU (vCPU) 数
Red Hat Enterprise Linux 7.2 以降では、Red Hat Enterprise Linux 7.0 での 160 に対して、1 ゲストあたり 240 の仮想 CPU をサポートします。
仮想化のネスト
Red Hat Enterprise Linux 7.2 以降ではネスト化した仮想化機能をテクノロジープレビューとして提供しています。この機能により、KVM はハイパーバイザーとして動作するゲストを起動し、それ自体のゲストを作成できるようになります。
TCG のサポート
QEMU および libvirt には、QEMU Tiny Code Generator (TCG) を使用する動的変換モードが含まれます。このモードでは、ハードウェアの仮想化サポートは不要です。ただし、TCG は Red Hat ではサポートされていません。
仮想マシンでネスト化されたゲストを作成するために qemu-kvm パッケージが使用される場合、ネスト化された仮想化が親仮想マシンで有効にされていない限り、これは TCG を使用します。仮想化のネスト化がテクノロジープレビューであることに注意してください。詳細は、12章ネストされた仮想化 を参照してください。
TCG ベースのゲストは以下を使用して認識されます。
  • ゲストの <domain type='qemu'> 行が含まれるドメイン XML ファイル。KVM のゲストには <domain type='kvm'> が含まれます。
  • 仮想ハードウェアの詳細 ビューの「概要」ペインで、virt-manager は仮想マシンの種類を KVM ではなく QEMU TCG と表示します。
不変タイムスタンプカウンター (TSC) ビット
不変 TSC (タイムスタンプカウンター) を搭載してないシステムは、追加設定が必要です。不変 TSC の搭載の有無を確認するには、また関連する問題を解決するための設定手順の詳細は 8章KVM ゲストのタイミング管理 を参照してください。
エミュレートした SCSI アダプター
SCSI デバイスエミュレーションは、virtio-scsi 準仮想化ホストバスアダプター (HBA) でのみサポートされます。Red Hat Enterprise Linux では、エミュレートした SCSI HBA は KVM でサポートされません。
エミュレートされたIDE デバイス
KVM では、仮想マシン 1 台あたりの仮想化 (エミュレートされた) IDE デバイスは最大 4 つまでに制限されています。
準仮想化デバイス
準仮想化デバイスは、VirtIO デバイスとしても知られています。これらは、仮想マシン内で最適に機能するように設計された純粋な仮想デバイスです。
Red Hat Enterprise Linux 7 は、仮想マシンバス 1 つあたりの 32 の PCI デバイススロットと、デバイススロット 1 つあたり 8 つの PCI 機能をサポートします。これにより、マルチファンクション機能が仮想マシンで有効にされ、PCI ブリッジが使用されると、理論上はバスあたり最大 256 の PCI 機能が提供されることになります。それぞれの PCI ブリッジは新規バスを追加し、追加で 256 のデバイスアドレスを有効にする可能性があります。ただし、一部のバスでは、root バスがスロットを占有するいくつかの組み込みデバイスを持つ場合など、256 デバイスアドレスすべてをユーザーに対して利用可能にしない場合があります。
デバイスについての詳細は、16章ゲスト仮想マシンデバイスの設定 を、PCI ブリッジの詳細については、「PCI ブリッジの作成」 を参照してください。
移行の制限
デバイス割り当ては、仮想マシンの排他的使用のために、仮想マシンに公開されている物理デバイスを参照します。デバイス割り当てでは、仮想マシンが実行される特定ホスト上のハードウェアを使用するため、デバイス割り当てが使用されている場合には移行および保存/復元はサポートされません。ゲストオペレーティングシステムがホットプラグをサポートしている場合は、移行または保存/復元操作の前に割り当てデバイスを削除してこの機能を有効にできます。
ライブマイグレーションは、CPU タイプが同一のホスト間でのみ可能です (つまり、Intel から Intel 、または AMD から AMD のみ)。
ライブマイグレーションの場合、両方のホストが on または off のいずれかの、NX (No eXecution) ビットの同一値セットを備えている必要があります。
移行を機能させるには、書き込みモードで開かれたすべてのブロックデバイスで cache=none を指定しておく必要があります。

警告

cache=none オプションを加えない場合、ディスクの破損につながる恐れがあります。
ストレージの制限
ディスクやブロックデバイス全体 (/dev/sdb など) への書き込みアクセスをゲスト仮想マシンに与えることには、リスクが伴います。ゲスト仮想マシンにブロックデバイス全体へのアクセスがあると、ホストマシンとボリュームラベルやパーティションテーブルを共有できます。しかし、ホストシステムのパーティション認識コードに不具合があると、セキュリティーリスクが発生する可能性があります。このリスクは、ゲスト仮想マシンに割り当てたデバイスを無視するようにホストマシンを設定することで回避できます。

警告

ストレージ制限に従わない場合、セキュリティー関連のリスクが発生する可能性があります。
ライブスナップショット
Red Hat Enterprise Linux における KVM のバックアップ/リストア API は、ライブスナップショットをサポートしません。
ストリーミング、ミラーリング、およびライブマージ
ストリーミング、ミラーリング、およびライブマージはサポートされません。これにより、ブロックジョブを防止できます。
I/O スロットリング
Red Hat Enterprise Linux は、仮想ディスクでの操作についての最大入力/出力レベルの設定をサポートしていません。
I/O スレッド
Red Hat Enterprise Linux は、VirtIO インターフェースでのディスクの入出力操作についての別々のスレッドの作成をサポートしていません。
メモリーのホットプラグとホットアンプラグ
Red Hat Enterprise Linux は、仮想マシンからのメモリーのホットプラグまたはホットアンプラグをサポートしていません。
vhost-user
Red Hat Enterprise Linux は、ユーザー空間 vhost インターフェースの実装をサポートしていません。
CPU のホットアンプラグ
Red Hat Enterprise Linux は、仮想マシンからの CPU のホットアンプラグをサポートしていません。
PCIe の NUMA ゲストの局所性 (ローカリティー)
Red Hat Enterprise Linux は、仮想 PCIe デバイスの特定の NUMA ノードへのバインドをサポートしていません。
コアダンプの制限
現在コアダンプは移行プロセスの一部として実装されていないため、デバイス割り当てが使用中の場合はサポートされません。
リアルタイムカーネル
KVM は現在リアルタイムカーネルをサポートしていないため、Red Hat Enterprise Linux for Real Time でこれを使用することはできません。