22.5. IBM Z の仮想化と、AMD64 および Intel 64 の仮想化の相違点

IBM Z システムの RHEL 9 の 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 パフォーマンスをチューニングすることはできません。
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 では提供されません。
移行

後のホストモデル (たとえば IBM z14 から z15) に正常に移行したり、ハイパーバイザーを更新したりするには、host-model の CPU モードを使用します。host-passthrough および maximum CPU モードは、一般的に移行に対して安全ではないため、推奨しません。

custom CPU モードで明示的な CPU モデルを指定する場合は、次のガイドラインに従ってください。

  • -base で終わる CPU モデルは使用しない。
  • qemumax、または host CPU モデルは使用しない。

古いホストモデルへの移行 (z15 から z14 など)、または以前のバージョンの QEMU、KVM、RHEL カーネルへの移行の場合、最後に -base が付いていない使用可能な最も古いホストモデルの CPU タイプを使用します。

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 です。