LXD 没有将图像存储在 ZFS 中

LXD 没有将图像存储在 ZFS 中

我使用现有的 ZFS 池配置了 LXD。然后我创建了一个容器,该容器运行正常。LXD 知道 ZFS 存储,因为它在那里创建了两个目录:容器和图像。此外,“lxc info”显示 ZFS 池名称。

但是,ZFS 池中的目录是空的。实际文件已存储在 /var/lib/lxd 中。

我在这里遗漏了什么?

答案1

对于容器来说,它看起来是这样的:

root@nsn7:~# zfs list -r nsn7/lxd/containers
NAME                                     USED  AVAIL  REFER  MOUNTPOINT
nsn7/lxd/containers                     2,95G   259G    19K  /nsn7/lxd/containers
nsn7/lxd/containers/lds-xenial          2,68G   259G  3,16G  /var/lib/lxd/containers/lds-xenial.zfs
nsn7/lxd/containers/maas-trusty          214M   259G   214M  /var/lib/lxd/containers/maas-trusty.zfs
nsn7/lxd/containers/maas-trusty-virbr1  57,0M   259G   570M  /var/lib/lxd/containers/maas-trusty-virbr1.zfs

观察每个 zfs 数据集的挂载位置,上面和此输出中特别要求与挂载相关的选项:

root@nsn7:~# zfs get all nsn7/lxd/containers/maas-trusty|grep mount
nsn7/lxd/containers/maas-trusty  mounted               yes                                      -
nsn7/lxd/containers/maas-trusty  mountpoint            /var/lib/lxd/containers/maas-trusty.zfs  local
nsn7/lxd/containers/maas-trusty  canmount              on                                       default

答案2

我一开始就亲眼看到了这一点,让 LXD 为我设置 ZFS 分区,然后返回其中设置挂载点,但正如你所说它是空的。

您已经得到了 Andreas 提供的答案(并且您应该接受它),但如果它不明显的话,仅供澄清:

LXD 将各个路径挂载到与使用 DIR 时相同的位置 -/var/lib/lxd/(containers/images)并且在您设置的 ZFS 池的根目录下设置挂载点将不会让您像在“传统”FS 上期望的那样看到这些文件夹。

第一次看的时候并不完全清楚,但它确实按预期工作。

相关内容