我已经使用 ZFS 设置在我的服务器上安装了新的 Ubuntu 20.04。
一切运行良好,但我看到一些奇怪的事情。
zsys-gc
并且zsys-commit
服务因此错误而被标记为失败
level=error msg="rpc error: code = DeadlineExceeded desc = context
deadline exceeded"
我的磁盘使用空间不断增长,我有数百个快照和克隆的文件系统rpool
。我知道zsys
自动快照仍在开发中,我不太在意,因为我可以在需要时手动创建快照。问题是我无法删除所有这些快照,因为它们链接到克隆的文件系统,我真的不明白为什么 Ubuntu 不断创建新的克隆文件系统。所有这些文件系统都在文件系统下rpool/ROOT/ubuntu_093s22/var/lib
例如:
rpool/ROOT/ubuntu_093s22/var/lib/001e8858fabddf7a79270efe28da048d73a67812a478bba5cbd866a64ebfa2f6
rpool/ROOT/ubuntu_093s22/var/lib/001e8858fabddf7a79270efe28da048d73a67812a478bba5cbd866a64ebfa2f6-init
等等....
其中没有一个是自动取款机安装的。
销毁这种克隆的文件系统应该是安全的吗?
Ubuntu 在 var/lib 目录中创建了数百个子克隆文件系统但没有一个被挂载,这很正常吗?
答案1
这不是 ubuntu,但可能您已安装 docker,它会为您创建它们。您应该删除 zfs 集成(不确定默认情况下这会带来什么,他们的 wiki 页面并没有真正列出好处:https://docs.docker.com/storage/storagedriver/zfs-driver/)。几周后,对 repo 中默认 ubuntu docker 包的修复将创建 rpool/var/lib/docker,以便它们在那里创建为持久数据集。(rpool/var
并且rpool/var/lib
将具有 canmount=off)。
如果您从我的测试中删除容器docker rm
(包括已停止的容器),它们将被删除。
请在 docker 本身上提交错误,以便用户可以调整,并且他们解释这会带来什么好处(也可以更改他们的默认分布以具有持久的 rpool/var/lib)。