Сверхбольшие файлы (extremely huge)



 

В сверхбольших файлах для адресации всех отрезков используется несколько дополнительных записей MFT.

 

 

Каталоги NTFS

Каталоги – это специальный файл, хранящий ссылки на другие файлы и каталоги.

Внутренняя структура файла – это бинарное дерево.

Каталоги в NTFS делятся на

Небольшие ( small ).

Большие ( large ).

Корневой каталог имеет ссылку из метафайла.

Каждый каталог имеет:

 * имя;

* базовые атрибуты;

* ссылки на элемент MFT, который содержит информацию об элементах каталога.

 

Небольшие каталоги

      

Файлы небольших каталогов описываются в одной записи, называемой резидентным списком.

Для описания резидентных списков используется один атрибут Index Root.

Список файлов содержит имя файла и номер записи MFT.

 

 

Числа, это адреса отрезков, с информацией о файле.

Большие каталоги

 

В больших каталогах используются резидентные списки файлов и нерезидентные

Начальная часть списка файлов (резидентная ) находится в корневом каталоге – в записи таблицы MFT.

Нерезидентные списки находятся вне таблицы MFT – в отрезках.

Имена файлов упорядочены в алфавитном порядке.

Имена файлов резидентного списка (поля IR –index root ) являются узлами дерева файлов каталога, которые делят файлы на группы.

В первую группу попадают файлы, имена которых меньше имени первого узла резидентного списка.

Во вторую группу входят файлы, расположенные между первым и вторым узлами и так далее. 

В поле IA – index allocation указываются адреса отрезков, в которых размещаются файлы каждой группы.

 

Восстанавливаемость файловой системы NTFS

Причины нарушения целостности файловых систем

 

Примеры нарушения целостности файловых систем:

1. Возможные последствия сбоя при удалении файла в файловой системе FAT.

Для выполнения этой операции требуется:

* пометить как недейст­вительную запись об этом файле в каталоге;

* обнулить все элементы FAT, которые соответствуют кластерам удаляемого файла.

Если сбой питания произошел после объявления недействительной за­пись в каталоге и обнуления нескольких (не всех) элементов FAT удаляемого файла, то вэтом случае после сбоя файловая система сможет про­должать нормальную работу, но несколько последних кластеров удаленного файла «навечно» оказываются помеченными как занятые.

Хуже было бы, если бы операция удаления начиналась с обнуления элементов FAT, а корректировка каталога происходила бы после.

Файл в каталоге существует, а на самом деле его нет.

 

2. Некорректность файловой системы может возникать в результате прерывания операций ввода-вывода, выполняемых непосред­ственно с диском, и в результате нарушения работы дискового КЭШа.

 Для повышения производительности файловая система NTFS использует дисковый кэш.

Од­нако кэширование повышает риск разрушения файло­вой системы.

 

Все изменения файлов, каталогов и управляющей инфор­мации выполняются сначала с копиями соответствующих блоков в буферах оперативной памяти и только спустя некоторое время переносятся на диск.

Для согласования содержимого КЭШа и дискавремя от времени выполняется запись всех модифицированных блоков, находящихся в КЭШе, на диск.

 

Вэтих буферах оседают данные из пользовательских фай­лов и служебная информация файловой системы, такая как каталоги, индекс­ные дескрипторы, списки свободных, занятых и поврежденных блоков и т. п.

Когда происходит сбой по питанию или крах ОС, все данные, находящиеся в опера­тивной памяти, теряются, в том числе и модифицированные блоки данных, ко­торые менеджер дискового кэша не успел перенети на диск.

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

Таким образом, незавершенная операция с диском также несет угрозу целостности файловой сис­темы.

 

Вытал­кивание блоков из КЭШа на диск может выполняться:

 

1. Либо по инициативе менеджера дискового КЭШа.

2. Либо по инициативе приложения.

 

Менеджер дискового КЭШа вытесняет блоки из КЭШа  в следующих случаях:

* если необходимо освободить место в КЭШе для новых данных;

* если к менеджеру поступил запрос от какого-либо приложения или моду­ля ОС на запись указанных в запросе блоков на диск;

* при периодическом сбросе всех модифицированных блоков КЭШа на диск.

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

При ее выполнении данные немедленно и практически одно­временно записываются и на диск, и в КЭШ.

Для восстановления некорректных файловых систем, использующих механизм кэширования диска, в операционных системах предусматриваются специаль­ные утилиты, такие как fsck для файловых систем s5/uf, ScanDisk для FAT и Chkdsk для HPFS.

Однако объем несоответствий может быть настолько боль­шим, что восстановление файловой системы после сбоя с помощью стандарт­ных системных средств становится невозможным.

 

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

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

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

Послед­ствия сбоя питания или краха ОС зависят от того, какая операция ввода-выво­да выполнялась в этот момент, в каком порядке выполнялись подоперации и до какой подоперации продвинулось выполнение операции к этому моменту.

 

Файловая система NTFS является восстанавливаемой файловой системой, од­нако восстанавливаемость обеспечивается только для системной информации файловой системы, то –есть:

 * каталогов;

* атрибутов безопасности;

* битовой карты занятости кластеров;

* и других системных файлов.

 

Сохранность данных пользо­вательских файлов, работа с которыми выполнялась в момент сбоя, в общем случае не гарантируется.

Пользовательские данные, которые в момент краха находились в дис­ковом кэше и не успели записаться на диск, в NTFSне восстанавливаются.

 

 NTFS обеспечивает отказоустойчивость с помо­щью технологии протоколирования транзакций и восстановления системных данных.

 

В системе должны быть определены транзакции (transacti­ons) – неделимые работы, которые не могут быть выполнены частично.

Они либо выполняются полностью, либо вообще не выполняются.

Единственный способ восстановить утерянные изменения данных - это повторить все завер­шенные транзакции, которые участвовали в модификации этих блоков.

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

Журнал регистрации транзакций в NTFS делится на две части:

* область ре­старта;

* и область протоколирования.

Область рестарта

Область рестартасодержит информацию о том, с какого места необходимо будет начать читать журнал транзакций для проведения процедуры восста­новления системы после сбоя или краха ОС.

Эта информация представляет собой указатель на определенную запись в области протоколирования.

Для надежности в файле журнала регистрации хранится две копии области рес­тарта.

Область протоколирования

Область протоколированиясодержит записи обо всех изменениях в систем­ных данных файловой системы, произошедших в результате выполнения транзакций в течение некоторого достаточно большого периода.

 Все записи идентифицируются логическим порядковым номером (Logical Sequence Num­ber, LSN).

Записи о подоперациях, принадлежащих одной транзакции, обра­зуют связанный список: каждая последующая запись содержит номер пре­дыдущей записи.

Заполнение области протоколирования идет циклически: после исчерпания всей памяти, отведенной под область протоколирования, новые записи помещаются на место самых старых.

Процесс восстановления файловой системы включает следующие шаги:

1. Чтение области рестарта из файла журнала транзакций и определение номе­ра самой последней по времени записи контрольной точки.

2. Чтение записи контрольная точка и определение номеров записей таблицы незавершенных транзакций и таблицы модифицированных страниц.

3. Чтение и корректировка таблиц незавершенных транзакций и модифициро­ванных страниц на основании записей, сделанных в журнале транзакций уже после сохранения таблиц в журнале, но еще до записи журнала на диск.

4. Анализ таблицы модифицированных страниц, определение номера самой ранней записи модификации страницы.

5. Чтение журнала транзакций в прямом направлении, начиная с самой ранней записи о модификации, найденной при анализе таблицы модифицирован­ных страниц.

При этом система выполняет повторение завершенных тран­закций, в результате которого устраняются все несоответствия файловой системы, вызванные потерями модифицированных страниц в кэше во время сбоя или краха операционной системы.

6. Анализ таблицы незавершенных транзакций, определение номера самой поздней подоперации, выполненной в рамках незавершенной транзакции.

7. Чтение журнала транзакций в обратном направлении.

 

 


Дата добавления: 2018-08-06; просмотров: 359; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!