KVM 无法访问外部 HDD 上存储的 qcow2 图像 - 所有解决方案均不起作用

KVM 无法访问外部 HDD 上存储的 qcow2 图像 - 所有解决方案均不起作用

我正在运行 RHEL 7.8,并且还遇到 KVM 访问外部 HDD 的问题。

找到上面的文章后,我做了所有的解决方案,但没有成功......

解决方案“自动修复权限”非常有希望(我之前自己尝试过“mount /mnt”解决方案,但它不起作用),是的,它说它将修复权限,我单击了“是”。然而点击Finish后,仍然报错结束:

Unable to complete install: 'internal error: process exited while connecting to monitor: 2020-08-24T04:24:09.396742Z qemu-kvm: -drive file=/run/media/root/My Passport/vHMC_91910/disk1.img,format=raw,if=none,id=drive-virtio-disk0: could not open disk image /run/media/root/My Passport/vHMC_91910/disk1.img: Could not open '/run/media/root/My Passport/vHMC_91910/disk1.img': Permission denied'

Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 89, in cb_wrapper callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/create.py", line 2552, in _do_async_install guest.start_install(meter=meter)
File "/usr/share/virt-manager/virtinst/guest.py", line 495, in start_install doboot, transient)
File "/usr/share/virt-manager/virtinst/guest.py", line 431, in _create_guest domain = self.conn.create
File "/usr/lib64/python2.7/site-packages/libvirt.py", line 3715, in createXML if ret is None:raise libvirtError('virDomainCreateXML() failed', conn=self)

libvirtError: internal error: process exited while connecting to monitor: 2020-08-24T04:24:09.396742Z qemu-kvm: -drive file=/run/media/root/My Passport/vHMC_91910/disk1.img,format=raw,if=none,id=drive-virtio-disk0: could not open disk image /run/media/root/My Passport/vHMC_91910/disk1.img: Could not open '/run/media/root/My Passport/vHMC_91910/disk1.img': Permission denied 

在找到那篇文章之前,我尝试在互联网上搜索并找到一些建议设置 ACL 的内容,所以我就这么做了。

然而,它仍然失败,权限被拒绝! (我尝试一一添加用户和组,用户nobody是我最后尝试的一个。)

[root@oc3524418742 ~]# setfacl -m u:nobody:rx /run/media/theeraphong/
[root@oc3524418742 ~]# getfacl /run/media/theeraphong/
getfacl: Removing leading '/' from absolute path names
file: run/media/theeraphong/
owner: root
group: root
user::rwx
user:nobody:r-x
user:qemu:r-x
user:kvmuser:r-x
user:theeraphong:r-x
group::---
group:kvm:r-x
group:qemu:r-x
group:libvirt:r-x
mask::r-x
other::rwx

非常感谢你,Theeraphong T.

答案1

virtmanager 仅查找并接受默认存储池。它通常位于 /var/lib/libvirt/images/ 中。根据您的设置,您可以更改/或者设置另一个默认存储库,引导您的外部磁盘。权限实际上对于执行并不重要 - 只是为了安全

答案2

这些池可能在 .xml 文件中定义。名为“Default”的池在某处有文件“Default.xml”,根据您的需要编辑此文件。

答案3

再看看链接,我已经为你提交了。否则,您使用第一个搜索结果https://www.google.com/search?q=virsh%20add%20another%20pool

Virsh add Pool

11.1. 3.1.使用 virsh 创建基于目录的存储池 创建存储池定义。使用 virsh pool-define-as 命令定义新的存储池。 ...验证存储池是否已列出。 ...创建本地目录。 ...启动存储池。 ... 打开自动启动。 ...验证存储池配置。

第 11 章. 存储池 - Fedora Documentationdocs.fedoraproject.org › en-US › Fedora › html › chap...

相关内容