Восстановление данных в NTFS.

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

1. Таблица транзакций. Предназначена для отслеживания транзакций, которые были начаты, но ещё не завершены. Подоперации этих транзакций при восстановлении должны быть удалены.

2. Таблица изменённых страниц. Содержит информацию о том, какие страницы кэша содержат изменения структуры файловой системы ещё не записанные на диск.

Каждые 5 секунд NTFS помещает в журнал транзакций запись контрольной точки, непосредственно перед контрольной точкой записываются эти таблицы. В начале процесса восстановления NTFS обращается к LFS для поиска последней контрольной точки, а следовательно, к последним копиям этих таблиц. Затем NTFS копирует эти таблицы в память. Обычно после последней записи контрольной точки в журнале находятся ещё несколько записей модификации. Эти записи в процессе восстановления надо учитывать. NTFS анализирует записи модификаций после последней контрольной точки и обновляет таблицу транзакций и таблицу изменённых страниц.

При восстановлении тома NTFS выполняет три прохода по журналу транзакций, загружая журнал транзакций в память при первом проходе. Проходы:

1. Анализ;

2. Повтор транзакций;

3. Отмена транзакций.

При проходе анализа осуществляется поиск до конца журнала. Если запись модификации– это запись подтверждения транзакции, то информация о соответствующей транзакции должна быть удалена из таблицы транзакций. Если запись модификации – это запись обновления страницы, т. е запись, которая изменяет структуру файловой системы, то следует внести поправку в таблицу изменения страниц, т. е на проходе анализа таблицы приводятся в актуальное состояние. Затем NTFS просматривает обе таблицы для того, чтобы найти номер LSN самой старой записи модификации, регистрирующая операцию, которая не была выполнена над диском.Надо просмотреть обе таблицы и найти LSN с соответствующим номером.

Проход анализа.

При проходе анализа (analysis pass) NTFS просматривает журнал транзакций в прямом направлении, начиная с последней операции контрольной точки, чтобы найти записи модификации и обновить скопированные ранее в память таблицы транзакций и измененных страниц. Операция контрольной точки помещает в журнал транзакций 3 записи, между которыми могут оказаться записи модификации. NTFS должна приступить к сканированию с начала операции контрольной точки.

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

После того как таблицы в памяти приведены в актуальное состояние, NTFS просматривает их, чтобы определить LSN самой старой записи модификации, которая регистрирует операцию, не выполненную над диском. Таблица транзакций содержит LSN незафиксированных (незавершенных) транзакций, а таблица измененных страниц — LSN записей, соответствующих модификациям кэша, не отраженным на диске. LSN самой старой записи, найденной NTFS в этих двух таблицах, определяет, откуда начнется проход повтора. Однако, если последняя запись контрольной точки окажется более ранней, NTFS начнет проход повтора именно с нее.

Проход повтора.

На проходе повтора (redo pass) NTFS сканирует журнал транзакций в прямом направлении, начиная с LSN самой старой записи, которая была обнаружена на проходе анализа. Она ищет записи модификации, относящиеся к обновлению страницы и содержащие модификации тома, которые были запротоколированы до сбоя системы, но не сброшены из кэша на диск. NTFS повторяет эти обновления в кэше.

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

Проход отмены.

Откатывает неподтверждённые транзакции. В таблице транзакций для каждой незавершённой транзакции хранится LSN.

Транзакция 1 –

Транзакция 2 – – – – – –

Каждая запись отмены содержит LSN предыдущей транзакции.

43. Замена плохих секторов в NTFS. Файл плохих кластеров.

Переназначение плохих кластеров.

Когда NTFS получает ошибку о наличии плохого сектора, то она присоединяет кластер, содержащий этот сектор к своему файлу плохих кластеров. Это предотвращает повторное выделение этого кластера для другого файла. Затем NTFS выделяет для файла новый кластер и изменяет отображения VCN-LCN для файла так, чтобы это отображение указывало на новый кластер.

Наши рекомендации