我正在尝试在 QEMU 中迁移虚拟机,在将内存热插拔到虚拟机后,我无法迁移它,并且我面临着Unknown ramblock "mem1", cannot accept migration
这个名称没有问题并且它确实存在于迁移源中的问题。源和目标上的参数是:
来源:
-name mig-test3.compute,debug-threads=on
-machine q35,accel=kvm,dump-guest-core=off
-cpu host
-smp cores=1,maxcpus=64
-m slots=32,maxmem=262144M,size=2048M
-mem-path /dev/hugepages
-monitor none
-pidfile /opt/feynman/qemu/compute/mig-test3/pid
-chardev socket,server,nowait,id=manager-socket,path=/opt/feynman/qemu/compute/mig-test3/manager.sock
-mon manager-socket,id=manager-monitor,mode=control
-chardev socket,id=mertics-socket,path=/opt/feynman/qemu/compute/mig-test3/metrics.sock,server,nowait
-mon mertics-socket,id=metrics-monitor,mode=control
-chardev socket,server,nowait,id=snapshot-socket,path=/opt/feynman/qemu/compute/mig-test3/snapshot.sock
-mon snapshot-socket,id=snapshot-monitor,mode=control
-chardev socket,id=ops-qmp-socket,path=/opt/feynman/qemu/compute/mig-test3/ops-qmp.sock,server,nowait
-mon ops-qmp-socket,id=ops-qmp-monitor,mode=control
-chardev socket,path=/opt/feynman/qemu/compute/mig-test3/ops-rl.sock,server,nowait,id=ops-rl-socket
-mon ops-rl-socket,id=ops-rl-monitor,mode=readline -vnc :234
-chardev socket,id=qemu-guest-agent,path=/opt/feynman/qemu/compute/mig-test3/guest-agent.sock,server,nowait
-device virtio-serial
-device virtserialport,name=org.qemu.guest_agent.0,chardev=qemu-guest-agent
-device pcie-root-port,slot=4,chassis=0,addr=4.0,id=disk-reserved-pcie.0,multifunction=on
-device pcie-root-port,id=disk-reserved-pcie.1,slot=4,chassis=1,addr=4.1
-device pcie-root-port,chassis=2,addr=4.2,id=disk-reserved-pcie.2,slot=4
-device pcie-root-port,slot=4,chassis=3,addr=4.3,id=disk-reserved-pcie.3
-device pcie-root-port,slot=4,chassis=4,addr=4.4,id=disk-reserved-pcie.4
-device pcie-root-port,slot=4,chassis=5,addr=4.5,id=disk-reserved-pcie.5
-device pcie-root-port,slot=4,chassis=6,addr=4.6,id=disk-reserved-pcie.6
-device pcie-root-port,slot=4,chassis=7,addr=4.7,id=disk-reserved-pcie.7
-drive format=qcow2,throttling.iops-read=390,cache=none,stats-intervals.0=30,if=none,throttling.iops-write=160,node-name=ld-R8FGNRBTAP1B1EKRKGBEMV91R0,throttling.bps-read-max=9437185,throttling.iops-write-max-length=30,throttling.bps-write-max-length=30,throttling.iops-write-max=320,throttling.bps-read=4608000,file=/opt/feynman/disks/compute/os-2aa293e149614b849f9b0311c39f3706/initial.qcow2,throttling.iops-read-max=780,throttling.bps-write=4608000,throttling.bps-read-max-length=30,aio=native,throttling.iops-read-max-length=30,throttling.bps-write-max=9437185,index=0,id=virtio0
-device virtio-blk-pci,serial=R8FGNRBTAP1B1EKRKGBE,drive=virtio0
-drive media=cdrom,node-name=cloud-init,index=1,file=/opt/feynman/qemu/compute/mig-test3/cloudinit-429550438.iso,if=ide
-boot order=c
-smbios type=1
-netdev id=ln-0600063325cd,ifname=ln-0600063325cd,script=no,downscript=no,vhost=on,vnet_hdr=on,queues=2,type=tap
-device virtio-net-pci,mac=06:00:06:33:25:cd,mq=on,vectors=6,netdev=ln-0600063325cd
目的地:
-name mig-test3.compute,debug-threads=on
-machine q35,accel=kvm,dump-guest-core=off
-cpu host
-smp cores=1,maxcpus=64
-m maxmem=262144M,size=2048M,slots=32
-mem-path /dev/hugepages
-monitor none
-pidfile /opt/feynman/qemu/compute/mig-test3/pid
-chardev socket,server,id=manager-socket,nowait,path=/opt/feynman/qemu/compute/mig-test3/manager.sock
-mon manager-socket,id=manager-monitor,mode=control
-chardev socket,id=mertics-socket,nowait,path=/opt/feynman/qemu/compute/mig-test3/metrics.sock,server
-mon mertics-socket,id=metrics-monitor,mode=control
-chardev socket,nowait,path=/opt/feynman/qemu/compute/mig-test3/snapshot.sock,server,id=snapshot-socket
-mon snapshot-socket,id=snapshot-monitor,mode=control
-chardev socket,id=ops-qmp-socket,nowait,path=/opt/feynman/qemu/compute/mig-test3/ops-qmp.sock,server
-mon ops-qmp-socket,id=ops-qmp-monitor,mode=control
-chardev socket,nowait,path=/opt/feynman/qemu/compute/mig-test3/ops-rl.sock,server,id=ops-rl-socket
-mon ops-rl-socket,id=ops-rl-monitor,mode=readline
-vnc :623
-chardev socket,id=qemu-guest-agent,nowait,path=/opt/feynman/qemu/compute/mig-test3/guest-agent.sock,server
-device virtio-serial
-device virtserialport,chardev=qemu-guest-agent,name=org.qemu.guest_agent.0
-device pcie-root-port,multifunction=on,slot=4,addr=4.0,chassis=0,id=disk-reserved-pcie.0
-device pcie-root-port,id=disk-reserved-pcie.1,slot=4,addr=4.1,chassis=1
-device pcie-root-port,addr=4.2,chassis=2,id=disk-reserved-pcie.2,slot=4
-device pcie-root-port,addr=4.3,chassis=3,id=disk-reserved-pcie.3,slot=4
-device pcie-root-port,addr=4.4,chassis=4,id=disk-reserved-pcie.4,slot=4
-device pcie-root-port,addr=4.5,chassis=5,id=disk-reserved-pcie.5,slot=4
-device pcie-root-port,addr=4.6,chassis=6,id=disk-reserved-pcie.6,slot=4
-device pcie-root-port,id=disk-reserved-pcie.7,slot=4,addr=4.7,chassis=7
-drive throttling.iops-read=390,file=/opt/feynman/disks/compute/os-2aa293e149614b849f9b0311c39f3706/initial.qcow2,throttling.bps-write-max-length=30,throttling.bps-read-max-length=30,throttling.bps-write=4608000,throttling.bps-write-max=9437185,throttling.iops-write=160,cache=none,node-name=ld-R8FGNRBTAP1B1EKRKGBEMV91R0,if=none,index=0,stats-intervals.0=30,throttling.bps-read=4608000,throttling.iops-read-max-length=30,throttling.iops-write-max-length=30,aio=native,format=qcow2,throttling.iops-read-max=780,throttling.iops-write-max=320,id=virtio0,throttling.bps-read-max=9437185
-device virtio-blk-pci,drive=virtio0,serial=R8FGNRBTAP1B1EKRKGBE
-drive file=/opt/feynman/qemu/compute/mig-test3/cloudinit-429550438.iso,if=ide,index=1,media=cdrom,node-name=cloud-init
-boot order=c
-smbios type=1
-netdev queues=2,script=no,type=tap,vhost=on,vnet_hdr=on,downscript=no,id=ln-0600063325cd,ifname=ln-0600063325cd
-device virtio-net-pci,mq=on,netdev=ln-0600063325cd,vectors=6,mac=06:00:06:33:25:cd
-device host-x86_64-cpu,node-id=0,core-id=0,thread-id=0,id=cpu1,socket-id=1
-object memory-backend-file,mem-path=/dev/hugepages,share=off,discard-data=on,id=mem1,size=2147483648
-device pc-dimm,id=pcdimm1,memdev=mem1
-incoming tcp:172.19.36.133:586a
我热插拔了 1 个 CPU 和 2 GB 的内存。它适用于 Qemu 5.0.0 和 Ubuntu 20.04。我在 Ubuntu 18.04 上的 QEMU 2.11.1 上遇到了这个问题,升级时也遇到了问题。
答案1
我认为这可能是上游提交 fa0cb34d2210cc749b9a70db99bb41c56ad20831 修复的一个旧错误,其中一些内存对象被命名为 /object/name,而不仅仅是 'name'