АДМИНИСТРИРОВАНИЕ И НАСТРОЙКА ОС WINDOWS NT

       

Файловые системы Windows NT


Windows NT 4.0 поддерживает две файловые системы: существовавшую ранее файловую систему FAT и собственную, новую файловую систему NTFS. (Все предыдущие версии поддерживали также файловую систему HPFS, разработанную для операционной системы OS/2 версии 1.х.)

FAT успешно применяется миллионами пользователей в составе различных ОС (прежде всего DOS и Windows 3.х). Однако не следует забывать, что в то время, когда она создавалась, основными устройствами для хранения данных были гибкие диски. Затем появились и жесткие диски, начался процесс наращивания их емкостей. В результате отдельные технологические решения тех дней потеряли свою актуальность.

К основным недостаткам FAT могут быть отнесены следующие:

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

Файловая система Windows NT FAT функционирует так же, как если бы она работала в среде MS-DOS или Windows. Практически можно без всяких опасений устанавливать Windows NT в существующем разделе FAT. Однако следует учитывать, что если были использованы какие-либо программы для сжатия или разбиения диска на разделы, то для чтения таких дисков скорее всего могут потребоваться специально разработанные для этих целей драйверы Windows NT. Файлы из разделов FAT могут безболезненно копироваться в разделы NTFS, но при выполнении обратной операции будет потеряна информация о правах доступа и об альтернативных связях файла.

Таким образом, если до установки Windows NT 4.0 на компьютере была установлена MS-DOS (или OS/2, если используется версия Windows NT 3.5х), то нет никакой необходимости переформатировать диск. Система преобразует FAT (или HPFS) в NTFS, сохранив всю информацию на диске. Обратное преобразование невозможно. Не стоит устанавливать NTFS только затем, чтобы использовать длинные (до 255 символов) имена файлов, так как для этих целей прекрасно подойдет и FAT. Возможность использования длинных имен файлов на FAT была введена только в версии Windows NT начиная с 3.5. Можно спокойно называть файлы и каталоги именами, выходящими за пределы традиционного для MS-DOS правила 8.3, нисколько не опасаясь, что эти файлы не будут доступны при работе в MS-DOS. Для таких файлов и каталогов будут назначены вторые, "короткие" имена.

Новая файловая система NTFS обладает лучшими показателями производительности и надежности по сравнению с FAT.

Эта файловая система поддерживает объектно-ориентированные приложения, обрабатывая все файлы как объекты, которые имеют определяемые пользователем и системой атрибуты. NTFS позволяет задавать права доступа к отдельному файлу, а не к каталогу в целом.


1.5.1. Структура файловой системы

Каждый файл на томе NTFS представлен записью в специальном файле, называемом Главной таблицей файлов (Master File Table, MFT).

В отличие от разделов FAT и HPFS все пространство тома NTFS представляет собой либо файл, либо часть файла. Основой структуры тома NTFS является Главная таблица файлов (Master File Table, MFT), которая содержит по крайней мере одну запись для каждого файла тома, включая одну запись для самой себя. Каждая запись имеет длину 2К.

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

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

Загрузочный сектор тома NTFS располагается в начале тома, а его копия - в середине тома. Загрузочный сектор состоит из стандартного блока параметров BIOS, количества секторов в томе, а также начального логического номера кластера основной копии MFT и зеркальной копии MFT.

Файлы NTFS состоят по крайней мере из следующих атрибутов:


  • заголовок (H - header)
  • стандартная информация (SI - standard information)
  • имя файла ( FN - file name)
  • данные (data)
  • дескриптор безопасности (SD - security descriptor)




Рис. 1.5. Небольшие файлы

Небольшие файлы (small). Если файл имеет небольшой размер, то он может целиком располагаться внутри одной записи MFT размером 2К (рисунок 1.5). Из-за того, что файл может иметь переменное количество атрибутов, а также из-за переменного размера атрибутов нельзя наверняка утверждать, что файл уместится внутри записи. Однако, обычно файлы размером менее 1500 байт помещаются внутри записи MFT.

Большие файлы (Large). Если файл не вмещается в одну запись MFT, то этот факт отображается в значении атрибута "данные", который содержит признак того, что файл является нерезидентным, то есть, что файл находится вне таблицы MFT. В этом случае атрибут "данные" содержит виртуальный номер кластера для первого кластера каждого фрагмента данных (data run), а также количество непрерывных кластеров в каждом фрагменте (рисунок 1.6).





Рис. 1.6. Большие файлы

Очень большие файлы (huge). Если файл настолько велик, что его атрибут данных не помещается в одной записи, то этот атрибут становится нерезидентным, то есть он находится в другой записи таблицы MFT, ссылка на которую помещена в исходной записи о файле (рисунок 1.7). Эта ссылка называется внешним атрибутом (external attribute). Нерезидентный атрибут содержит указатели на фрагменты данных.



Рис. 1.7. Очень большие файлы

Сверхбольшие файлы (extremely huge). Для сверхбольших файлов внешний атрибут может указывать на несколько нерезидентных атрибутов (рисунок 1.8). Кроме того, внешний атрибут, как и любой другой атрибут может храниться в нерезидентной форме, поэтому в NTFS не может быть атрибутов слишком большой длины, которые система не может обработать.



Рис. 1.8. Сверхбольшие файлы

Каждый каталог NTFS представляет собой один вход в таблицу MFT, который содержит список файлов специальной формы, называемый индексом (index). Индексы позволяют сортировать файлы для ускорения поиска, основанного на значении определенного атрибута. Обычно в файловых системах FAT и HPFS используется сортировка файлов по имени. NTFS позволяет использовать для сортировки любой атрибут, если он хранится в резидентной форме.

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

Небольшие списки файлов (small indexes). Если количество файлов в каталоге невелико, то список файлов может быть резидентным в записи в MFT, являющейся каталогом (рисунок 1.9). В этом случае он называется небольшим каталогом. Небольшой список файлов содержит значения атрибутов файла. По умолчанию это имя файла, а также номер записи MTF, содержащей начальную запись файла.



Рис. 1.9. Небольшие каталоги

Большие списки файлов (large index). По мере того, как каталог растет, список файлов может потребовать нерезидентной формы хранения. Однако начальная часть списка всегда остается резидентной в корневой записи каталога в таблице MFT (рисунок 1.10). Имена файлов резидентной части списка файлов являются узлами B-дерева. Остальные части списка файлов размещаются вне MFT. Для их поиска используется специальный атрибут "размещение списка" (Index Allocation - IA), представляющий собой набор номеров кластеров, которые указывают на остальные части списка. Одни части списков являются листьями дерева, а другие являются промежуточными узлами, то есть содержат наряду с именами файлов атрибут Index Allocation, указывающий на списки файлов более низких уровней.





Рис. 1.10. Большие каталоги

1.5.2. Атрибуты файлов и каталогов

Каждый атрибут файла NTFS состоит из полей: тип атрибута, длина атрибута, значение атрибута и, возможно, имя атрибута.

Имеется системный набор атрибутов, определяемых структурой тома NTFS. Системные атрибуты имеют фиксированные имена и коды их типа, а также определенный формат. Могут применяться также атрибуты, определяемые пользователями. Их имена, типы и форматы задаются исключительно пользователем. Атрибуты файлов упорядочены по убыванию кода атрибута, причем атрибут одного и того же типа может повторяться несколько раз. Существует два способа хранения атрибутов файла - резидентное хранение в записях таблицы MFT и нерезидентное хранение вне ее. Сортировка может осуществляться только по резидентным атрибутам.

Ниже приведен список атрибутов.


  • Attribute List - определяет список атрибутов, которые являются допустимыми для данного конкретного файла;
  • File Name - этот атрибут содержит длинное имя файла, а также номер входа в таблице MFT для родительского каталога; если этот файл содержится в нескольких каталогах, то у него будет несколько атрибутов типа "File Name"; этот атрибут всегда должен быть резидентным;
  • MS-DOS Name - этот атрибут содержит имя файла в формате 8.3;
  • Version - атрибут содержит номер последней версии файла;
  • Security Descriptor - этот атрибут содержит информацию о защите файла: список прав доступа ACL и поле аудита, которое определяет, какого рода операции над этим файлом нужно регистрировать;
  • Volume Version - версия тома, используется только в системных файлах тома;
  • Volume Name - отметка тома;
  • Volume Information - номер версии NTFS;
  • Data - содержит обычные данные файла;
  • MFT bitmap - этот атрибут содержит карту использования секторов на томе;
  • Index Root - корень B-дерева, используемого для поиска файлов в каталоге;
  • Index Allocation - нерезидентные части индексного списка B-дерева;
  • External Attribute Information - содержит номер первого кластера и количество кластеров нерезидентного атрибута;
  • Standard Information - этот атрибут хранит всю остальную стандартную информацию о файле, которую трудно связать с каким-либо из других атрибутов файла, например, время создания файла, время обновления и другие.




1.5.3. Короткие имена

NTFS поддерживает имена файлов длиной до 255 символов. Имена файлов NTFS используют набор символов UNICODE с 16-битовыми символами. NTFS автоматически генерирует поддерживаемое MS-DOS имя для каждого файла. Таким образом, файлы NTFS могут использоваться в сети операционными системами MS-DOS и OS/2. Это особенно важно для файловых серверов в организациях, которые используют персональные компьютеры с этими двумя или тремя операционными системами. Создавая имена файла по схеме 8.3, NTFS также позволяет приложениям MS-DOS и Windows 3.х работать с файлами, имеющими длинные имена NTFS.

Поскольку NTFS использует набор символов UNICODE для имен файлов, существует возможность использования некоторых запрещенных в MS-DOS символов. Для генерации короткого имени файла в стиле MS-DOS NTFS удаляет все запрещенные символы, точки (кроме одной), а также любые пробелы из длинного имени файла. Далее имя файла усекается до 6 символов, добавляется тильда (~) и номер. Например, каждому недублированному имени файла добавляется ~1, повторяющиеся имена файлов заканчиваются символами ~2, ~3 и т.д. Расширение имени файла усекается до 3 символов.

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

На FAT короткое имя образуется путем использования первых 6 символов от длинного плюс знак "~" плюс цифра. Далее следует расширение файла. Если в длинном имени имеются пробелы, то они игнорируются. Если имеется несколько файлов с длинными именами, различающимися деталями за пределами первых 6 символов, то у коротких имен, соответствующих им будет изменяться последняя цифра. Если таких похожих файлов больше четырех, то первые 6 символов определяются по специальному алгоритму, а окончание имени всегда одинаково: "~5".

Например, если файл имеет имя "длинное имя файла.русское", то его короткое имя "ДЛИННО~1.РУС". Если у какоголибо файла в этом каталоге первые 6 символов имени и три символа расширения окажутся такими же, например, "длинное письмо.руслан", короткий вариант будет выглядеть так: "ДЛИННО~2.РУС".

На NTFS короткое имя образуется по несколько иному алгоритму, когда за основу берутся не первые 6 символов длинного имени, а их эквивалент в UNICODE.

Например, для файла, длинное имя которого "Очень хороший файл. С расширением", короткое имя будет выглядеть следующим образом: 9а10~1.gif



1.5.4. Надежность NTFS

NTFS является восстанавливаемой (recoverable) файловой системой. Она гарантирует согласованность данных тома, используя стандартную процедуру регистрации транзакций. Каждая операция ввода-вывода, которая изменяет файл на томе NTFS, рассматривается файловой системой как транзакция.

При модификации файла специальная компонента файловой системы - сервис регистрации файлов (Log File Service) - фиксирует всю информацию, необходимую для повторения (redo) или отката (undo) транзакции в специальном файле с именем $LogFile. Если транзакция не завершается нормально, то NTFS пытается закончить транзакцию (повторить) или производит ее откат. Этот метод обеспечивает минимальное время восстановления, однако восстанавливаются только системные данные (метаданные), пользовательские же данные могут быть утеряны.

Для обеспечения сохранности пользовательских данных используется программная поддержка массивов RAID (Redundant Array of Inexpensive Disks). В сочетании с поддержкой зеркализации дисков или расщепления с контролем четности (RAID 5) NTFS может выдержать любой одиночный сбой. В Windows NT поддерживаются уровни 0, 1 и 5.

В RAID 0 данные расщепляются на блоки по 64К, поддерживается от 2 до 32 дисков.

RAID 1 осуществляется на уровне разделов, то есть зеркализируются именно разделы. При отказе зеркализованного раздела администратор должен отменить отношения зеркализации, чтобы использовать оставшийся раздел как отдельный том. Затем можно использовать свободный раздел на другом диске, чтобы вновь установить зеркальные отношения. Зеркализации может быть подвергнут любой раздел, включая загрузочный (Boot Partition). В принципе зеркализация является более дорогим способом, чем другие, так как коэффициент использования дискового пространства составляет только 50%, с другой стороны, для небольших сетей это весьма приемлемый вариант, так как для его реализации достаточно только двух дисков.

RAID 5 требует минимум трех дисков (максимум 32 диска), поддерживает файловые системы FAT, NTFS, причем загрузочный раздел не может быть расщеплен. Если отказывает диск, входящий в состав массива RAID 5, то компьютер может продолжать работу и получать доступ к данным. Однако данные отказавшего диска будут в течение всего времени регенерироваться на основании данных других дисков, и производительность системы может упасть. Можно воссоздать данные отказавшего диска на новом диске. Для этого нужно иметь свободный раздел на каком-либо работоспособном диске равного или большего размера, чем отказавший. Затем запускается процедура восстановления данных из пункта Regenerate меню Fault Tolerance утилиты Disk Manager.

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


Содержание раздела