只能连接到Linux的外部驱动器的文件系统

我刚刚买了一个新的500GB外置硬盘。 大多数情况下,我只在这些东西和一些电影上存储操作系统ISO。 大文件无论如何,有时超过4GiB,所以FAT是不可能的。

所以,我还在想。 我的旧外部硬盘是NTFS格式化的,因为它有时必须能够连接到Windows boxen。 这个新硬盘不会有这个要求。 NTFS仍然是最好的select? ext {2,3,4}文件系统中的一个对于可移动磁盘是不错的select? 有没有文件系统,我不知道这将符合法案?

这里的“账单”将是一个稳定的文件系统,能够存活不清的断开连接,速度快,可以处理超过4GiB的文件,并且至less可以在内核2.6.28以上使用。

更新:我没有考虑到XFS,它的大文件系统支持很有趣。 我将看看我正在使用的操作系统/内核(RHEL5,CentOS5,Ubuntu 9.04和8.04,Fedora11),看看这些内核是否支持xfs。 我想我记得其中的一些(发行版)默认情况下不支持它,但是再次,也许我在这里错误地认为jfs是xfs。

同步选项也很有趣,但这意味着在我的所有机器上为此设备创buildUDEV规则,这不是一个大问题,但仍然是我必须牢记的事情。

最后,考虑到xfs和同步选项,我想知道xfs的性能增益和同步选项的性能是否会超过USB接口,而不是相当有限。

我个人使用XFS到处都是(这听起来就像个人使用)。

在一个行政决策中,对于规模来说并不重要,对于一个500GB的磁盘,你远远没有接近任何文件系统的限制(除了大卫·施米特指出的FAT之外)。 不考虑NTFS,它可能已经读取支持,但在Linux下使用NTFS是明显错误的。

我仍然留在ext3是经过很好的testing,并有最大的工具集可用的情况下,有些事情发生在你的数据。

我会和ext3一起走下去。 我听说ext4还没有那么稳定(如果我错了,不要拍我),所以断开连接不应该是个问题。

在ext3上,总是隐藏一部分磁盘(5%)。 这是为什么当根驱动器被淹没时,仍然可以在运行级别1上login以删除一些数据。 在外部硬盘上,您可以将其切换到1%(为了安全起见):

# tune2fs -m 1% /dev/sdb1 

文件系统几乎是不相关的。 不过你要安装文件系统“同步”。 这会花费你写性能,但你可以确保所有的数据是在cp完成后写入的。

当然, mount -o remount,async是你的朋友,如果你想暂时获得performance。

为了给出具体的答案,我会推荐ext3的data=journalsync mount选项。

大多数文件系统不能很好地处理断开而没有先卸载,但是可以通过使用日志文件系统来缓解这种情况。 带有data = journal的Ext3可以工作,因为它logging了数据以及元数据。 这有点慢,但更安全。 XJS和JFS也是日志文件系统,但我不知道他们是否logging数据以及元数据。

我会使用XFS,并谨慎地记得卸下磁盘之前,拔下它。

编辑:Arrf,没有看到不洁净断线的要求。 像David Schmitt指出的那样,用“同步”来安装它。 我仍然卸下它之前插入(当可能)。

由于以下原因,我使用ext3作为外部驱动器:

  1. 这是一个日志文件系统,因此可以更好地保持断开连接
  2. 这是我用于//usr/home (等等)的文件系统。
  3. 我知道它支持所有我需要的额外属性,例如,对于selinux ,所以当我做一个备份时,所有的属性都被保留下来。

如果您使用的是selinux或任何其他使用扩展属性或ACL的系统,请确保使用可备份这些完全相同的属性或ACL的文件系统格式化备份媒体。

如果你想要容忍的东西(可能不喜欢它)被拉出是ZFS。

编辑 ZFS是Linux上与ZFS ON FUSE的支持