我目前正在使用在树莓派上运行的小型 Ubuntu 服务器来为我的网络提供一些服务。为了延长 SD 卡的使用寿命,我尝试使用 overlay-fs(请参阅这里例如)。我找到了一个非常好用的即用型软件包“overlayroot”。这个软件包运行良好,但由于我想使用 tmpfs 作为上层,因此我需要定期备份上层(备份到外部存储,如 NAS 或其他 PC)。
由于上层文件系统就像一个增量备份,我非常喜欢将下层保存在某处,然后仅保留上层的每日备份的想法。
我进行了一些测试 - 当我删除下层中的文件时,上层会创建一个特殊文件,标记该文件的删除。上层的 tar 存档正确地打包了该文件并再次解包 - 问题是,这不能“即时”工作,这意味着在已安装 overlayfs 的情况下解包上层的存档。当我尝试执行此操作时,会出现有趣的错误,这表明内核没有注意到对上层文件系统所做的所有更改。(当您尝试同样的事情时前安装覆盖层后,它就像魔法一样工作!)
我的问题是,是否有人知道如何动态地从 tar 存档中“恢复”文件系统(因为无法卸载根文件系统......)当然,我可以将恢复挂载到 initramfs-tools 中的某个地方(rootfs 被挂载的地方) - 但我真的不喜欢摆弄它......还有其他选择吗?