共计 940 个字符,预计需要花费 3 分钟才能阅读完成。
更新系统后,虚拟机 r2g33qv4 启动失败,原因:磁盘文件打开异常 解决方案总结
https://club.fnnas.com/forum.php?mod=viewthread&tid=65945
(出处: 飞牛私有云论坛 fnOS)
一、故障环境
系统:Autsun-fnOS 6.18.18.c788-trim 虚拟化:libvirt + qemu,虚拟机名称 r2g33qv4 磁盘路径:/vol2/vm/pool/b5cacfbd-8f75-4aae-9a07-477a5df3668d-4z4y.qcow2 故障触发:系统更新后无法启动虚拟机,持续报 Permission denied 无法打开磁盘
二、故障根因分层
- 顶层目录权限彻底锁死
/vol2权限为d---------(000),任何用户无进入、读取权限;下级/vol2/vm、/vol2/vm/pool也仅 root 私有,libvirt-qemu 用户无法逐层遍历目录。 - 磁盘文件权限过严 qcow2 文件权限
-rw-------(600),仅属主可读,同组 / 其他无权限,叠加 fnOS 内置 AppArmor 安全限制,普通 qemu 用户被拦截。 - 系统更新重置 libvirt 配置 更新后
/etc/libvirt/qemu.conf恢复默认,qemu 以libvirt-qemu低权限用户运行,无法访问 fnOS 外置存储/vol2。
三、分步修复操作(按执行顺序)
- 修复全层级存储目录遍历权限
sudo chmod 755 /vol2
sudo chmod 755 /vol2/vm
sudo chmod 755 /vol2/vm/pool
- 放宽虚拟机磁盘文件权限,确认归属正确
sudo chmod 640 /vol2/vm/pool/b5cacfbd-8f75-4aae-9a07-477a5df3668d-4z4y.qcow2
sudo chown libvirt-qemu:libvirt-qemu /vol2/vm/pool/b5cacfbd-8f75-4aae-9a07-477a5df3668d-4z4y.qcow2
- 重启 libvirt 服务加载新权限配置
sudo systemctl restart libvirtd
- 启动虚拟机,故障解决
sudo virsh start r2g33qv4
正文完