我正在寻找一个好的解决方案来将/home
我的 Debian Linux 系统备份到USB存储棒大小为 128 GB。该目录/home
大约有 65 GB,格式为 ext4。自然,对于这些文件,我希望备份它们的权限,并将软链接保留为软链接。此外,一些文件的名称超出了 ASCII 范围,包括德语变音符或西里尔字母。中没有硬链接/home
,我没有使用扩展属性,也不关心最后访问时间。(但是,该目录/home/〈username〉/.mozilla
显然包含具有扩展属性的文件或套接字等非常规文件,因此,为了便于处理,我想完全备份这些文件所在的整个目录,或者不备份所有文件。)备份平均每周进行一次,并且很可能是增量备份。每月一次,我会使用不同 Linux 机器上的记忆棒传输文件,因此备份中的文件树应该与中的相同/home
。
我之前的解决方案是在(不同的)USB 驱动器上使用 ext4,但出现了一些难以重现和调试的问题:如何在 ext4 中删除具有虚假权限和所有者的文件?,USB 闪存上的 ext4 失败。因此,我想给出一些其他文件系统试一试。哪一个合适?主要目标是稳定性、Linux 内核和工具的长期支持以及存储元数据。次要目标是低维护:我不想“偶尔”调用一些手动操作(例如碎片整理、修剪等)。第三目标可能是低磨损。第四目标可能是诸如读取缓存、写入缓存和透明压缩之类的噱头。第五目标是 Windows 10 的可用性。
答案1
文件系统
看来你的经历很糟糕ext4
,但正如你所看到的这里大多数 Linux 发行版都信任该ext4
文件系统。
因此就长期稳定性和支持而言,这可能是最好的文件系统。
btrfs
不太成熟,但有一些非常有趣的备份功能(快照和快照之间的差异)。btrfs
甚至支持透明压缩。当源和目标都是时btrfs
,您可以轻松地在btrfs
,这里有一些有趣的阅读材料:btrfs 上的增量备份。
在移除 USB 驱动器之前最好先卸载。
穿
闪存磨损是由于闪存扇区上可以进行的擦除次数有限。写入数据时必须擦除扇区。如果您计划每周更新一次备份,我不会特别担心闪存磨损。
您可以通过以下方式减少闪存磨损:
- 不将访问时间写入文件系统(
noatime
)挂载选项 - 使用实用程序仅写入已更改的内容(
rsync
)。
rsync
并且noatime
还会大大加快备份速度。
我还建议在未安装时物理弹出驱动器,因为我看到一些 USB 记忆棒即使未使用也会变得非常热。
缓存和压缩
您关于(写入)缓存的问题可能是因为 Windows 默认不启用可移动媒体上的写入缓存,但 Linux 启用了。读取缓存始终处于启用状态(除非您将标志O_DIRECT
与open
功能)。如果您只为了读取/写入备份而插入磁盘,那么缓存可能不是一个非常重要的功能。
现在关于(透明)压缩,它可能会增加磨损,因为即使是一个很小的变化也会改变整个档案。
Windows 10
ext2fsd可用于在 Windows 上挂载 ext4 分区,并且文件系统用于 btrfs 分区。
结论
选择您熟悉的文件系统。如果snapshot
和的概念btrfs send | btrfs receive
似乎晦涩难懂,请选择老牌的 rsync 而不是 ext4。
备份解决方案中真正重要的部分是你自己去做和定期测试。