OpenShift 虚拟化:无法从 OpenShift Virtualization UI 拍摄虚拟机快照。
摘要: 如果在 OCP 群集中的虚拟机中运行 IO,则通过 OpenShift 虚拟化 UI 创建虚拟机快照将失败。
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
症状
通过 OpenShift 虚拟化 UI 创建虚拟机快照失败。
检查 virt-handler pod(openshift-cnv 命名空间)的日志,显示如下错误:
检查 virt-handler pod(openshift-cnv 命名空间)的日志,显示如下错误:
2023-08-14T02:23:33.722372232Z {“component”:“virt-handler”,“kind”:“”,“level”:“error”,“msg”:“无法冻结 VMI”,“name”:“rhel9-vm-http-block”,“
namespace”:“rhel-vm”,“pos”:“lifecycle.go:124”,“reason”:“server error.
command Freeze failed:\“LibvirtError(Code=1, Domain=10, Message='internal error: unable to execute QEMU agent command 'guest-fsfreeze-freeze':
failed to open /zoner/sda:权限被拒绝')\“”,“timestamp”:“2023-08-14T02:23:33.722321Z”,“uid”:“c6894dc7-f29c-43e7-9817-3b12643040d1”}
namespace”:“rhel-vm”,“pos”:“lifecycle.go:124”,“reason”:“server error.
command Freeze failed:\“LibvirtError(Code=1, Domain=10, Message='internal error: unable to execute QEMU agent command 'guest-fsfreeze-freeze':
failed to open /zoner/sda:权限被拒绝')\“”,“timestamp”:“2023-08-14T02:23:33.722321Z”,“uid”:“c6894dc7-f29c-43e7-9817-3b12643040d1”}
原因
通过 OpenShift Virtualization 创建虚拟机时,所创建 LUN 中的装载点未标记为受信任。因此,在虚拟机快照过程中,QEMU 代理无法打开挂载点(在本知识库文章中,挂载点是 /zoner/sda),并且在尝试执行 fsfreeze 时权限被拒绝。
解决方案
以下解决步骤假定“/zoner/sda”作为装载点。
请使用“df -h”命令并检查错误日志,以确认虚拟机的实际错误报告装载点。
1.通过以下命令确认装载点的 SELinux 上下文显示“unlabeled_t”:
# ls -lZd /zoner/sda/
2.如果它显示“unlabeled_t”,则有两个解决方法。
- 选项 1:启用 QEMU 代理程序以读取未标记的文件。
# setsebool -P virt_qemu_ga_read_nonsecurity_files 1
- 选项 2:标记装载点。
# restorecon -v /zoner/sda/
受影响的产品
APEX Cloud Platform for Red Hat OpenShift文章属性
文章编号: 000217270
文章类型: Solution
上次修改时间: 18 9月 2026
版本: 4
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。