这个问题的原因与我依赖于重要生产的 NTFS 1TB 外部驱动器的最近行为有关。
由于我在 Linux 和 Windows 上工作(尽管主要是 Linux-Ubuntu),我认为 NTFS 出于兼容性原因最有意义。然而最近经历了奇怪的行为。在 Windows 上,一个大文件夹无法打开,几天后整个驱动器无法安装在我的 Linux 桌面上。
在 Windows 中运行 chkdsk 来修复文件系统,但我想知道如果我需要可靠性而不是便利性,NTFS 是否是一个好主意?
这个问题的原因与我依赖于重要生产的 NTFS 1TB 外部驱动器的最近行为有关。
由于我在 Linux 和 Windows 上工作(尽管主要是 Linux-Ubuntu),我认为 NTFS 出于兼容性原因最有意义。然而最近经历了奇怪的行为。在 Windows 上,一个大文件夹无法打开,几天后整个驱动器无法安装在我的 Linux 桌面上。
在 Windows 中运行 chkdsk 来修复文件系统,但我想知道如果我需要可靠性而不是便利性,NTFS 是否是一个好主意?
你问错了问题。
如果您想防止数据丢失(由于驱动器故障、恶意软件、断电、用户错误等),解决方案是进行备份。没有文件系统是防弹的。如果您无法承受丢失数据的代价,请进行备份。正如古老的格言所说:
如果您想防止因驱动器故障而导致停机,请选择 RAID1 中具有两个相同容量磁盘的 NAS。只有一个驱动器的容量可用。如果任何驱动器出现故障,NAS 会提醒您这一点,您仍然可以访问第二个驱动器上的数据。然后您可以更换有故障的那个,NAS 将从好的那个重建它(需要几个小时到几天,在此期间性能会下降)。
请注意,RAID 不是备份。正如较新的格言所说:
为了防止数据丢失和停机,您需要可靠的、已知良好且可恢复的备份和 RAID。
对于我的网络,我使用来自安装 ext 驱动器的 Ubuntu 机器的 Samba (cifs) 共享。这使我可以通过 ssh 或直接在 Ubuntu 机器上与驱动器进行交互,并获得 ext 的所有好处。它还允许我使用 Windows 或 Ubuntu 通过 smb 安装这些驱动器,并遭受与之相关的限制(尽管可能很小)。此外,由于 Win10 现在包含 Linux 子系统,我可以将 Ubuntu(和 bash)安装到 Win10 中,在那里我也可以使用 ssh 进行交互。
如果您处于双启动情况,您宁愿使用 NTFS 并遭受其固有的限制(我在看您,冒号和问号禁止),或者更糟糕的是使用 exFAT 并遭受更大的限制。
NTFS 不被认为是一个有弹性的文件系统,它只记录元数据并遭受位腐烂,而它也遭受碎片化,这使情况变得更糟。
最可靠的文件系统具有写时复制 (CoW) 和数据完整性机制,例如新的APFS和现代ZFS都将这些作为默认功能,即使在单个磁盘上也是如此。特别是,APFS 将更改写入新位置的现有文件,而其他文件系统会覆盖现有块,这会磨损闪存上的磁盘扇区并造成原始文件和新文件都不完整的时刻——导致数据丢失。错误或电源故障。另一方面,ZFS 拥有最多数量和最令人印象深刻的数据完整性机制,因为它是文件系统的核心焦点。
正如 Gronostaj 所指出的,RAID 确实是数据完整性的最佳可用选项。但是,我建议使用 ZFS 软件 RAID 而不是其他软件选项,例如 Windows 软件 RAID 或 Linux 软件 RAID。此外,如果您选择使用硬件 RAID,请不要使用 RAID5,因为它已被弃用并且容易损坏位。请注意,所有硬件 RAID 类型和标准软件 RAID 类型都有弱点,即使 ZFS 也容易受到部署不良或多个驱动器故障的影响,但 ZFS 的可能性要低得多。
有关 ZFS 的概述,请考虑阅读这篇文章。有关 ZFS 的技术描述,请考虑阅读有关 OpenZFS 的 Wikipedia 文章。