将KVM的虚拟机存储到NAS上

基础知识#

阅读之前你需要知道的知识和软件包括 ### 知识点 + KVM的基础使用 + NAS的基础使用 + 熟悉shell的mount命令 + 常用的磁盘格式

软件#

  • KVM
  • cifs-utils
  • 任意系统的.iso文件

前言&背景(一些牢骚)#

最近由于主力机损坏,于是启动了备用的Ubuntu主机,由于这个主机的磁盘只有256G,在必须使用Windows的场景下使用KVM作为虚拟机。
众所周知,Windows的各种软件和系统本身都比较大,所以笔者想着:是否可以把虚拟机整体都扔进NAS里?于是便有了如下的坑、弯路和填坑的过程

第一个坑——KVM使用NAS挂载点的权限问题#

当我选择新建虚拟机,并且想把NAS目录作为虚拟机安装目录时发生了这个问题
直觉上来讲,可能是运行KVM的权限不够,导致了这个问题,所以首先我用sudo virt-manager命令,尝试将KVM管理GUI的权限提到ROOT级,然而即使用ROOT权限运行,还是得到同样的报错。 经过一番搜索,发现libvirtd这个服务的默认用户,和系统的当前用户是不同的,需要修改/etc/libvirt/qemu.conf中的user =以及group =才会生效。 但是,始终用ROOT权限运行KVM始终是不够优雅,最终解决方案是,手动设置NAS挂载点,并指定挂载点的uid,具体命令: mount -t cifs -o username=<nas user>,vers=3.11,nobrl,uid=libvirt-qemu //<nas domain>/<nas path> /<path>/<your>/<store> 解决方式原文链接

第二个坑——手动挂载NAS时,磁盘类型问题#

手动挂载NAS可能会遇到上图所示的错误,这是因为/sbin/mount.cifs没有被创建(可以运行ls -l /sbin/mount.cifs检测)。运行安装sudo apt install cifs-utils可以解决.

解决方式原文链接

至此,再度使用KVM的GUI去设置虚拟机的安装目录,就不会有权限问题了,需要注意的是,安装目录需要选择的是,挂载命令中 /<path>/<your>/<store>的部分,不能使用系统自动发现的部分,否则还是会出现权限的问题。

Author

Ashes Born

Posted on

2022-04-27

Updated on

2024-03-23

Licensed under

Kommentare