我使用现有的 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 上期望的那样看到这些文件夹。
第一次看的时候并不完全清楚,但它确实按预期工作。