无法使用 lvmcache 在 lvm 上关闭 LUKS

无法使用 lvmcache 在 lvm 上关闭 LUKS

我有一个 CENTOS borgbackup 服务器。所有事务均通过 SSH 在绑定安装的 chroot 监狱内完成。大多数细节可能是不必要的,但我认为一些背景信息可能会有所帮助。

我在 LUKS 容器之上有一个 XFS 文件系统,在 raid1 LVM 之上,有两个 3TB 旋转磁盘支持 raid 阵列。当用户登录到他们的 chroot 监狱时,pam_exec 打开他们的 LUKS 容器并安装他们的备份分区,当他们注销时,pam_exec 卸载然后关闭容器。一般来说,这一直运行得很好。似乎安装和卸载。 rootfs 位于一个相当大的 SSD 上。我打算按照各个地方列出的说明将 lvmcache 添加到 VG。由于 lvmcache 是基于块的,我认为块是明文还是加密的并不重要。我将缓存设置为 writethrough,以确保缓存已刷新到磁盘,然后尝试使用它。不幸的是,使用 lvmcache,无法关闭 LUKS 容器,因为 cryptsetup 关闭失败且设备被列为繁忙。这是有意的行为吗?我还尝试使用“更干净”的缓存策略强制刷新缓存,然后关闭 LUKS 容器。这也失败了。仅当从 VG 中删除 lvmcache 后,LUKS 容器才会关闭。

这是有意的行为吗?我假设缓存将 FS 标记为脏,从而阻止 cryptsetup 关闭它,但如果 lvmcache 在块上运行,为什么会这样呢?一旦缓存刷新到磁盘,它就不应该是脏的,对吧?

我在这里错过了什么吗?

相关内容