Файлы usn что это
Журнал USN представляет собой журнал фиксированного размера, в который записываются все изменения, происходящие в разделах файловой системы NTFS 5.0. Служба NTFRS отслеживает в файле журнала USN файловой системы NTFS закрытие файлов в каталогах, реплицируемых службой FRS, все время пока эта служба работает.
Ошибки переполнения журнала возникают в тех случаях, когда при отключенной службе FRS происходит значительное количество изменений, и последнее изменение USN, записанное службой FRS при завершении работы, не отражается в журнале USN при загрузке. Риск состоит в том, что изменения файлов и папок для реплицированных службой FRS деревьев могли произойти при отключенной службе, а запись об этих изменениях отсутствует в журнале USN. Для предотвращения возникновения несоответствия данных служба FRS объявляет журнал переполненным.
Для обслуживания участников репликации FRS администратор может остановить службу FRS на длительный период времени, не осознавая возможных последствий. Кроме того, возникновение ошибок может привести к завершению работы службы FRS, что, в свою очередь, приводит к ошибке переполнения журнала. В очень больших наборах репликации участники могут столкнуться с ошибкой переполнения журнала (journal_wrap_error) при принудительном восстановлении (BURFLAGS=D4).
Для устранения последствий пораженный участник репликации должен быть заново инициализирован путем непринудительного восстановления (BURFLAGS=D2), которое синхронизирует файлы с существующим входящим партнером. Для больших наборов репликации повторное восстановление требует значительного количества времени.
На компьютерах, использующих файл Ntfrs.exe версий Windows 2000 (бинарный файл 2195), Windows 2000 с пакетом обновлений 1 (SP1) или с исправлением для SP1 (WINSE, сборка 5298), процесс непринудительного восстановления должен быть осуществлен вручную, путем установки значения BURFLAGS=D2 в системном реестре Windows NT.
На компьютерах под управлением Windows 2000, использующих файл Ntfrs.exe версий Windows 2000 с пакетом обновлений 2 (SP2) или Windows 2000 с исправлением для SP2 (WINSE 11773), служба осуществляет программное непринудительное восстановление при обнаружении ошибки переполнения журнала.
По умолчанию файлы Ntfrs.exe версий Windows 2000 с пакетом обновлений 3 (SP3) и Windows 2000 с исправлением для SP3 не выполняют автоматическое непринудительное восстановление при обнаружении ошибки переполнения журнала (например, SP3 оставляет содержимое на месте, как и 2195, и SP1). SP3-версии службы NTFRS могут быть сконфигурированы аналогично SP2-версиям, когда ключу реестра Enable journal wrap automatic restore присваивается значение 1 в следующем ключе реестра:
Администраторы могут создавать, удалять и повторно создавать журналы изменений. Администратор должен удалить журнал, если текущее значение порядкового номера обновления (USN) приближается к максимально возможному значению USN, как указано элементом максусн структуры _ _ данных журнала USN . Администратор может также удалить и повторно создать журнал изменений, чтобы освободить место на диске. Для выполнения этой операции и всех остальных непрограммных операций с журналом изменений требуются права системного администратора. То есть необходимо быть членом группы администраторов.
Чтобы создать или изменить журнал изменений на указанном томе программным путем, используйте управляющий код фсктл _ Create _ USN _ .
При создании нового или изменении существующего журнала изменений файловая система NTFS устанавливает сведения для этого журнала изменений из сведений в структуре _ _ _ данных журнала USN , которая фсктл _ создать _ _ журнал USN . Создание _ _ _ Данные журнала USN имеют элементы MaximumSize и аллокатионделта.
MaximumSize — это максимальный целевой размер журнала изменений в байтах. Журнал изменений может увеличиваться больше этого значения, но в файловой системе NTFS контрольные точки файловой системы NTFS проверяют журнал и обрезают его, если его размер превышает значение MaximumSize плюс значение аллокатионделта. (В контрольных точках файловой системы NTFS операционная система записывает записи в файл журнала файловой системы NTFS, который позволяет файловой системе NTFS определить, какая обработка необходима для восстановления после сбоя.)
Аллокатионделта — число байтов, добавленных к концу и удаляемых из начала журнала изменений при каждом выделении или освобождении памяти. Иными словами, выделение и освобождение выполняются в единицах этого размера. Целое число, кратное размеру кластера, является разумным значением для этого члена.
Если администратор изменяет существующий журнал изменений таким образом, чтобы он имел более крупное значение MaximumSize , например если слишком часто выполняется повторное индексирование тома, журнал изменений просто получает новые записи, пока не превысит новый максимальный размер.
Чтобы удалить журнал изменений, используйте управляющий код _ удаления _ _ журнала USN фсктл . При использовании этой операции она проходит по всем файлам на томе и сбрасывает USN для каждого файла в ноль. Затем операция удаляет существующий журнал изменений. Эта операция сохраняется по перезапуску системы до ее завершения. Любая попытка чтения, создания или изменения журнала изменений во время этого процесса завершается ошибкой с кодом ошибки « _ _ Удаление журнала _ _ ошибок».
Вы также можете использовать управляющий код фсктл _ DELETE _ USN _ , чтобы определить, выполняется ли удаление, запущенное другим процессом. Например, приложение, когда оно запускается, может определить, выполняется ли удаление. Поскольку операции удаления журналов сохраняются при перезапуске системы, службы и приложения, запущенные при перезагрузке системы, должны проверить текущее удаление.
Журналы изменений не обязательно создаются при запуске. Чтобы создать журнал изменений, администратор может сделать это явным образом или запустить другую службу, для которой требуется журнал изменений.
Управляет журналом изменений порядкового номера обновления (USN). Журнал изменений USN предоставляет постоянный журнал всех изменений, внесенных в файлы тома. Как файлы, каталоги и другие объекты NTFS добавляются, удаляются и изменяются, NTFS вводит записи в журнал изменений USN, по одному для каждого тома на компьютере. В каждой записи указывается тип изменения и измененный объект. Новые записи добавляются в конец потока.
Примечания
Если журнал тома уже создан, применение параметра createjournal обновит такие его параметры, как максимальный_размер и дельта_выделения. Это дает возможность увеличить число обновляемых записей, которые поддерживает активный журнал, не отключая его. Указание нулевых значений параметров максимальный_размер и дельта_выделения приводит к выбору значения по умолчанию, зависящего от объма тома.
Размер журнала USN может превышать указанное посредством данного параметра значение. Однако, при этом журнал усекается по достижении ближайшей контрольной точки NTFS, и его размер становится меньше этого значения. Файловая система NTFS проверяет журнал USN и начинает усекать его, когда размер журнала становится больше, чем сумма значений параметров максимальный_размер и дельта_выделения. Контрольные точки указывают на время занесения записей в файл журнала NTFS. В данной файловой системе они используются для определения методов устранения возможных неполадок.
Перед проведением усечения размер журнала USN может превышать сумму значений параметров максимальный_размер и дельта_выделения.
Синтаксис
fsutil usn [createjournal] максимальный_размер дельта_выделения буква_тома
fsutil usn [deletejournal] флаги буква_тома
fsutil usn [enumdata] начальный_файл нижняя_граница верхняя_граница путь
fsutil usn [queryjournal] буква_тома
fsutil usn [readdata] путь
Синтаксис
Примеры
Чтобы создать журнал изменений USN на диске C, введите:
Чтобы удалить активный журнал изменений USN на диске C, введите:
Чтобы включить отслеживание диапазонов с указанным размером блока и пороговым значением размера файла, введите:
Чтобы перечислить и перечислить записи журнала изменений между двумя указанными границами на диске C, введите:
Чтобы запросить данные USN для тома на диске C, введите:
Чтобы прочитать данные USN для файла в папке \Temp на диске C, введите:
Чтобы прочитать журнал USN с определенным начальным номером USN, введите:
По мере добавления, удаления и изменения файлов, каталогов и других объектов файловой системы NTFS файловая система NTFS вводит в потоки записи журнала изменений, по одному для каждого тома на компьютере. В каждой записи указывается тип изменения и измененный объект. Смещение от начала потока для конкретной записи называется порядковым номером обновления (USN) для конкретной записи. Новые записи добавляются в конец потока.
Файловая система NTFS может удалять старые записи для экономии пространства. Если необходимые записи были удалены, служба индексирования восстанавливается путем повторного индексирования тома, как это происходит, если журнал изменений не существует.
Журнал изменений регистрирует только факт изменения файла и причины изменения (например, операции записи, усечение, увеличение, удаление и т. д.). Он не записывает достаточно информации, чтобы разрешить изменение.
Кроме того, несколько изменений в одном файле могут привести к добавлению только одного флага причин к текущей записи. Если один и тот же тип изменения происходит несколько раз, файловая система NTFS не записывает новую запись для изменений после первой. Например, несколько операций записи без промежуточных операций закрытия и повторного открытия приводят к появлению только одной записи изменений с флагом причины USN _ _ _ набор перезаписи данных причины.
Чтобы продемонстрировать, как работает журнал изменений, предположим, что пользователь обращается к файлу в следующем порядке:
- Выполняет запись в файл.
- Задает отметку времени для файла.
- Выполняет запись в файл.
- Усекает файл.
- Выполняет запись в файл.
- Закрывает файл.
В этом случае файловая система NTFS выполняет следующие действия в журнале изменений (где | указывает побитовую операцию или).
Событие | Действие файловой системы NTFS |
---|---|
Начальная операция записи | Файловая система NTFS записывает новую запись USN с _ _ _ установленным флагом причины перезаписи данных причины USN. Дополнительные сведения о возможных флагах причин см. в разделе Структура _ записи USN . |
Параметр метки времени файла | Файловая система NTFS записывает новую запись USN с флажком " _ _ _ перезаписать данные причины USN | _ _ Основные сведения" _ _ . |
Вторая операция записи | Файловая система NTFS не записывает новую запись USN. Так как _ для _ _ существующей записи уже задана причина USN, то изменения записи не вносятся. |
Усечение файлов | Файловая система NTFS записывает новую запись USN с указанием параметра USN _ Причина _ перезаписи данных причины USN _ | _ _ основные _ сведения _ изменение | _ данных причина _ _ усечения. |
Третья операция записи | Файловая система NTFS не записывает новую запись USN. Так как _ для _ _ существующей записи уже задана причина USN, то изменения записи не вносятся. |
Операция закрытия | Если пользователь, выполняющий изменения, является единственным пользователем файла, то файловая система NTFS записывает новую запись USN со следующим значением флага: USN _ Причина _ _ Перезаписать | USN _ Причина _ основные _ сведения _ изменение USN причина | _ _ усечения данных USN _ | _ Причина _ закрытия. |
Журнал изменений накапливает ряд записей между первым открытием и последним закрытием файла. Для каждой записи задан новый флаг причины, указывающий на то, что произошло изменение нового типа. Последовательность записей содержит частичную историю файла. Последняя запись, созданная при закрытии файла, добавляет _ флаг закрытия причины USN _ . Эта запись представляет сводку изменений в файле, но, в отличие от предыдущих записей, не дает указания на порядок изменений.
Следующий пользователь для доступа к файлу и его изменения создает новую запись USN с одним флагом причины.
Обычно используется специалистами по технической поддержке. Управляет журналом изменения номеров последовательных обновлений (USN), в котором сохраняется архив всех изменений файлов в томе. При изменении, добавлении или удалении файлов, каталогов и прочих объектов NTFS в данный журнал вносятся соответствующие записи. Такие журналы создаются для каждого тома. Каждая запись содержит сведения о типе изменения и измененном объекте. Новые записи добавляются к концу существующего журнала.
Программы могут обращаться к журналу изменения номеров последовательных обновлений (USN), чтобы использовать данные о всех изменениях определенного набора файлов. Эффективность такого журнала значительно превышает эффективность таких методов, как проверка штампов времени или регистрация уведомлений об изменении файлов. Журнал изменения номеров последовательных обновлений (USN) используется такими службами, как Indexing Service, File Replication Service (FRS), Remote Installation Service (RIS) и Remote Storage.
Параметры
createjournal Создает журнал USN. m=максимальный_размер Задает максимальный размер журнала в байтах. a=дельта_выделения Задает размер выделения памяти (в байтах), которое удаляется из начала журнала и добавляется в его конец. буква_тома Указывает букву диска (с последующим двоеточием), точку подключения или имя тома. deletejournal Удаляет или отключает активный журнал USN. флаги /D: Отключает активный журнал USN с возвратом данных об управлении вводом-выводом в процессе отключения журнала. /N: Отключает активный журнал USN с возвратом данных об управлении вводом-выводом после отключения журнала. буква_тома Указывает букву диска (с последующим двоеточием), точку подключения или имя тома. enumdata Перечисляет записи в заданном границами разделе журнала и выводит их список. начальный_файл Задает позицию, с которой будет начато перечисление файлов на томе. нижняя_граница Задает нижнюю границу диапазона значений USN, которая используется для фильтрации возвращаемых записей. Возвращаются лишь те записи, которые содержат значения дат изменений из диапазона, заданного значениями границнижняя_граница и верхняя_граница. При этом данному диапазону принадлежат также значения, равные значениям границ. верхняя_граница Задает верхнюю границу диапазона значений USN, которая используется для фильтрации возвращаемых записей. путь Указывает букву диска (с последующим двоеточием), точку подключения или имя тома. queryjournal Запрашивает данные по текущему состоянию журнала тома, его емкости и занесенным в него записям. буква_тома Указывает букву диска (с последующим двоеточием), точку подключения или имя тома. readdata Считывает данные о USN, сохраняя их в виде файла. путь Указывает букву диска (с последующим двоеточием), точку подключения или имя тома.
Параметры
Параметр | Описание |
---|---|
createjournal | Создает журнал изменений USN. |
m= | Указывает максимальный размер в байтах, выделенный NTFS для журнала изменений. |
a= | Задает размер (в байтах) выделения памяти, добавляемой в конец и удаляемой из начала журнала изменений. |
Задает букву диска (за которой следует двоеточие). | |
deletejournal | Удаляет или отключает активный журнал изменений USN. |
Комментарии
Программы могут обратиться к журналу изменений USN, чтобы определить все изменения, внесенные в набор файлов. Журнал изменений USN гораздо эффективнее, чем проверка меток времени или регистрация для уведомлений о файлах. Журнал изменений USN включен и используется службой индексирования, службой репликации файлов (FRS), службами удаленной установки (RIS) и удаленными служба хранилища.
Если журнал изменений уже существует в томе, параметр createjournal обновляет параметры maxsize и allocationdelta журнала изменений. Это позволяет расширить количество записей, которые поддерживает активный журнал, не отключая его.
Журнал изменений может увеличиться больше, чем это целевое значение, но журнал изменений усечен на следующей контрольной точке NTFS до меньше этого значения. NTFS проверяет журнал изменений и обрезает его, когда его размер превышает значение maxsize плюс значение allocationdelta. На контрольных точках NTFS операционная система записывает записи в файл журнала NTFS, который позволяет NTFS определить, какая обработка необходима для восстановления после сбоя.
Журнал изменений может увеличиваться до более суммы значений maxsize и allocationdelta перед усечением.
Удаление или отключение активного журнала изменений занимает очень много времени, так как система должна получить доступ ко всем записям в основной таблице файлов (MFT) и присвоить последнему атрибуту USN значение 0 (ноль). Этот процесс может занять несколько минут, и он может продолжаться после перезагрузки системы, если это необходимо. В ходе этого процесса журнал изменений не считается активным и не отключен. Хотя система отключает журнал, доступ к нему невозможен, а все операции журнала возвращают ошибки. При отключении активного журнала следует использовать крайнюю осторожность, так как это негативно влияет на другие приложения, использующие журнал.
Примеры
Чтобы создать журнал USN на диске С, введите:
fsutil usn createjournal m=1000 a=100 C:
Чтобы удалить активный журнал USN на диске С, введите:
fsutil usn deletejournal /D C:
Чтобы перечислить записи в заданном границами разделе журнала и ознакомиться с их списком, введите:
fsutil usn enumdata 1 0 1 C:
Чтобы запросить журнал о свободном месте на диске С, введите:
fsutil usn queryjournal C:
Чтобы сохранить данные USN в виде файла во временной папке на диске С, введите следующую команду:
Читайте также: