What reliability guarantees are provided by NTFS?

时间秒杀一切 提交于 2019-12-10 15:21:59

问题


I wonder what kind of reliability guarantees NTFS provides about the data stored on it? For example, suppose I'm opening a file, appending to the end, then closing it, and the power goes out at a random time during this operation. Could I find the file completely corrupted?

I'm asking because I just had a system lock-up and found two of the files that were being appended to completely zeroed out. That is, of the right size, but made entirely of the zero byte. I thought this isn't supposed to happen on NTFS, even when things fail.


回答1:


NTFS is a transactional file system, so it guarantees integrity - but only for the metadata (MFT), not the (file) content.




回答2:


The short answer is that NTFS does metadata journaling, which assures valid metadata.

Other modifications (to the body of a file) are not journaled, so they're not guaranteed.

There are file systems that do journaling of all writes (e.g., AIX has one, if memory serves), but with them, you tend to get a tradeoff between disk utilization and write speed. IOW, you need a lot of "free" space to get decent performance -- they basically just do all writes to free space, and link that new data into the right spots in the file. Then they go through and clean out the garbage (i.e., free up parts that have since been overwritten, and usually coalesce the pieces of a file together as well). This can get slow if they have to do it very often though.



来源:https://stackoverflow.com/questions/6129205/what-reliability-guarantees-are-provided-by-ntfs

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!