4.3. IBM Z の仮想化と、AMD64 および Intel 64 の仮想化の相違点
IBM Z システムの RHEL 8 の KVM 仮想化は、以下の点で AMD64 システムおよび Intel 64 システムの KVM とは異なります。
- PCI デバイスおよび USB デバイス
IBM Z は、仮想 PCI デバイスおよび USB デバイスに対応していません。したがって、
virtio-*-pci
デバイスに対応していないため、代わりにvirtio-*-ccw
デバイスを使用してください。たとえば、virtio-net-pci
の代わりにvirtio-net-ccw
を使用します。PCI パススルーとも呼ばれる PCI デバイスの直接アタッチに対応しています。
- サポートされているゲスト OS
- Red Hat が IBM Z でホストする仮想マシンをサポートするのは、仮想マシンがゲストオペレーティングシステムとして RHEL 7、8、または 9 を使用している場合のみです。
- デバイスの起動順序
IBM Z は、XML 設定要素
<boot dev='device'>
に対応していません。デバイスの起動順序を定義するには、XML の<devices>
セクションで、<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>
注記また、AMD64 および Intel 64 のホストでは、ブート手順管理に
<boot order='number'>
を使用することが推奨されます。- メモリーのホットプラグ
- 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 設定は利用できません。
- 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 では提供されません。 - ネストされた仮想化
- ネストされた仮想マシンを作成するには、AMD64 および Intel 64 とは別の設定を IBM Z で作成する必要があります。詳細は、Creating nested virtual machines を参照してください。
- 以前のリリースでグラフィカル出力なし
-
ホストで RHEL 8.3 以前のマイナーバージョンを使用している場合は、VNC プロトコルを使用して仮想マシンに接続すると、仮想マシンのグラフィカル出力を表示できません。これは、
gnome-desktop
ユーティリティーが、IBM Z の以前のバージョンの RHEL ではサポートされていなかったためです。また、IBM Z では、SPICE ディスプレイプロトコルは機能しません。 - 移行
後のホストモデル (たとえば IBM z14 から z15) に正常に移行したり、ハイパーバイザーを更新したりするには、
host-model
の CPU モードを使用します。host-passthrough
およびmaximum
CPU モードは、一般的に移行に対して安全ではないため、推奨しません。custom
CPU モードで明示的な CPU モデルを指定する場合は、次のガイドラインに従ってください。-
-base
で終わる CPU モデルは使用しない。 -
qemu
、max
、またはhost
CPU モデルは使用しない。
古いホストモデルへの移行 (z15 から z14 など)、または以前のバージョンの QEMU、KVM、RHEL カーネルへの移行の場合、最後に
-base
が付いていない使用可能な最も古いホストモデルの CPU タイプを使用します。-
ソースホストと宛先ホストの両方を実行している場合は、代わりに宛先ホストで
virsh hypervisor-cpu-baseline
コマンドを使用して、適切な CPU モデルを取得できます。詳細は、仮想マシン移行のホスト CPU の互換性の確認 を参照してください。 - RHEL 8 でサポートされているマシンタイプの詳細については、RHEL 8 仮想化で推奨される機能 を参照してください。
-
- 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/
- 安全な実行
-
仮想マシンの XML 設定で
<launchSecurity type="s390-pv"/>
を定義することにより、準備されたセキュアなゲストイメージで仮想マシンを起動できます。これにより、仮想マシンのメモリーが暗号化され、ハイパーバイザーによる不要なアクセスから保護されます。
仮想マシンを安全な実行モードで実行している場合、次の機能はサポートされないことに注意してください。
-
vfio
を使用したデバイスパススルー -
virsh domstats
およびvirsh memstat
を使用したメモリー情報の取得 -
memballoon
およびvirtio-rng
仮想デバイス - huge page を使用したメモリーバッキング
- ライブマイグレーションおよび非ライブマイグレーション
- 仮想マシンの保存および復元
-
メモリースナップショットを含む仮想マシンスナップショット (
--memspec
オプションを使用) -
完全なメモリーダンプ。代わりに、
virsh dump
コマンドに--memory-only
オプションを指定してください。 - 248 以上の vCPU。セキュアゲストの vCPU 制限は 247 です。
- ネストされた仮想化