【环境信息】
软件信息:
1) OS版本及分支:openEuler-22.03-LTS-SP1
2) 内核信息:5.10.0-126.0.0.66.oe2203sp1.aarch64
3) 发现问题的组件版本信息:stratovirt-2.1.0-6.oe2203sp1.aarch64
如果有特殊组网,请提供网络拓扑图
【问题复现步骤】
具体操作步骤
在物理机上执行
1.yum install stratovirt nc -y
2.wget http://121.36.84.172/dailybuild/EBS-openEuler-22.03-LTS-SP1/Alpha_openeuler-2022-11-23-19-40-46/stratovirt_img/aarch64/EBS-openEuler-22.03-LTS-SP1-stratovirt-aarch64.img.xz
wget http://121.36.84.172/dailybuild/EBS-openEuler-22.03-LTS-SP1/Alpha_openeuler-2022-11-23-19-40-46/stratovirt_img/aarch64/vmlinux.bin
3.xz -d EBS-openEuler-22.03-LTS-SP1-stratovirt-aarch64.img.xz
4.启动虚拟机
/usr/bin/stratovirt -kernel /root/vmlinux.bin -append console=ttyS0 root=/dev/vda reboot=k panic=1 -drive file=/root/EBS-openEuler-22.03-LTS-SP1-stratovirt-aarch64.img,id=rootfs,readonly=false -device virtio-blk-device,drive=rootfs,id=blk1 -qmp unix:/tmp/stratovirt.socket,server,nowait -serial stdio -D stra1.log
5.登录虚拟机
物理机打开另一窗口执行
1.ncat -U /tmp/stratovirt.socket
2.停止虚拟机:{"execute":"stop"}
3.制作快照:{"execute":"migrate", "arguments":{"uri":"file:/root/tempfile"}}
出现概率(必现)
【预期结果】
执行成功,返回: {"return": {}}
【实际结果】
执行失败,虚拟机挂掉
【附件信息】
Hi ga_beng_cui, 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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
问题根因:
因为stratovirt使用系统调用白名单过滤机制,使用qmp命令连接管理stratovirt,出现bad systemcall系统调用被拦截问题。被拦截的系统调用是madvise free。
解决方案:
dev分支的stratovirt已修复该问题(增加系统调用白名单),从dev分支把patch回合到22.03-LTS-SP1分支。
使用最新版本已验证,无此问题
登录 后才可以发表评论