ext4 文件系统安全吗?

ext4 文件系统安全吗?

最近,我的磁盘格式化为etx4.说实话,我认为故障是在我这边,因为一个是由于[手动]不正确地卸载闪存卡,另一个是与断电有关。最终结果是我物理上丢失了 128 GB 闪存卡 [与金钱相关] 和 2Tb HDD 上的信息 [与时间相关]。我主要担心的是,分区的磁盘从未发生过这种损坏NTFS

我的问题是:

  1. ext4 总体上安全吗?我的意思是我还是其他人经历过磁盘丢失/磁盘上的信息格式化为 的情况etx4
  2. 在 Linux 世界中,还有什么比这种更安全的替代方案ext4可以比意外断电或意外卸载更长久的呢?

答案1

我主要担心的是,无论如何,这种损坏从未发生在分区为 NTFS 的磁盘上。

可能从来没有发生过,但它已经发生了。唯一可以声称此类事情从未发生过的文件系统是那些从未暴露于此类条件的文件系统。即使 BTRFS 和 ZFS 都被设计为能够抵御此类问题,但也可能存在此类问题。

不过,对于您的实际问题:

ext4 总体上安全吗?我的意思是我还是其他人遇到过磁盘/格式化为 etx4 的磁盘上的信息丢失的情况?

这取决于您所说的“安全”是什么意思。我个人曾在用 格式化的磁盘上丢失过数据ext4,但每次发生这种情况都是由于硬件故障造成的,更重要的是,这种情况最终会发生在几乎任何其他文件系统上。尽管如此,我仍然定期将它用于许多事情,因为除非用户错误或硬件问题(包括意外断电),否则它就可以正常工作。所以,根据大多数人的定义,认为它是“安全的”,但你可能会也可能不会。

在 Linux 世界中,有什么比 ext4 更安全的替代方案,可以比意外断电或意外卸载更长久?

不,除非您想处理其他限制或问题。尤其:

  • XFS 对于意外断电的恢复能力更强,并且不需要像 ext4 那样在重新启动时进行长时间检查,但有许多实际限制,使其对于小规模使用存在疑问(无法缩小文件系统,性能不高)与新卷上的 ext4 一样好,但无法进行数据日志记录)。
  • NILFS2 几乎不可能因电源故障而被杀死,但您可能会丢失 30 秒左右的更改,它在安装时需要用户空间组件,并且它缺少一些大多数 Linux 文件系统通常认为标准的功能。
  • BTRFS 将使您免受硬件故障的影响,并且相当可靠,此外,它还为在线更换故障磁盘提供了良好的支持,但是您可能会因意外断电而丢失一些最新的更改,并且您需要做更多的事情来保持该卷比大多数其他文件系统都健康。
  • ZFS 具有 BTRFS 的所有优点,而且没有任何问题(管理问题除外),但它需要您构建第三方内核模块,并且如果您遇到任何问题,您将无法获得任何上游支持不在企业级硬件上运行。

但是,您可以采取多种措施来使 ext4 更安全:

  • 遇到错误时更改行为。默认情况下,如果文件系统元数据遇到错误,ext4 只会将该卷标记为需要检查,然后就像什么都没发生一样。这是仅有的Linux 上的文件系统执行此操作时,其他所有内容都会以只读方式重新挂载该卷,从而防止对文件系统的任何写入使情况变得更糟。您可以通过添加errors=remount-ro挂载选项或tune2fs -e remount-ro在包含文件系统的块设备上运行来在 ext4 上获得此行为。
  • 确保你是不是使用日志的写回模式。您可以通过仔细检查卷的安装选项并确保它journal=writeback不在列表中来确保这一点。日志写回模式可以显着提高 ext4 文件系统上某些工作负载的性能,但如果意外断电,则更有可能丢失数据。
  • 如果你想成为真的对于数据安全偏执,您可以启用日志数据模式。通常,ext4 文件系统上的日志仅跟踪元数据的更改(重命名、文件删除或创建、时间戳更新等)。在日志数据模式下,全部更改通过日志进行。这会显着减慢速度,但可以在功能上 100% 保证文件系统保持内部一致。您可以通过传入journal=data安装选项来启用此功能。
  • 您可以添加auto_da_alloc安装选项。从本质上讲,这可以检测应用程序fsync()在应该调用时没有调用的情况,并正确处理事情。它不是默认值,因为它会稍微减慢速度,并且大多数应用程序不需要它。
  • 在较新的内核上,您可以启用日志校验和。这实际上不会“保存”您的数据,但它将有助于确保您在出现错误时不会得到虚假数据。这可以通过添加journal_checksum到安装选项来启用。
  • 如果您有足够新的内核和 e2fsprogs 版本,则可以启用元数据校验和。与日志校验和类似,这不会保存您的数据,但它将有助于防止您在出现错误时看到虚假数据。必须在文件系统创建时通过传递-O metadata_checksum,metadata_checksum_seedmkfs.ext4.如果您这样做,您(可能)不需要同时启用日志校验和,因为日志是元数据校验和涵盖的内容的一部分。

相关内容