【标题描述】standvm虚拟机,大规格虚拟机在压力情况下,来回迁移出现coredump
【环境信息】
单板环境:
两个单板cpu: Intel(R) Xeon(R) Gold 6338N CPU @ 2.20GH
软件信息:
1)OS版本及分支:openEuler 22.03 LTS SP1
2)发现问题的组件版本信息: StratoVirt 2.2.0 的dev分支(2022年12月20日编译)
【问题复现步骤】
x86架构
1 源端: vim s.sh
/home/lucq/stratovirt/target/release/stratovirt \
-machine type=q35,dump-guest-core=off \
-smp 64,sockets=8,cores=4,threads=2 \
-m 32G -kernel /home/lucq/21.09/std-vmlinuxz \
-append root=/dev/vda console=hvc0 reboot=k panic=1 ramdom.trust_cpu=on rw \
-drive file=/usr/share/edk2/ovmf/OVMF_CODE.fd,if=pflash,unit=0 \
-qmp unix:/tmp/s-qmp.socket,server,nowait -D \
-device pcie-root-port,port=0x1,addr=0x1,bus=pcie.0,id=pcie.1 \
-device pcie-root-port,port=0x2,addr=0x2,bus=pcie.0,id=pcie.2 \
-device pcie-root-port,port=0x3,addr=0x3,bus=pcie.0,id=pcie.3 \
-device pcie-root-port,port=0x4,addr=0x4,bus=pcie.0,id=pcie.4 \
-device pcie-root-port,port=0x5,addr=0x5,bus=pcie.0,id=pcie.5 \
-device pcie-root-port,port=0x6,addr=0x6,bus=pcie.0,id=pcie.6 \
-device pcie-root-port,port=0x7,addr=0x7,bus=pcie.0,id=pcie.7 \
-device pcie-root-port,port=0x8,addr=0x8,bus=pcie.0,id=pcie.8 \
-device pcie-root-port,port=0x9,addr=0x9,bus=pcie.0,id=pcie.9 \
-drive id=blk_id1,file=/home/lucq/21.09/openEuler-21.09-stratovirt-x86_64.img,direct=on \
-device virtio-blk-pci,drive=blk_id1,bus=pcie.1,addr=0,id=blk1 \
-netdev tap,id=net_id1,ifname=testap \
-device virtio-net-pci,netdev=net_id1,id=net1,bus=pcie.3,addr=0x0 \
-object rng-random,id=rng_id,filename=/dev/urandom \
-device virtio-rng-pci,rng=rng_id,bus=pcie.5,addr=0x0,id=rng1,max-bytes=1234,period=1000 \
-device virtio-serial-pci,bus=pcie.6,addr=0x0,id=serial1 \
-chardev socket,path=/tmp/s-console.sock,id=virtioconsole1,server,nowait \
-device virtconsole,chardev=virtioconsole1,id=console1 \
-daemonize \
2 对端:vim d.sh
同s.sh相关配置,修改部分配置,添加incoming配置:
-qmp unix:/tmp/d-qmp.socket,server,nowait -D
-chardev socket,path=/tmp/d-console.sock,id=virtioconsole1,server,nowait
-incoming tcp:ip2:4446
3 回迁配置:vim dd.sh
同d.sh相关配置,修改incoming配置
-incoming tcp:ip1:4446
4 vim test-fio.sh
#4.1 randwrite:
fio -filename=fio-file1 -direct=1 -rw=randwrite -bs=4K -size=200M -iodepth=1 -ioengine=libaio -numjobs=1 -group_reporting -name=4K0RW100R1D -output=./4K0RW100R1D.log -time_based -runtime=30
#4.2 randread:
fio -filename=fio-file1 -direct=1 -rw=randread -bs=4K -size=200M -iodepth=1 -ioengine=libaio -numjobs=1 -group_reporting -name=4K0RW100R1D -output=./4K0RW100R1D.log -time_based -runtime=30
#4.3 read:
fio -filename=fio-file1 -direct=1 -rw=read -bs=4K -size=200M -iodepth=1 -ioengine=libaio -numjobs=1 -group_reporting -name=4K0RW100R1D -output=./4K0RW100R1D.log -time_based -runtime=30
#4.4 write:
fio -filename=fio-file1 -direct=1 -rw=write -bs=4K -size=200M -iodepth=1 -ioengine=libaio -numjobs=1 -group_reporting -name=4K0RW100R1D -output=./4K0RW100R1D.log -time_based -runtime=30
复现步骤:
1 echo “/home/lucq *(rw,no_root_squash)” >>/etc/exports(源端执行设置共享存储)
2 service nfs restart
3 mount -t nfs -o soft,timeo=30,retry=3 nfs-ip:/home/lucq /home/lucq (对端挂在共享存储)
4
sh s.sh(单板1)
ncat -U /tmp/s-console.socket (登录虚拟机)(观察这里fio加压情况)
sh test-fio.sh(需要虚拟机有test-fio.sh 文件)
5 sh d.sh(单板2)
6(单板1)
第一次迁移执行:ncat -U /tmp/s-qmp.socket
第二次和之后执行:
ncat -U /tmp/d-console.socket (登录虚拟机)(观察这里fio加压情况)
sh test-fio.sh(需要虚拟机有test-fio.sh 文件)
ncat -U /tmp/d-qmp.socket
执行迁移
{"execute": "migrate", "arguments": {"uri": "tcp:ip2:4446"}}
7 (单板2)
ncat -U /tmp/d-qmp.socket
8 (单板2)
ncat -U /tmp/d-console.socket(观察这里fio加压情况)
9 (单板1)迁移完成后操作
{"execute":"quit"}
sh dd.sh
ncat -U /tmp/d-console.socket(观察这里fio加压情况)
10 (单板2)
虚拟机操作
sh test-fio.sh(需要虚拟机有test-fio.sh 文件)
11 (单板2)
ncat -U /tmp/d-qmp.socket
{"execute": "migrate", "arguments": {"uri": "tcp:ip1:4446"}}
迁移完成后操作
{"execute":"quit"}
12 反复执行5-11相关操作(反复迁移2次或者更多次)
ncat -U /tmp/d-console.socket(每次观察这里fio加压,发现有coredump或者其他错误)
【预期结果】
12 无coredump或者其他错误
【实际结果】
12 有coredump或者其他错误
【出现概率】
出现概率比较大,多次测试复现
【附件信息】
x86:
x86其他可能出现的报错:
arm源端fio加压,迁移一次就异常,如下,不能操作虚拟机:
Hi lcqtesting, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Virt, and any of the maintainers: @朱科潜 , @frankyj915 , @Bin Wu , @ZhiGang , @alexchen , @Chuan , @imxcc , @ZhangBo , @yezengruan , @Xinle.Guo , @limingwang , @sujerry
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
此issue建议分类到X86架构下
登录 后才可以发表评论