1

我正在试验 LXD。由于 LXD 应该知道 ZFS 的功能(写时复制等),因此我设置了一个 ZFS 池(由单个专用分区组成)来保存容器。然后我安装了 LXD 并运行“lxd init”。在 init-process 中,我指示 LXD 使用 ZFS,并将其指向现有的 ZFS 池。

然后当我创建一个新容器时,LXD 在 ZFS 池中创建了两个目录:“containers”和“images”。但是,这些目录完全是空的。实际的文件存储在 /var/lib/lxd(在 ext4 分区上,这应该很重要)。

可能我遗漏了一些明显的东西,但是:我在这里遗漏了什么?为什么 LXD 在“init”过程中不使用交给它的 ZFS 池?

4

2 回答 2

0

无法评论原始但有同样的问题。在 lxd init 期间,我选择 ZFS 作为后端,它甚至在我的 zfs 数据集中创建了容器和图像目录。问题似乎是它没有使用它并且仍然存储在 /var/lib/lxd/containers

编辑:发现问题,检查https://github.com/lxc/lxd/issues/1690

“zfs list -t all”,你会看到所有的东西都确实存储在 zfs 中。需要注意那些挂载点。

于 2016-04-25T21:40:48.253 回答
0

我认为可能是您的 lxd 池指向同一个 /var/lib/lxd 在我的情况下池指向 /var/lib/lxd

你能检查一下 zfspool 列表吗

NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
lxd   87.5G  1.09G  86.4G         -     7%     1%  1.00x  ONLINE  -

这是我的情况

drwx--x--x 4 root   root      4096 Sep  1 13:39 .
drwxr-xr-x 9 lxd    nogroup   4096 Sep  4 11:21 ..
lrwxrwxrwx 1 root   root        35 Sep  1 13:39 CDaemon -> /var/lib        /lxd/containers/CDaemon.zfs
drwxr-xr-x 4 231072  231072      5 Aug 18 13:25 CDaemon.zfs
lrwxrwxrwx 1 root   root        42 Sep  1 13:14 GraphiteServer -> /var/lib/lxd/containers/GraphiteServer.zfs
drwxr-xr-x 4 231072  231072      5 Aug 18 13:25 GraphiteServer.zfs
于 2017-09-04T06:26:40.913 回答