[QEMU]多進(jìn)程 QEMU

本文檔介紹如何配置和使用多進(jìn)程 qemu。有關(guān)設(shè)計(jì)文檔,請(qǐng)參閱 docs/devel/qemu-multiprocess。
1) 配置
默認(rèn)情況下,為啟用 KVM 的目標(biāo)啟用多進(jìn)程
2) 用法
多進(jìn)程 QEMU 需要業(yè)務(wù)流程協(xié)調(diào)程序才能啟動(dòng)。
以下是用于啟動(dòng) mpqemu 的命令行的說(shuō)明。
業(yè)務(wù)流程協(xié)調(diào)程序:
業(yè)務(wù)流程協(xié)調(diào)程序創(chuàng)建一個(gè) unix 套接字對(duì)
它啟動(dòng)遠(yuǎn)程進(jìn)程,并通過(guò)命令行將其中一個(gè)套接字傳遞給它。
然后,它啟動(dòng) QEMU 并將另一個(gè)套接字指定為代理設(shè)備對(duì)象的選項(xiàng)
遠(yuǎn)程進(jìn)程:
QEMU 可以使用“遠(yuǎn)程”計(jì)算機(jī)選項(xiàng)進(jìn)入遠(yuǎn)程進(jìn)程模式。
業(yè)務(wù)流程協(xié)調(diào)程序創(chuàng)建一個(gè)“遠(yuǎn)程對(duì)象”,其中包含有關(guān)設(shè)備和設(shè)備的文件描述符的詳細(xì)信息
其余選項(xiàng)與使用設(shè)備啟動(dòng)QEMU的方式?jīng)]有什么不同。
遠(yuǎn)程進(jìn)程的示例命令行如下所示:
/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和遠(yuǎn)程進(jìn)程之間共享,因此需要內(nèi)存后端memfd來(lái)促進(jìn)此操作,如下所示:
-object memory-backend-memfd,id=mem,size=2G
將為遠(yuǎn)程進(jìn)程中模擬的每個(gè) PCI 設(shè)備創(chuàng)建一個(gè)“x-pci-proxy-dev”設(shè)備?!疤捉幼帧弊舆x項(xiàng)指定由業(yè)務(wù)流程協(xié)調(diào)程序創(chuàng)建的 unix 通道的另一端。必須指定“id”子選項(xiàng),并且應(yīng)與為遠(yuǎn)程 PCI 設(shè)備指定的“id”相同
QEMU 的示例命令行如下所示:
-device x-pci-proxy-dev,id=lsi0,socket=3