検索

24.6. ARM 64 での仮想化が AMD64 および Intel 64 とどのように異なるか

download PDF

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

ゲストのオペレーティングシステム
現在、ARM 64 仮想マシン (VM) でサポートされているゲストオペレーティングシステムは RHEL 9 のみです。
Web コンソール管理
RHEL 9 Web コンソールの仮想マシン管理 の一部の機能は、ARM 64 ハードウェアで正しく動作しない場合があります。
vCPU のホットプラグとホットアンプラグ
仮想 CPU (vCPU) を実行中の仮想マシン (vCPU ホットプラグとも呼ばれる) に接続することは、ARM 64 ホストではサポートされていません。さらに、AMD64 および Intel 64 ホストと同様に、実行中の仮想マシンからの vCPU の削除 (vCPU ホットアンプラグ) は、ARM 64 ではサポートされていません。
SecureBoot
SecureBoot 機能は、ARM 64 システムでは使用できません。
Migration
現在、ARM 64 ホスト間での仮想マシンの移行はサポートされていません。
メモリーページサイズ

ARM 64 は現在、64 KB のメモリーページサイズでのみ、また 64 KB のメモリーページサイズのホスト上でのみ仮想マシンの実行をサポートしています。ホストまたはゲスト内の 4 KB ページサイズは現在サポートされていません。

ARM 64 上で仮想マシンを正常に作成するには、ホストが 64 KB のメモリーページサイズのカーネルを使用 している必要があり、仮想マシンを作成するときに、たとえばキックスタートファイルに次のパラメーターを含めるなどして、kernel-64k パッケージ を使用して仮想マシンをインストールする必要があります。

%packages
-kernel
kernel-64k
%end
ヒュージページ

64 KB のメモリーページサイズを持つ ARM 64 ホストは、次のサイズの巨大なメモリーページをサポートします。

  • 2 MB
  • 512 MB
  • 16 GB

    ARM 64 ホストで透過的 huge page (THP) ファイルシステムを使用する場合は、512 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 CPU モデルのみをサポートしています。
仮想マシンの保存および復元
仮想マシンの 保存と復元 は現在、ARM 64 ホストではサポートされていません。
PXE

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

PXE ブートが必要な場合は、virtio-net-pci ネットワークインターフェイスコントローラー (NIC) でのみ可能です。さらに、PXE ブートには、仮想マシン UEFI プラットフォームファームウェア (edk2-aarch64 パッケージでインストールされる) の組み込み VirtioNetDxe ドライバーを使用する必要があります。iPXE オプションの ROM はサポートされません。

デバイスメモリー
DIMM (Dual In-line Memory Module) や NVDIMM (Non-Volatile DIMM) などのデバイスメモリー機能は、ARM 64 では動作しません。
pvpanic
pvpanic デバイスは現在 ARM 64 ではサポートされていません。ARM 64 のゲスト XML 設定の <devices> セクションから <panic> 要素を必ず削除してください。この要素が存在すると、VM の起動に失敗する場合があります。
OVMF

ARM 64 ホスト上の仮想マシンは、edk2-ovmf パッケージに含まれる AMD64 および Intel 64 で使用される OVMF UEFI ファームウェアを使用できません。代わりに、これらの仮想マシンは edk2-aarch64 パッケージに含まれる UEFI ファームウェアを使用します。これは、同様のインターフェイスを提供し、同様の機能セットを実装します。

具体的には、edk2-aarch64 は組み込みの UEFI シェルを提供しますが、次の機能はサポートしていません。

  • SecureBoot
  • 管理モード
kvm-clock
kvm-clock サービスは、ARM 64 の仮想マシンで時間管理用に設定する必要はありません。
周辺機器

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

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

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

  • ICH9、ICH6、AC97 などのエミュレートされたサウンドデバイス。
  • VGA カードなどのエミュレートされたグラフィックカード。
  • rtl8139 などのエミュレートされたネットワークデバイス。
GPU devices
ARM 64 システムでは GPU デバイスの割り当て はサポートされていません。
シリアルコンソールの設定
VM でシリアルコンソールをセットアップする 場合、grubby ユーティリティーで console=ttyS0 の代わりに console=ttyAMA0 カーネルオプションを使用します。
マスク不可割り込み
現在、ARM 64 仮想マシンにマスク不可割り込み (NMI) を送信することはできません。
ネストされた仮想化
現在、ARM 64 ホストではネストされた仮想マシンを作成できません。
v2v および p2v
virt-v2v ユーティリティーおよび virt-p2v ユーティリティーは、AMD64 および Intel 64 のアーキテクチャーでのみ対応しており、ARM 64 では提供されません。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

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

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

会社概要

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

© 2024 Red Hat, Inc.