108 Star 476 Fork 238

GVPopenEuler / stratovirt

 / 详情

[22.03 LTS SP1][x86][migrate性能缺陷]standvm虚拟机,大规格虚拟机在压力情况下,来回迁移出现coredump

待办的
缺陷
创建于  
2022-12-21 15:50

【标题描述】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加压,迁移一次就异常,如下,不能操作虚拟机:
输入图片说明

评论 (2)

badman 创建了任务

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

openeuler-ci-bot 添加了
 
sig/Virt
标签
badman 修改了描述
badman 修改了标题
badman 修改了描述
badman 任务类型任务 修改为缺陷
朱科潜 负责人设置为李华超

此issue建议分类到X86架构下

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
5329419 openeuler ci bot 1632792936
1
https://gitee.com/openeuler/stratovirt.git
git@gitee.com:openeuler/stratovirt.git
openeuler
stratovirt
stratovirt

搜索帮助