Какие гарантии надежности предоставляет NTFS? - PullRequest
4 голосов
/ 25 мая 2011

Интересно, какую гарантию надежности обеспечивает NTFS для хранящихся на нем данных? Например, предположим, что я открываю файл, добавляю в конец, затем закрываю его, и во время этой операции питание отключается в произвольное время. Могу ли я найти файл полностью поврежденным?

Я спрашиваю, потому что я только что заблокировал систему и обнаружил, что два файла, которые были добавлены, полностью обнулены. То есть правильного размера, но сделанный полностью из нулевого байта. Я думал, что это не должно происходить в NTFS, даже когда что-то не получается.

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

NTFS - это транзакционная файловая система, поэтому она гарантирует целостность - но только для метаданных (MFT), а не для (файла) содержимого.

1 голос
/ 26 мая 2011

Короткий ответ: NTFS ведет журнал метаданных, что обеспечивает правильность метаданных.

Другие изменения (в теле файла) не регистрируются, поэтому они не гарантированы.

Существуют файловые системы, которые ведут журналирование всех записей (например, AIX имеет одну запись, если память служит), но с ними вы, как правило, получаете компромисс между использованием диска и скоростью записи. Итак, вам нужно много «свободного» пространства, чтобы получить приличную производительность - они в основном просто делают все записи в свободное пространство и связывают эти новые данные в правильные места в файле. Затем они проходят и убирают мусор (то есть освобождают части, которые были с тех пор перезаписаны, и обычно также объединяют части файла вместе). Это может замедлиться, если им придется делать это очень часто.

...