Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Вопрос по файловой системе (http://forum.oszone.net/showthread.php?t=111856)

GameCube 20-07-2008 09:59 856676

Вопрос по файловой системе
 
Народ у меня всегда был вопрос, который я до сих пор не могу разобрать и получить однозначного ответа. Как влияют ручные перезагрузки и "синие" ошибки на файловую систему диска. Я знаю что с фатом дела обстоят ваще плохо, т.е. такие вот перезагрузки и ошибки просто напросто убивают файловую систему постепенно. А вот как дела обстоят с нтфс ? Неужели всё настолько хорошо и нтфс не косячится нисколько ? Есть ли хотябы несколько процентов, что всё же касяки от таким перезагрузок и ошибок будут ?

Petya V4sechkin 20-07-2008 10:24 856687

Цитата:

Цитата GameCube
А вот как дела обстоят с нтфс ? Неужели всё настолько хорошо и нтфс не косячится нисколько ? Есть ли хотябы несколько процентов, что всё же касяки от таким перезагрузок и ошибок будут ?

Файловая система NTFS

Журналирование
Цитата:

Цитата Дмитрий Михайлов
NTFS - отказоустойчивая система, которая вполне может привести себя в корректное состояние при практически любых реальных сбоях. Любая современная файловая система основана на таком понятии, как транзакция - действие, совершаемое целиком и корректно или не совершаемое вообще. У NTFS просто не бывает промежуточных (ошибочных или некорректных) состояний - квант изменения данных не может быть поделен на до и после сбоя, принося разрушения и путаницу - он либо совершен, либо отменен.

Пример 1: осуществляется запись данных на диск. Вдруг выясняется, что в то место, куда мы только что решили записать очередную порцию данных, писать не удалось - физическое повреждение поверхности. Поведение NTFS в этом случае довольно логично: транзакция записи откатывается целиком - система осознает, что запись не произведена. Место помечается как сбойное, а данные записываются в другое место - начинается новая транзакция.

Пример 2: более сложный случай - идет запись данных на диск. Вдруг, бах - отключается питание и система перезагружается. На какой фазе остановилась запись, где есть данные, а где чушь? На помощь приходит другой механизм системы - журнал транзакций. Дело в том, что система, осознав свое желание писать на диск, пометила в метафайле $LogFile это свое состояние. При перезагрузке это файл изучается на предмет наличия незавершенных транзакций, которые были прерваны аварией и результат которых непредсказуем - все эти транзакции отменяются: место, в которое осуществлялась запись, помечается снова как свободное, индексы и элементы MFT приводятся в с состояние, в котором они были до сбоя, и система в целом остается стабильна. Ну а если ошибка произошла при записи в журнал? Тоже ничего страшного: транзакция либо еще и не начиналась (идет только попытка записать намерения её произвести), либо уже закончилась - то есть идет попытка записать, что транзакция на самом деле уже выполнена. В последнем случае при следующей загрузке система сама вполне разберется, что на самом деле всё и так записано корректно, и не обратит внимания на "незаконченную" транзакцию.

И все-таки помните, что журналирование - не абсолютная панацея, а лишь средство существенно сократить число ошибок и сбоев системы. Вряд ли рядовой пользователь NTFS хоть когда-нибудь заметит ошибку системы или вынужден будет запускать chkdsk - опыт показывает, что NTFS восстанавливается в полностью корректное состояние даже при сбоях в очень загруженные дисковой активностью моменты. Вы можете даже оптимизировать диск и в самый разгар этого процесса нажать reset - вероятность потерь данных даже в этом случае будет очень низка. Важно понимать, однако, что система восстановления NTFS гарантирует корректность файловой системы, а не ваших данных. Если вы производили запись на диск и получили аварию - ваши данные могут и не записаться. Чудес не бывает.


GameCube 21-07-2008 14:03 857533

Просто хотелось бы узнать, часто ли ктонибудь прибегает к ручным перезагрузкам или просто выскакивает синяя ошибка ? Паники изза этого поднимать не стоит ? Или лучше пока не поздно удалить к чёрту все разделы, да создать по новой из неразмеченной области ? У меня как то недавно было дело, что выскочила синяя ошибка и внизу был какойто отсчёт. И по истечению этого отсчёта винчестер отключился. Я очень волнуюсь за производительность своего винта, потомучто прошлый мой винт хоть и был с нтфс, но умер от перезагрузок и сбоев.


Время: 12:19.

Время: 12:19.
© OSzone.net 2001-