适用于Linux的大文件(备份)的岩石稳定文件系统


18

哪种文件系统最适合备份?我对稳定性(尤其是在硬重启期间文件的不可破坏性等)感兴趣,但它如何有效地处理大型(> 5GB)文件也很重要。

另外,我应该使用哪些安装参数?

内核是Linux> = 2.6.34。

编辑:想要备份方法。我需要文件系统来存储它们。


您每天,每周,每月备份多少数据?您计划保留多少数据,以及保留多长时间?
Stefan Lasiewski,2010年

一定是Linux吗?您是否在FreeBSD 8.1上考虑过ZFS(较旧的稳定版本14)?
Stefan Lasiewski,2010年

它是笔记本电脑的临时备份存储-直到将其发送到外部硬盘驱动器。从FreeBSD开始-尽管它是一个很棒的系统,但它不适合我在此应用程序中使用。
Maciej Piechotka,2010年

Answers:


13

您可以使用ext4,但我建议使用journal_data模式挂载,该模式将关闭dealloc(延迟分配),这会引起一些较早的问题。禁用dealloc将使新数据的写入速度变慢,但是在电源故障的情况下进行写入的可能性较小。我还应该提到,您可以不使用而禁用deallocjournal_data它具有其他一些好处(或者至少在ext3中有好处),例如读取略有改善,并且我相信恢复会更好。

范围仍然会有助于碎片化。范围使大型文件的删除比ext3快得多,在ext4上删除任何大小的数据(单个文件)应该几乎是瞬时的,但在ext3上可能要花很长时间。(基于任何程度的FS都有此优势)

ext4也fsck比ext3快。

最后一点,在ext4中有错误修正,直到2.6.31?我基本上会确保您没有运行2.6.32之前的LTS内核。


如果选择“坚如磐石”,ext4则有必要考虑与之相关的优缺点和风险on disk layout,从而考虑静态数据安全(此处介绍的一个方面)
humanityANDpeace

5

XFS坚如磐石,已经存在了很多年。检查xfs_freeze之类的工具,看看是否正是您所需要的。我知道这是非常主观的,但是多年来我一直使用XFS进行数据存储,而没有发生任何意外。


2
根据我的回答,我想指出XFS是基于范围的,并且具有与ext4相同的许多优点。但是,我想提及的是,它在ext4方面也存在与dealloc相同的问题,这可能会在插拔方案中导致数据丢失。我不知道是否可以在XFS中禁用dealloc。
xenoterracide 2010年

是的,我不确定是否可以禁用该功能,但是xfs_freeze实用程序可确保稳定的磁盘映像。从手册页:-f标志请求从新的修改中冻结指定的XFS文件系统。选择此选项后,文件系统中所有正在进行的事务将被允许完成,新的写系统调用将被暂停,其他修改文件系统的调用将被暂停,所有脏数据,元数据和日志信息都将写入磁盘。任何尝试写入冻结文件系统的进程都将阻止等待文件系统被冻结。
dsp 2010年

只要刷新有效,我就不太担心文件的中间写入损坏。
Maciej Piechotka

3

只需使用支持校验和的备份工具即可。例如Dar做到了,它支持增量备份。然后,您可以备份到坚如磐石的文件系统,例如ext3。

对于备份,您需要坚如磐石/非常稳定的东西。而btrfs或ZFS今天根本还没有准备好。


我将其视为ext3
Maciej Piechotka

0

btrfs具有对写入磁盘的数据进行透明的校验和,并且始终保持快速的有序写入模式(以及许多其他对备份友好的功能),这使其很适合进行备份。有关更多详细信息,请参见https://btrfs.wiki.kernel.org/index.php/Main_Page


嗯 尽管将来可能是一个很好的答案,但我认为btrfs或zfs目前在Linux上并不稳定。
Maciej Piechotka

我有内核用户向我推荐的btrfs。最后,我知道Mercurial维护人员正在至少一台机器上全职运行它。我每天都通过FUSE使用ZFS,如果由于FUSE有点慢,它会坚如磐石。
durin42年

1
磁盘格式上的btrfs尚不稳定...除非有所改变,否则我不建议您使用它。内核程序员可以运行各种疯狂的事情。
xenoterracide

ZFS可能很稳定...但是由于FUSE的原因,我不会理会它。
xenoterracide 2010年

1
FUSE上的ZFS是一个黑客。这可能是一个不错的技巧,对于您的关键业务数据,我不信任它。此外,基于FUSE的ZFS还会出现一些速度问题,并且在备份TB级数据时,速度至关重要。
Stefan Lasiewski,2010年

0

我在其他答案中没有看到的一个非常重要的方面是文件系统的磁盘布局稳定性(例如,考虑咨询可能的候选文档ext4btrfs)。

虽然代码库和代码库文件系统驱动程序的测试数量确实很重要,正如其他答案所表明的那样,但由于它是在读写过程中对数据保护,因此磁盘上的布局/格式是针对数据风险的保护措施处于静止状态,这是硬件缺陷的形式,例如无法读取的扇区或静默位腐烂

关于ext4,据称具有良好特性的是经过长期测试的代码库(https://events.static.linuxfound.org/sites/events/files/slides/AFL%20filesystem%20fuzzing%2C%20Vault%202016_0。 pdf显示在其中发现错误所花的时间比在更现代和更复杂的方法中花费的时间更长btrfs),我已经研究了ext4持久性发现了其他被称赞的文件系统的缺陷。

我认为使用开发人员提供的工具来提高可恢复性(尽管“强化”)是谨慎的(如果选择ext4为“ 坚如磐石的备份fs ”)e2imageext4

e2image程序会将设备上的关键ext2,ext3或ext4文件系统元数据保存到image-file指定的文件中。通过对那些程序使用-i选项,可以由dumpe2fs和debugfs检查映像文件。这可以帮助专家恢复灾难性损坏的文件系统。将来,e2fsck将得到增强,使其能够使用映像文件来帮助恢复严重损坏的文件系统。

推荐

为系统上的所有文件系统创建映像文件并定期在启动时和/或每周或所以。映像文件应存储在其数据所在的文件系统以外的其他文件系统上,以确保在文件系统受到严重损坏的情况下可以访问此数据。

考虑到甚至ext4 磁盘布局上的所有元数据都没有提供冗余(即,超级块作为副本多次存储,仅将indo存储在精确的1个位置),因此ext4肯定btrfs会至少提供以下内容的校验和:所有元数据+ 文件内容数据

为了抵消这种“缺点” ext4并使它在磁盘布局rock-solid方面变得更多,可以合理地通过/ parchive补充这种冗余和文件内容的恢复。par2

尽管该问题要求将重点放在文件系统解决方案上,但我想提请注意,文件系统提供的大多数功能(缓存,日志,回收分配的空间,分配的块等)不一定会使备份数据受益仅在批量阅读和阅读时才需要阅读大量内容。为此,我将考虑使用parchive补充tar备份作为更理想的备份解决方案,因为该过程中使用的代码库减少了,因此,如果“功能”较少,错误也将减少。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.