Является ли NTFS отказоустойчивой в случае сбоя питания?


13

Может ли файловая система 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 гарантирует, что пользовательские данные будут согласованными и доступными сразу после операции сквозной записи или сброса денежных средств, даже если впоследствии система выйдет из строя.


Похоже, у вас есть свой ответ ...
r0ca

Ответы:


7

Если оставить в стороне теорию, на этом сайте можно найти так много проблем, вызванных отключением питания в NTFS, что ответ должен быть следующим: НЕТ ,

Я лично занимался на этом сайте проблемами, которые возникли от внезапно появившихся поврежденных секторов до полной установки Windows.

Компьютер - чрезвычайно сложное аппаратное обеспечение, и современные жесткие диски также стали небольшими компьютерами. У каждого есть свой процессор и память, поэтому каждый из них уязвим к сбоям питания, возникающим в неподходящий момент.

Даже если NTFS является отказоустойчивой (что я на самом деле не верю), компоненты, которые обрабатывают изменения на жестком диске, безусловно, не являются отказоустойчивыми. Таким образом, весь вопрос довольно академичен и не имеет отношения к реальному миру.

Ответ должен быть таким, что NTFS безопаснее , но не безотказный.


7
+1 Нельзя заменить хороший ИБП, который автоматически отключается при сбое питания и хорошем резервировании данных
Dave M

Разве зеркалирование дисков не может быть решением для «внезапного появления плохих секторов»?
Jonas

Я нашел интересную статью на эту тему; Как Microsoft подвергает ваши данные риску
Jonas

Очень интересно - я скачал диссертацию.
harrymc

4
Плохие сектора не являются проблемой NTFS. Я также возражаю против неподтвержденных данных, приведенных здесь. NTFS защищена от сбоев при условии, что аппаратное обеспечение подчиняется типичным гарантиям относительно записи , Они, вероятно, были нарушены в вашем случае.
usr

3

NTFS только метаданные журналов, которые предотвращают повреждение файловой системы, но Бог поможет вам с данными, которые не записываются в журнал. Если во время записи происходит сбой питания, данные теряются.


Правда, но, например, система управления базами данных использует менеджер транзакций для пользовательских данных, поэтому она надежна, когда она передается. Данные, которые не записаны на 100%, не сообщаются пользователю как «записанные».
Jonas

2
@ Джонас, да, конечно, но это особенность приложения, а не файловой системы.
Mircea Chirea

1

После написания кода, который читает и пишет NTFS, я пришел к выводу, что функция восстановления NTFS разработана / реализована некорректно.

Журнал NTFS содержит запись в журнале для операции, которая вызвала запись, он обычно содержит достаточно информации, чтобы отменить / повторить эту операцию, однако, если сектор поврежден во время записи (из-за сбоя питания), запись в журнале не обязательно достаточно, чтобы восстановить все метаданные в этом секторе.

Разработчики драйвера Windows NTFS предполагают, что любая операция записи либо полностью завершится успешно, либо не произойдет вообще (это справедливо только в некоторых корпоративных средах).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.