关键字
接管演练、qemu、Permission denied
适用产品
AnyBackup 6.0.25 - 6.0.28 软件版( Apollo OS)
问题描述
在 KVM 应用容灾任务进行接管或者演练操作生成虚拟机后,进入虚拟机管理页面,点击启动,提示如下错误信息:
执行接管演练虚拟机操作失败
附加信息:启动虚拟机()失败,错误信息:Cannot access storage file ‘'(as uid:107,gid:107):Permission denied)
问题影响
接管演练任务生成的虚拟机无法启动。
问题原因
启动接管演练任务生成的虚拟机时,AnyBackup 会使用 qemu 用户访问虚拟机磁盘文件,如果 qemu 用户对文件无读写执行权限,会导致虚拟机启动失败。
解决方案
方案一,修改 /etc/libvirtd/qemu.conf 配置文件,重启 libvirtd 服务
1. 通过 SSH 工具登录 AnyBackup 操作系统,执行以下命令,备份 qemu.conf 文件。
cp -a /etc/libvirt/qemu.conf /etc/libvirt/qemu.conf.backup
2. 执行以下命令编辑 qemu.conf 文件,按 i 进入编辑模式,增加以下内容,添加完成后按 Esc 键,输入 :wq 保存退出。
user=root
group=root
3. 执行以下命令,重启 libvirtd 服务。
service libvirtd restart
4. 登录 AnyBackup 管理控制台,重新启动虚拟机。
方案二,修改 DR 卷挂载目录权限,使 qemu 用户对虚拟机磁盘文件有读写执行权限
1. 查看DR 卷的挂载路径。
方法一,通过 SSH 工具登录 AnyBackup 操作系统,执行以下命令,确认并记录 DR 卷挂载路径,如下图所示,DR 卷的挂载路径为 /dr1。
cd /sysvol/node
ls -l
方法二,登录 AnyBackup 管理控制台,依次点击设备管理 > 介质服务器 > 卷管理,查看并记录 DR 卷的存储路径。
2. 通过 SSH 登录 AnyBackup 操作系统,执行以下命令,赋予 qemu 用户对 DR 卷的读写执行权限。
chmod -R 777 /sysvol/node
chmod -R 777 /dr1
3. 登录 AnyBackup 管理控制台,重新启动虚拟机。
更多信息
关于 qemu 的更多介绍,请参考 qemu 官方网站:qemu。