24.6. IBM Z の仮想化と AMD64 および Intel 64 の仮想化の相違点
IBM Z システム上の RHEL 10 の KVM 仮想化は、AMD64 および Intel 64 システム上の KVM と次の点で異なります。
- PCI デバイスおよび USB デバイス
IBM Z は、仮想 PCI デバイスおよび USB デバイスに対応していません。したがって、
virtio-*-pciデバイスに対応していないため、代わりにvirtio-*-ccwデバイスを使用してください。たとえば、virtio-net-pciの代わりにvirtio-net-ccwを使用します。PCI パススルーとも呼ばれる PCI デバイスの直接アタッチに対応しています。
- サポートされているゲストオペレーティングシステム
- IBM Z でホストされる仮想マシンは、仮想マシンがゲストオペレーティングシステムとして RHEL 8、9、または 10 を使用している場合にのみ、Red Hat のサポート対象となります。
- デバイスの起動順序
IBM Z は、XML 設定要素
<boot dev='device'>に対応していません。デバイスの起動順序を定義するには、XML の<devices>セクションで、<boot order='number'>要素を使用します。注記すべてのホストアーキテクチャーで、起動順序の管理に
<boot order='number'>を使用することを推奨します。さらに、
<boot>要素でアーキテクチャー固有のloadparm属性を使用して、必要なブートエントリーを選択できます。たとえば、次の例では、ブートシーケンスでディスクを最初に使用する必要があり、そのディスクで Linux ディストリビューションが利用可能な場合は、2 番目のブートエントリーが選択されます。<disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/path/to/qcow2'/> <target dev='vda' bus='virtio'/> <address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0000'/> <boot order='1' loadparm='2'/> </disk>- メモリーのホットプラグ
- IBM Z では、実行中の仮想マシンにメモリーを追加することはできません。実行中の仮想マシン (メモリーの ホットアンプラグ) からメモリーを削除することは、IBM Z や、AMD64 および Intel 64 でもできないことに注意してください。
- NUMA トポロジー
-
CPU の Non-Uniform Memory Access (NUMA) トポロジーは、IBM Z 上の
libvirtでは対応していません。したがって、このシステムでは、NUMA を使用して vCPU パフォーマンスをチューニングすることはできません。 - GPU デバイス
- IBM Z システムでは GPU デバイスの割り当てはサポートされていません。
- vfio-ap
- IBM Z ホストの仮想マシンは、vfio-ap 暗号デバイスパススルーを使用しますが、その他のアーキテクチャーでは対応していません。
- vfio-ccw
- IBM Z ホスト上の仮想マシンは、他のアーキテクチャーではサポートされていない vfio-ccw ディスクデバイスパススルーを使用できます。
- SMBIOS
- IBM Z では、SMBIOS 設定は利用できません。
- ライブ仮想マシンメモリーダンプ
-
IBM Z で
--liveオプションを使用すると、仮想マシンのメモリーダンプの作成が失敗する可能性があります。まれに、仮想マシンスナップショットの作成が失敗することもあります。これらの問題を回避するには、ホスト上で RHEL 10.2 以降を使用し、--liveオプションの使用を避けてください。 - Watchdog デバイス
IBM Z ホストの仮想マシンでウォッチドッグデバイスを使用する場合は、
diag288モデルを使用します。以下に例を示します。<devices> <watchdog model='diag288' action='poweroff'/> </devices>- kvm-clock
-
kvm-clockサービスは、AMD64 システムおよび Intel 64 システムに固有のものであり、IBM Z の仮想マシンの時間管理用に設定する必要はありません。 - v2v および p2v
-
virt-v2vユーティリティーおよびvirt-p2vユーティリティーは、AMD64 および Intel 64 のアーキテクチャーでのみ対応しており、IBM Z では提供されません。 - 移行
後のホストモデル (たとえば IBM z14 から z15) に正常に移行したり、ハイパーバイザーを更新したりするには、
host-modelの CPU モードを使用します。host-passthroughおよびmaximumCPU モードは、一般的に移行に対して安全ではないため、推奨しません。customCPU モードで明示的な CPU モデルを指定する場合は、次のガイドラインに従ってください。-
-baseで終わる CPU モデルは使用しない。 -
qemu、max、またはhostCPU モデルは使用しない。
古いホストモデルへの移行 (z15 から z14 など)、または以前のバージョンの QEMU、KVM、RHEL カーネルへの移行の場合、最後に
-baseが付いていない使用可能な最も古いホストモデルの CPU タイプを使用します。-
ソースホストと宛先ホストの両方を実行している場合は、代わりに宛先ホストで
virsh hypervisor-cpu-baselineコマンドを使用して、適切な CPU モデルを取得できます。詳細は、仮想マシンの移行におけるホスト CPU の互換性の確認 を参照してください。 - RHEL 10 でサポートされているマシンタイプの詳細は、RHEL 10 の仮想化で推奨される機能 を参照してください。
-
- PXE インストールおよび起動
PXE を使用 して IBM Z 上で仮想マシンを実行する場合、
pxelinux.cfg/defaultファイルに特定の設定が必要です。以下に例を示します。# pxelinux default linux label linux kernel kernel.img initrd initrd.img append ip=dhcp inst.repo=example.com/redhat/BaseOS/s390x/os/- Secure Execution
-
仮想マシンの XML 設定で
<launchSecurity type="s390-pv"/>を定義することにより、準備されたセキュアなゲストイメージで仮想マシンを起動できます。これにより、仮想マシンのメモリーが暗号化され、ハイパーバイザーによる不要なアクセスから保護されます。
仮想マシンを Secure Execution モードで実行する場合、次の機能はサポートされないことに注意してください。
-
vfioを使用したデバイスパススルー -
virsh domstatsおよびvirsh memstatを使用したメモリー情報の取得 -
memballoonおよびvirtio-rng仮想デバイス - huge page を使用したメモリーバッキング
- ライブマイグレーションおよび非ライブマイグレーション
- 仮想マシンの保存および復元
-
メモリースナップショットを含む仮想マシンスナップショット (
--memspecオプションを使用) -
完全なメモリーダンプ。代わりに、
virsh dumpコマンドに--memory-onlyオプションを指定してください。 - 248 以上の vCPU。セキュアゲストの vCPU 制限は 247 です。
- ネストされた仮想化