インテルのみ表示可能 — GUID: wso1619805362048
Ixiasoft
3.5.2.3.2.3. VFの有効化とQEMUを使用してのゲストVMの作成
- 要件に基づき仮想機能を有効にします。
$ echo 2 > /sys/bus/pci/devices/<bdf>/max_vfs
- vfio-pciモジュールをインストールします。
$modprobe vfio-pci
- デバイスをvfio-pciに結び付けます。
- デバイスが ifc_uio に結び付けられている場合は、次のコマンドで解除します。
$ echo "<bdf>" > /sys/bus/pci/devices/<bdf>/driver/unbind
例: echo "0000:01:00.0" > /sys/bus/pci/devices/0000\:01\:00.0/driver/unbind
- デバイスをvfio-pciに結び付けます。
echo <PCI Vendor ID> <PCI Device ID> > /sys/bus/pci/drivers/vfio-pci/new_id
例: echo 1172 0000 > /sys/bus/pci/drivers/vfio-pci/new_id
- デバイスが ifc_uio に結び付けられている場合は、次のコマンドで解除します。
- 次のパラメーターを使用して、ゲストVMを開始します (インテルマシンではQEMUのバージョン3.0.0-rc0を使用します)。ここでは、少なくとも8GBのメモリーをVMに割り当てる必要があります。
$ qemu-3.0.0-rc0/x86_64-softmmu/qemu-system-x86_64 -smp 2 -m 8192M -boot c -machine q35,kernel-irqchip=split -cpu host -enable-kvm -nographic -L /root/qemu-3.0.0-rc0/pc-bios -name offload1 -hda <path_to_qcow2_file> -device vfio-pci,host=<bdf> -netdev type=tap,id=net6551,script=no,downscript=no,vhost=on,ifname=net6551 -device virtio-net-pci,netdev=net6551 -device intel-iommu,intremap=on,caching-mode=on -serial telnet::5551,server,nowait -object memory-backend-file,id=mem,size=8192M,mem-path=/dev/hugepages,share=on -numa node,memdev=mem -mem-prealloc -monitor telnet::3331,server,nowait&
- AMDマシンでは、パラメーターの「-device intel-iommu,intremap=on,caching-mode=on」は必要ありません。
- 複数のデバイスが同じグループにある場合は、ルートポートとブリッジでACSが有効になっているかを確認します。
- 次の表は、検証に使用しているホストおよびゲストVMのコンフィグレーションです。
ホストシステム | コンフィグレーションの詳細 |
---|---|
オペレーティング・システム | CentOS Linuxリリース7.8 Ubuntu 22.04 LTS |
Linuxカーネル | CentOS: 3.10.0-1127.10.1.el7.28.x86_64 Ubuntu: 5.15.0-52-generic x86_64 |
CPUコア | 96 |
RAM | 128GB (単一のNUMAでは64GB) |
ハイパーバイザー | KVM |
QEMUのバージョン | QEMUバージョン3.0.0-rc0 |
ホストシステム | コンフィグレーションの詳細 |
---|---|
オペレーティング・システム | CentOS Linuxリリース7.8 |
Linuxカーネル | 3.10.0-1127.10.1.el7.28.x86_64 |
CPUコア | 2 |
RAM | 8GB |