[QEMU]多进程 QEMU

本文档介绍如何配置和使用多进程 qemu。有关设计文档,请参阅 docs/devel/qemu-multiprocess。
1) 配置
默认情况下,为启用 KVM 的目标启用多进程
2) 用法
多进程 QEMU 需要业务流程协调程序才能启动。
以下是用于启动 mpqemu 的命令行的说明。
业务流程协调程序:
业务流程协调程序创建一个 unix 套接字对
它启动远程进程,并通过命令行将其中一个套接字传递给它。
然后,它启动 QEMU 并将另一个套接字指定为代理设备对象的选项
远程进程:
QEMU 可以使用“远程”计算机选项进入远程进程模式。
业务流程协调程序创建一个“远程对象”,其中包含有关设备和设备的文件描述符的详细信息
其余选项与使用设备启动QEMU的方式没有什么不同。
远程进程的示例命令行如下所示:
/usr/bin/qemu-system-x86_64 -machine x-remote -device lsi53c895a,id=lsi0 -drive id=drive_image2,file=/build/ol7-nvme-test-1.qcow2 -device scsi-hd,id=drive2,drive=drive_image2,bus=lsi0.0,scsi-id=0 -object x-remote-object,id=robj1,devid=lsi0,fd=4,
QEMU:
由于部分RAM在QEMU和远程进程之间共享,因此需要内存后端memfd来促进此操作,如下所示:
-object memory-backend-memfd,id=mem,size=2G
将为远程进程中模拟的每个 PCI 设备创建一个“x-pci-proxy-dev”设备。“套接字”子选项指定由业务流程协调程序创建的 unix 通道的另一端。必须指定“id”子选项,并且应与为远程 PCI 设备指定的“id”相同
QEMU 的示例命令行如下所示:
-device x-pci-proxy-dev,id=lsi0,socket=3