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-kvm パッケージと qemu-kvm-rhev パッケージの相違点の詳細は、What are the differences between qemu-kvm and qemu-kvm-rhev and all sub-packages? を参照してください。
Red Hat Enterprise Linux に同梱される KVM ハイパーバイザーには、以下の制限が適用されます。
- ゲストごとの vCPU の最大数
- Red Hat Enterprise Linux 7.2 以降は、ゲストごとに 240 個の vCPU をサポートしています (Red Hat Enterprise Linux 7.0 の 160 個から増加)。
- ネストされた仮想化
- ネストされた仮想化は、Red Hat Enterprise Linux 7.2 以降ではテクノロジープレビューとして利用できます。この機能により、KVM はハイパーバイザーとして機能し、独自のゲストを作成できるゲストを起動できます。
- TCG のサポート
- QEMU および libvirt には、QEMU Tiny Code Generator (TCG) を使用した動的な変換モードが含まれます。このモードでは、ハードウェアの仮想化のサポートは必要ありません。ただし、TCG は Red Hat ではサポートされていません。qemu-kvm パッケージーを使用して仮想マシンにネストされたゲストを作成する場合は、親仮想マシンでネストされた仮想化が有効になっていない限り TCG を使用します。ネストされた仮想化は現時点でテクノロジープレビューであることに注意してください。詳細は、12章Nested Virtualization を参照してください。TCG ベースのゲストは、次のコマンドを使用して認識できます。
- ゲストのドメイン XML ファイルには
<domain type='qemu'>
行が含まれますが、KVM ゲストには<domain type='kvm'>
が含まれます。
- 定数 TSC ビット
- Constant TSC (Time Stamp Counter) がないシステムには、追加の設定が必要です。Constant タイムスタンプカウンターがあるかどうかの判断と、関連する問題を修正するための設定手順は、8章KVM ゲストのタイミング管理 を参照してください。
- エミュレートされた SCSI アダプター
- SCSI デバイスエミュレーションは、virtio-scsi 準仮想化ホストバスアダプター (HBA) でのみ対応しています。エミュレートされた SCSI HBA は、Red Hat Enterprise Linux では KVM に対応していません。
- エミュレートされた IDE デバイス
- KVM は、仮想マシンごとに、最大 4 つの仮想 (エミュレート) IDE デバイスに制限されます。
- 準仮想化デバイス
- 準仮想化デバイスは VirtIO デバイス としても知られています。これらは、純粋に仮想デバイスで、仮想マシンで最適に機能するように設計されています。Red Hat Enterprise Linux 7 は、仮想マシンバスごとに 32 の PCI デバイススロットをサポートし、デバイススロットごとに 8 つの PCI 機能をサポートします。これにより、仮想マシンで多機能の性能が有効になり、PCI ブリッジが使用されていない場合に、理論上は 1 つのバスあたり最大 256 個の PCI 機能が提供されます。各 PCI ブリッジは新しいバスを追加します。これにより、別の 256 個のデバイスアドレスが有効になる可能性があります。ただし、一部のバスでは、256 個のデバイスアドレスすべてがユーザーに利用できるようになっていません。たとえば、ルートバスには、スロットを占有する複数の組み込みデバイスがあります。デバイスの詳細は 16章ゲスト仮想マシンのデバイス設定 を、PCI ブリッジの詳細は 「PCI ブリッジ」 を参照してください。
- 移行の制限
- デバイスの割り当ては、仮想マシンに公開されている物理デバイスを、その仮想マシン専用で使用することを指します。デバイスの割り当ては、仮想マシンが実行される特定のホストのハードウェアを使用するため、デバイスの割り当てを使用中の際は、移行と保存/復元はサポートされません。ゲストオペレーティングシステムがホットプラグに対応している場合は、移行前に割り当てたデバイスを削除し、この機能を有効にするために保存/復元を行うことができます。ライブマイグレーションは、同じ CPU タイプのホスト間でのみ可能です (つまり、Intel から Intel、または AMD から AMD のみ)。ライブマイグレーションの場合、両方のホストで、NX (No eXecution) ビットが同じ値 (
on
またはoff
のいずれか) に設定されている必要があります。移行を機能させるには、書き込みモードで開いているすべてのブロックデバイスに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 では使用できません。