在断电的情况下,NTFS 是否具有故障安全功能?

Jon*_*nas 13 ntfs filesystems power-management

在停电的情况下,NTFS 文件系统会受到损害吗?例如被破坏或导致文件损坏?动态磁盘上的 NTFS 内置镜像是否能保证在断电时使文件保持一致状态?

我的观点是,日志文件系统是专门为容忍此类问题而设计的。NTFS 文件系统不保证用户数据,但数据库管理系统等应用程序具有保护数据的事务管理器。

一些来自Microsoft Windows Internals 的好书的引述:

NTFS

NTFS 包括许多高级功能。其最重要的特性之一是可恢复性。如果系统意外停止,FAT 卷的元数据可能会处于不一致状态,从而导致大量文件和目录数据损坏。NTFS 以事务方式记录对元数据的更改,以便可以将文件系统结构修复到一致状态,而不会丢失文件或目录结构信息。(但是,文件数据可能会丢失。)

NTFS 设计目标和特点

高端文件系统要求

从一开始,NTFS 就被设计为包含企业级文件系统所需的功能。为了在意外系统中断或崩溃时最大限度地减少数据丢失,文件系统必须始终确保其元数据的完整性。最后,文件系统必须允许基于软件的数据冗余,作为保护用户数据的硬件冗余解决方案的低成本替代方案。

可恢复性

NTFS 使用原子事务来实现其文件系统恢复功能。如果程序启动了改变 NTFS 卷结构的 I/O 操作——即改变目录结构、扩展文件、为新文件分配空间等——NTFS 将该操作视为原子事务。它保证事务操作系统要么完成,要么如果系统在执行事务时失败,则回滚。

此外,NTFS 使用冗余存储来存储重要的文件系统信息,因此如果磁盘上的某个扇区出现故障,NTFS 仍然可以访问该卷的关键文件系统数据。

数据冗余和容错

除了文件系统数据的可恢复性之外,一些客户还要求他们自己的数据不会因停电或灾难性的磁盘故障而受到威胁。NTFS 恢复功能可确保卷上的文件系统仍可访问,但不能保证用户文件的完全恢复。通过数据冗余为不会丢失数据的应用程序提供保护。

用户文件的数据冗余通过Windows分层驱动模型实现,提供容错磁盘支持。卷管理器可以将数据从一个磁盘镜像或复制到另一个磁盘上,以便始终可以检索到冗余副本。

NTFS 恢复支持

NTFS 恢复支持确保在发生电源故障或系统故障时,不会有任何文件系统操作(事务)不完整,磁盘卷的结构将保持完整,无需运行磁盘修复实用程序。NTFS Chkdsk 实用程序用于修复由 I/O 错误(例如坏扇区、电气异常或磁盘故障)或软件错误引起的灾难性磁盘损坏。但是有了 NTFS 恢复功能,很少需要 Chkdsk。

可恢复的文件系统

尽管 NTFS 不能保证在系统崩溃时保护用户数据——一些更改可能会从缓存中丢失——应用程序可以利用 NTFS 直写和现金刷新功能来确保文件修改被记录在磁盘以适当的间隔。高速缓存直写(强制写入操作立即记录在磁盘上)和现金刷新(强制将内容写入磁盘)都是有效的操作。此外,与 FAT 文件系统不同,NTFS 保证用户数据将在直写操作或现金刷新后立即保持一致和可用,即使系统随后出现故障。

har*_*ymc 7

撇开理论不谈,在这个站点上可以发现很多问题,由停电在 NTFS 上引起,答案必须是:NO

我亲自处理过这个站点的问题,从突然出现的坏扇区到 Windows 安装完全失败。

计算机是极其复杂的硬件,现代硬盘也成为了自己的小型计算机。每个都有自己的处理器和内存,因此每个都容易受到在错误时刻发生的电源故障的影响。

即使 NTFS 是故障安全的(我真的不相信),处理硬盘更改的组件肯定不是故障安全的。所以整个问题都是学术性的,与现实世界无关。

那么答案必须是 NTFS更安全,但不是故障安全的。

  • +1 良好的 UPS 无可替代,可在断电和良好的数据备份时自动关闭。 (7认同)
  • 坏扇区不是 NTFS 问题。我也反对这里给出的轶事证据。NTFS 是崩溃安全的*假设硬件遵守关于写入的典型保证*。在你的情况下,这些可能被违反了。 (4认同)