外部硬盘驱动器上的XFS或ext4


8

我有一个外部硬盘驱动器,我想在上面备份文件。

XFS和ext4之间的哪个文件系统将是最快在硬盘上写入数据的系统?

Answers:


8

让我把实际的答案扔进去:ext4。除了极端情况(例如,成千上万个小文件的大量删除)外,与XFS相比,您不会看到任何读/写差异。

您还可以在AskUbuntu之类的地方找到对ext4的更多社区支持,这仅仅是因为它被广泛使用。

XFS的一个显着缺点是无法缩小(减小分区大小),因此,如果您想减小XFS分区大小,则必须进行备份,重新分区/重新格式化,还原。


XFS有数据损坏检测功能吗?
endlith's

1
@endolith no XFS没有数据损坏检测。您可以格式化(或激活)元数据损坏检测(通过CRC,请参阅man7.org/linux/man-pages/man8/mkfs.xfs.8.html中的同义标志)。这仅用于检测,但通常可以修复/重建元数据。此功能有助于XFS检测原本无声的损坏。
惠更斯(Huygens)

7

ext4

那是我在2012年的建议,也是我在2017年的推荐FS。此文件系统非常成熟,支持加密(从2017年开始需要最新内核),并且足够快,足以应付外部硬盘驱动器(甚至外部SSD)上的大多数工作负载),这也是关于数据安全性的非常安全的选择。这是一个重要因素,尤其是当您拥有外部硬盘时,它的保护性不如内部硬盘。

例如,在笔记本电脑上,即使插上电源,您仍然有电池,因此内置驱动器非常安全。但是,外部插入的硬盘容易断开连接,例如:笔记本电脑起床而忘记了附带的驱动器。

XFS文件

为许多企业工作负载以及某些台式机工作负载提供良好的性能。这些边缘情况可能在外部USB硬盘驱动器上不可见,而在USB3.1接口上的外部SSD可能可见。与断开或断电相比,使用XFS将某些文件截断为0的风险要高得多,多年来,这应该不是问题。XFS现在是一个功能强大且快速的文件系统,即使在断电的情况下也是如此。

例如,如果使用LUKS,则可以使用XFS实施加密。但是我不知道XFS内对加密的原生支持。

BTRFS

在2012年,我说过“在1或2年内,我建议该文件系统支持数据和日志的校验和”。在2017年,我可以说这个文件系统非常强大,除非您想使用其RAID 5-6支持(因为它需要一个非常新的内核,所以最好等待Ubuntu 18.04 LTS)。在比内部硬盘暴露更多的外部硬盘上,BTRFS凭借其对数据和元数据的本机校验和将是一个非常强大的解决方案。但是,如果您只有一个外部硬盘驱动器,则除非将其设置为在驱动器上存储每个数据或元数据的2个副本,否则它只能检测损坏的数据,而无法修复它们。万一磁盘丢失,您当然会丢失所有内容,因此它不是RAID1。但是,如果您的扇区已损坏,则BTRFS可以在其具有副本的情况下对其进行恢复。BTRFS支持快照,

我不建议使用该文件系统,因为它具有一些特性,例如正确了解磁盘使用情况和可用空间问题(尤其是使用压缩选项时)。在使用BTRFS时,我还遇到了几次错误,设备上没有剩余空间,需要进行一些平衡,等等。因此,新手用户还无法使用它。


非常高兴您已经跟进并更新了此信息!
legends2k 18-10-11

感谢您的评论@ legends2k :-)非常感谢
惠更斯(Huygens)

5

答案取决于您的确切要求。

ext4已成为几种流行的Linux发行版(包括Ubuntu,Fedora和openSUSE)的默认文件系统。ext4在其先前版本的基础上进行了几处改进,其中包括支持最大16 TB的文件(1 TB等于1,024吉比特,其中1 GI等于1.074千兆字节),最大卷大小最大为1 EB。它与ext3和ext2向后兼容,因此可以将ext3和ext2挂载为ext4。这将稍微提高性能,因为ext4的某些新功能也可以与ext3和ext2一起使用,例如新的块分配算法。

XFS是一个高度可扩展的高性能文件系统,最初是由Silicon Graphics,Inc.设计的。它是为支持超大型文件系统而创建的。XFS支持的最大文件系统大小为8 EB减1(即263-1字节),尽管这受主机操作系统施加的块限制的约束。32位Linux系统将文件和文件系统的大小限制为16 TB。

关于此主题有很多信息,但是我会从这里开始,并尝试探索您是否想进一步进行研究。

我希望这有帮助。

资料来源:

- http://techie-buzz.com/foss/google-implements-ext4.html

- http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/6.0_Release_Notes/filesystems.html


从RHEL 7开始,XFS是默认文件系统-access.redhat.com/articles/796293
Bert

1

我已经看到了这些文件系统的许多基准测试, 我认为EXT4更好,但是我认为与XFS的区别很小。

在读/写基准测试中,差异不大,我使用EXT4,这太棒了。


1

如果您的工作量很大,我建议不要使用ext4。

我们有两个构建服务器,它们运行我们软件的并发构建,并且如果执行多个并发构建,我们将获得挂起任务,然后这将迫使构建退出。如果我们一次只进行1个构建,则可以完成。但是,这违背了拥有多CPU多核计算机的目的,该计算机理论上可以同时进行8次构建(或1次-j8构建)

ext4的体验不是很好。它还太年轻,无法在现实世界中使用。


3
当然,作为外部驱动器,您可能不会做得太多:)
理查德(Richard)

了解这些信息仍然很有用,您的经验似乎与kevinclosson.net/2012/03/06 / ... 同意。有趣的是,在过去的5年中,情况是否有所变化。
Anthony Geoghegan

我在构建系统(硬件RAID服务器)上以及工作站和便携式计算机上都使用了ext4。我过去或最近从未遇到过您的问题。我可以使用12个并发线程在我的Workstation上为Raspberry Pi 交叉编译Linux内核,并且大约在9y.o上可以在11分钟内完成编译。工作站(好的,我用SATA3控制器和便宜的家用SSD对其进行了升级,并且它具有2.6GHz的4核+ HT)。
惠更斯(Huygens)

0

XFS是此处的最佳选择,因为外部驱动器占用大量CPU,并且高度依赖USB总线。当使用极低功耗或高性能的应用程序时,类似的选择将产生巨大的差异。XFS对我在家中构建的基于Atom N450的设备非常有效。它使用高达9W的功率,并且可以很好地处理数据。

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.