Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ZH ос 20 вопр 36 стр.doc
Скачиваний:
10
Добавлен:
20.09.2019
Размер:
435.71 Кб
Скачать

20. Восстанавливаемость ntfs. Протоколирование транзакций. Журнал транзакций. Восстановление данных в ntfs.

NTFS представляет собой восстанавливающуюся файловую систему. Файловые системы делятся на

  1. Файловые системы с точной записью.

  2. Файловые системы с отложенной записью или восстанавливающиеся файловые системы.

Файловые системы с точной записью организованы таким образом, чтобы после сбоя были повреждены некритические участки структуры файловой системы, например, любая файловая опера-ция распадается на ряд подопераций. Например, авария произошла при копировании файлов:

  1. Производится запись в кластеры диска.

  2. Кластеры помечаются как занятые.

  3. Записывается информация о файле в подкаталог.

То есть в этом случае если будет сбой, то максимальный урон, который может быть – это будет потерян доступ к части кластеров. Запись на диск производится сразу же. Пример файловой системы с точной записью – это файловая система DOS.

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

  1. Журнал транзакций.

  2. Сервис журнала транзакций (LFS – Log File Service).

Сервис журнала транзакций представляет собой набор программ. Сервис журнала транзакций отделён от файловой системы NTFS. Это сделано для того, чтобы производители программного обеспечения могли создавать свои сервисы. В качестве параметра NTFS передаёт LFS. LFS делит журнал транзакций на две части: область рестарта и бесконечную область протоколирования.

Область рестарта содержит указатель на контрольную точку. Контрольная точка – это точка, с которой надо восстанавливать файловую систему. Копия контрольной точки создаётся для надёжности. Для идентификации записи, помещённой в журнал транзакций LFS использует номера логических последовательностей LSN (Logical Sequence Numbers). Номер LSN постоянно увеличивается. Область протоколирования используется циклически. После восстановления эта область становится доступной. В процессе восстановления NTFS вызывает LFS для чтения-записи журнала в прямом направлении, чтобы просмотреть все транзакции, которые были запротоколированы, но не были записаны на диск в момент сбоя и в обратном направлении, чтобы откатить транзакции.

Журнал транзакций.

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

Записи модификации. Большинство записей в журнале – это запись модификации. Каждая запись модификации содержит два вида информации:

  1. Информация для повтора, которая содержит сведения о том, как вновь применить к тому подоперацию полностью запротоколированной подтверждённой транзакции. Если сбой системы произошёл до того, как транзакция была переписана из КЭШа на диск. Если какая-либо операция выполнена, то её надо повторить.

  2. Информация для отмены. Это сведения о том, как устранить изменения, вызванные первой операцией транзакции, которая в момент сбоя была запротоколирована лишь частично, то есть не подтверждена. Рассмотрим записи модификации в журнале транзакций для операции создания файла.

Область рестарта Область протоколирования. Записи журнала.

T1a

T1b

T1c

В журнал транзакций записано три модификации. Рассмотрим первую запись T1a.

T1a. Повтор. Выделить и инициализировать файловую запись в MFT.

Отмена. Освободить файловую запись в MFT.

T1b. Повтор. Добавить имя файла в каталог.

Отмена. Удалить имя файла из каталога.

T1c. Повтор. Установить биты 3-9 в битовой карте. Пометить кластеры как занятые.

Отмена. Очистить биты 3-9 в битовой карте. Пометить кластеры как свободные.

Транзакция была запротоколирована. После того как NTFS выполняет подоперации непосредственно над томом в КЭШе. По окончанию обновления КЭШа NTFS помещает в журнал ещё одну запись, которая помечает транзакцию записью, как завершённую. В журнале транзакций появляется ещё одна запись подоперации. После того как транзакция подтверждена NTFS гарантирует, что все вызванные ею модификации произойдут на томе, даже если после подтверждения будет сбой.

При восстановлении после сбоя NTFS просматривает журнал и восстанавливает все подтверждённые транзакции, то есть NTFS ещё раз повторяет подтверждённую транзакцию. Это сделано для большей надёжности. После повтора всех подтверждённых транзакций NTFS отыскивает транзакции, которые не были подтверждены в момент сбоя и откатывает каждую запротоколированную операцию.

NTFS организована как реляционная база данных. Отмена транзакций проводится в обратном направлении. Если повторение идёт в прямом, то откат идёт в обратном направлении.

Информация для повтора и отмены может быть выражена либо физически, либо логически. Физическое описание задаёт модификацию тома как диапазон байт. Логическое описание представляет модификацию в терминах операций, например удалить файл a.dat. NTFS генерирует записи модификации для каждой из следующих транзакций: создание файла (каталога), удаление файла (ката-лога), расширение файла (каталога), урезание файла (каталога), установка файловой информации, перенос, изменение прав доступа.