Может ли быть нарушена работа файловой системы NTFS в случае сбоя питания? Например, сломаться или вызвать повреждение файла? И гарантированно ли встроенное зеркальное отображение NTFS на динамических дисках позволяет сохранять файлы в согласованном состоянии в случае сбоя питания?
Моя точка зрения на это заключается в том, что файловые системы журналирования специально разработаны для того, чтобы терпеть подобные проблемы. Пользовательские данные не гарантируются файловой системой NTFS, но такие приложения, как система управления базами данных, имеют менеджеры транзакций, которые защищают данные.
Несколько цитат из великой книги Microsoft Windows Internals:
NTFS
NTFS включает в себя ряд расширенных функций. Одна из его наиболее важных особенностей - возможность восстановления. Если система неожиданно останавливается, метаданные тома FAT могут остаться в несогласованном состоянии, что приведет к повреждению больших объемов данных файлов и каталогов. NTFS регистрирует изменения в метаданных транзакционным способом, так что структуры файловой системы могут быть восстановлены до согласованного состояния без потери информации о структуре файлов или каталогов. (Однако данные файла могут быть потеряны.)
NTFS Design Цели и особенности
Требования к высокопроизводительной файловой системе
С самого начала NTFS была разработана с учетом функций, необходимых для файловой системы корпоративного класса. Чтобы минимизировать потерю данных в случае неожиданного сбоя системы или сбоя, файловая система должна гарантировать, что целостность ее метаданных всегда гарантирована. Наконец, файловая система должна обеспечивать программную избыточность данных в качестве недорогой альтернативы аппаратно-избыточным решениям для защиты пользовательских данных.
восстанавливаемость
NTFS использует атомарные транзакции для реализации своих функций восстановления файловой системы. Если программа инициирует операцию ввода-вывода, которая изменяет структуру тома NTFS, то есть изменяет структуру каталогов, расширяет файл, выделяет пространство для нового файла и т.д. - NTFS рассматривает эту операцию как атомарную транзакцию. Это гарантирует, что транзакция либо завершена, либо, если система потерпела неудачу во время выполнения транзакции, откатывается.
Кроме того, NTFS использует избыточное хранилище для важной информации о файловой системе, поэтому, если сектор на диске выходит из строя, NTFS все равно может получить доступ к критическим данным файловой системы тома.
Избыточность данных и отказоустойчивость
Помимо возможности восстановления данных файловой системы, некоторые клиенты требуют, чтобы их собственные данные не подвергались опасности из-за перебоев в подаче электроэнергии или катастрофического отказа диска. Возможности восстановления NTFS гарантируют, что файловая система на томе остается доступной, но не дает никаких гарантий для полного восстановления пользовательских файлов. Защита приложений, которые не могут потерять данные, обеспечивается за счет избыточности данных.
Избыточность данных для пользовательских файлов реализована с помощью многоуровневой модели драйверов Windows, которая обеспечивает отказоустойчивую поддержку дисков. Диспетчер томов может зеркалировать или дублировать данные с одного диска на другой, чтобы всегда можно было получить избыточную копию.
Поддержка восстановления NTFS
Поддержка восстановления NTFS гарантирует, что в случае сбоя питания или сбоя системы никакие операции (транзакции) файловой системы не останутся незавершенными, а структура тома диска останется нетронутой без необходимости запуска утилиты восстановления диска. Утилита NTFS Chkdsk используется для исправления катастрофического повреждения диска, вызванного ошибками ввода-вывода (например, неисправными секторами, электрическими аномалиями или сбоями диска) или программными ошибками. Но с возможностями восстановления NTFS, Chkdsk редко требуется.
Восстанавливаемые файловые системы
Хотя NTFS не гарантирует защиту пользовательских данных в случае сбоя системы - некоторые изменения могут быть потеряны из кеша - приложения могут использовать возможности NTFS для сквозной записи и очистки, чтобы гарантировать, что изменения файлов будут записаны в диск с соответствующими интервалами. Как сквозная запись в кеш - форсирование операций записи и немедленной записи на диск - так и очистка наличными - форсирование записи содержимого на диск - являются эффективными операциями. Кроме того, в отличие от файловой системы FAT, NTFS гарантирует, что пользовательские данные будут согласованными и доступными сразу после операции сквозной записи или сброса денежных средств, даже если впоследствии система выйдет из строя.