KVM 无法访问存储在外部 HDD 上的 qcow2 图像

Wey*_*van 5 kvm external-hdd qemu disk-image

我正在运行 Deepin 15.3 x64,并且我有一个带有 EXT4 文件系统的外部硬盘。我在哪里存储诸如虚拟机映像之类的东西。Oracle VM VirtualBox 和 VMware Workstation Player 在此配置下工作得很好,但 KVM 无法从中读取文件。我尝试在整个驱动器上 chown 文件、容器目录甚至 chmod -R 0777 。但KVM仍然抱怨无法访问该目录。不过,KVM 可以在那里创建映像,但映像文件创建后 KVM 将无法访问该文件。是一个视频(如果有不清楚的地方)。请注意,我无法将图像移动到 /var/lib/libvirt/images,因为我的 SSD 上没有足够的空间来容纳它们。

Gor*_*ter 1

我遇到的问题是我的系统(Fedora 27)自动将新驱动器(外部 HDD、USB、SD)安装到

/run/media/(username)/(device name)

无论出于何种原因,这都会导致权限问题。我解决这个问题的方法是以 root 身份从该位置卸载驱动器,然后将其安装到/mnt. 我的 USB 拇指驱动器位于/dev/sdc1我的系统上,因此我执行了以下操作。

# su  -     (then enter root password)
# umount  /run/media/yourusername/devicename
# mount  /dev/sdc1 /mnt        (mount usb to /mnt)
Run Code Online (Sandbox Code Playgroud)

之后,我只是确保有从 qcow2 驱动器的原始位置到新位置的符号链接(仍然是 root)

# cd  /var/lib/libvirt/images
# ln  -s  (new target)  (link name)   
Run Code Online (Sandbox Code Playgroud)

因此,如果您的虚拟机名为 MyVM

# ln  -s  /mnt/Myvm.qcow2  MyVm.qcow2
Run Code Online (Sandbox Code Playgroud)

当我看到我的虚拟机现在正在工作时,我进行编辑/etc/fstab以自动将驱动器安装在/mnt. 文件夹和 qcow2 驱动器归我的标准用户帐户和组所有。我确信有更好的方法可以做到这一点,但这对我有用。