24.7. ARM 64 の仮想化と AMD 64 および Intel 64 の仮想化の相違点


ARM 64 システム (AArch64 とも呼ばれます) 上の RHEL 10 の KVM 仮想化は、AMD64 および Intel 64 システム上の KVM とはいくつかの点で異なります。これには以下が含まれますが、以下に限定されません。

ゲストのオペレーティングシステム
現在、ARM 64 仮想マシン (VM) でサポートされているゲストオペレーティングシステムは、RHEL 9 と RHEL 10 のみです。
vCPU のホットプラグとホットアンプラグ
仮想 CPU (vCPU) を実行中の仮想マシンに接続すること (vCPU のホットプラグとも呼ばれます) は、現在 ARM 64 ホストではサポートされていません。さらに、AMD64 および Intel 64 ホストと同様に、実行中の仮想マシンからの vCPU の削除 (vCPU ホットアンプラグ) は、ARM 64 ではサポートされていません。
セキュアブート
セキュアブート機能は、ARM 64 システムではテクノロジープレビューとしてのみ利用可能です。
マイグレーション
現在、ARM 64 ホスト間での仮想マシンの移行は、CPU、ファームウェア、およびメモリーページサイズが同じホスト間でのみサポートされています。
メモリーページサイズ

ARM 64 は、現在 64 KB または 4 KB のメモリーページサイズでの仮想マシンの実行をサポートしています。ただし、ホストとゲストの両方で同じメモリーページサイズを使用する必要があります。ホストとゲストのメモリーページサイズが異なる設定はサポートされていません。

ただし、別のページサイズのカーネルをインストールすることはできます。デフォルトでは、RHEL 10 は 4 KB のメモリーページサイズを使用します。64 KB のメモリーページサイズで仮想マシンを実行する場合、ホストが 64 KB のメモリーページサイズのカーネルを使用 している必要があります。仮想マシンを作成するときは、たとえばキックスタートファイルに次のパラメーターを含めるなどして、kernel-64k package とともに仮想マシンをインストールする必要があります。

%packages
-kernel
kernel-64k
%end
huge page

メモリーページサイズが 64 KB の ARM 64 ホストでは、次のサイズのヒュージメモリーページがサポートされます。

  • 2 MB
  • 512 MB
  • 16 GB

    メモリーページサイズが 64 KB の ARM 64 ホストで Transparent Huge Page (THP) を使用する場合、512 MB の huge page のみがサポートされます。

    メモリーページサイズが 4 KB の ARM 64 ホストでは、次のサイズのヒュージメモリーページがサポートされます。

  • 64 KB
  • 2 MB
  • 32 MB
  • 1024 MB

    メモリーページサイズが 4 KB の ARM 64 ホストで Transparent Huge Page (THP) を使用する場合、2 MB の huge page のみがサポートされます。

SVE

ARM 64 アーキテクチャーは、Scalable Vector Expansion (SVE) 機能を提供します。ホストがこの機能をサポートしている場合、仮想マシンで SVE を使用すると、これらの仮想マシンでのベクトル数学計算と文字列操作の速度が向上します。

SVE のベースラインレベルは、それをサポートするホスト CPU でデフォルトで有効になっています。ただし、Red Hat では、各ベクトルの長さを明示的に設定することを推奨しています。これにより、仮想マシンは互換性のあるホスト上でのみ起動できるようになります。これを行うには、以下を行います。

  1. CPU に SVE 機能があることを確認します。

    # grep -m 1 Features /proc/cpuinfo | grep -w sve
    
    Features: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm fcma dcpop sve

    このコマンドの出力に sve が含まれている場合、または終了コードが 0 の場合は、CPU が SVE をサポートしています。

  2. 変更する仮想マシンの XML 設定を開きます。

    # virsh edit vm-name
  3. <cpu> 要素を次のように編集します。

    <cpu mode='host-passthrough' check='none'>
    <feature policy='require' name='sve'/>
    <feature policy='require' name='sve128'/>
    <feature policy='require' name='sve256'/>
    <feature policy='disable' name='sve384'/>
    <feature policy='require' name='sve512'/>
    </cpu>

    この例では、SVE ベクトルの長さ 128、256、および 512 を明示的に有効にし、ベクトルの長さ 384 を明示的に無効にします。

CPU モデル
ARM 64 上の仮想マシンは、現在 host-passthrough CPU モデルのみをサポートしています。
PXE

Preboot Execution Environment (PXE) でのブートは、機能しますがサポート対象外です。そのため、実稼働環境では使用しないことを Red Hat は強く推奨します。

PXE ブートが必要な場合は、virtio-net-pci ネットワークインターフェイスコントローラー (NIC) でのみ可能です。

EDK2
ARM 64 ゲストは、edk2-aarch64 パッケージに含まれている UEFI ファームウェアを使用します。このファームウェアは、AMD64 および Intel 64 上の OVMF UEFI と同様のインターフェイスを提供し、同様の機能セットを実装します。
kvm-clock
kvm-clock サービスは、ARM 64 の仮想マシンで時間管理用に設定する必要はありません。
周辺機器

ARM 64 システムは、AMD64 および Intel 64 デバイスとは部分的に異なる周辺機器のセットをサポートします。

  • PCIe トポロジーのみがサポートされます。
  • ARM 64 システムは、virtio-*-pci ドライバーを使用して virtio デバイスをサポートします。したがって、virtio-pci デバイスのみがサポートされます。
  • virtio-gpu ドライバーはグラフィカルインストールでのみサポートされます。
  • ARM 64 システムは、グラフィカルインストールのみで usb-mouse および usb-tablet デバイスをサポートします。その他の USB デバイス、USB パススルー、または USB リダイレクトはサポートされていません。
  • Virtual Function I/O (VFIO) を使用するデバイスの割り当ては、NIC (物理および Virtual Function) でのみサポートされます。
エミュレートされたデバイス

次のデバイスは ARM 64 ではサポートされていません。

  • ICH9、ICH6、AC97 などのエミュレートされたサウンドデバイス。
  • VGA カードなどのエミュレートされたグラフィックカード。
  • rtl8139 などのエミュレートされたネットワークデバイス。
ネストされた仮想化
現在、ARM 64 ホストではネストされた仮想マシンを作成できません。
v2v および p2v
virt-v2v ユーティリティーおよび virt-p2v ユーティリティーは、AMD64 および Intel 64 のアーキテクチャーでのみ対応しており、ARM 64 では提供されません。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る