OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

1.5.3. 设备直通/热插拔


如果您希望始终通过设备而不是此处描述的热插拔,请通过例如将设备的 xml 内容添加到您的静态访客 xml 表示中 虚拟编辑. 在这种情况下,您不需要使用 附加/分离. 有不同种类的直通。 您可用的类型取决于您的硬件和软件设置。

• USB 热插拔/直通

• VF 热插拔/直通


图片

2 http://libvirt.org/uri.html

3 https://libvirt.org/migration.html#offline

4 https://libvirt.org/migration.html

5 http://wiki.qemu.org/Features/PostCopyLiveMigration

6 https://wiki.ubuntu.com/QemuKVMMigration


但是这两种方法的处理方式非常相似,虽然有多种方法可以做到(例如也通过 qemu 监视器),但建议通过 libvirt 进行此类更改。 这样 libvirt 可以尝试为您管理各种特殊情况,并在某种程度上掩盖版本差异。


通常,当通过 libvirt 驱动热插拔时,您会创建一个 xml 片段来描述设备,就像您在静态访客描述中所做的那样。7 USB 设备通常由供应商/产品 ID 标识:


虚拟功能通常通过它们的 PCI-ID(域、总线、插槽、功能)分配。



图片

首先获得 Virtual 功能是非常依赖于设备的,因此无法在此处完全涵盖。 但总的来说,它涉及设置一个iommu,通过VFIO注册8 有时会请求多个 VF。 这是 ppc64el 上的示例,用于在设备上获取 4 个 VF:


$ sudo modprobe vfio-pci

# 识别设备

$ lspci -n -s 0005:01:01.3 0005:01:01.3 0200:10df:e228 (rev 10)

# 注册和请求 VF

$ echo 10df e228 | 须藤三通/sys/bus/pci/drivers/vfio-pci/new_id

$ 回声 4 | 须藤三通/sys/bus/pci/devices/0005\:01\:00.0/sriov_numvfs


然后,通过将访客与 xml 片段相关联,通过 libvirt 附加或分离设备。


virsh 附加设备

# 在访客中使用设备

virsh 分离设备


图片

关于保护“太多”的 apparmor proetction,有几个相关的已知问题。 您可能需要调整 apparmor 配置文件中的异常,直到出现错误 15522419 (对于 USB)和 https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1679704(对于 VF 分配)已解决。 要检查您是否受到影响,请在使用 USB/VF 直通/热插拔功能时观察 dmesg 并验证您是否看到 apparmor denies10.


图片

7 https://libvirt.org/formatdomain.html

8 https://www.kernel.org/doc/Documentation/vfio.txt

9 https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1552241

10 http://wiki.apparmor.net/index.php/AppArmor_Failures#Messages_in_the_Log_files


OnWorks 的顶级操作系统云计算: