- •Диски, разделы и тома
- •1 Примером неразделимых дисков служат компакт-диски и dvd, которые имеют только одни раздел.
- •Базовые диски
- •Тома и диспетчеры томов
- •Пространство имен устройств
- •Системные файлы ntfs
- •Логические и виртуальные номера кластеров ntfs
- •Структура записи mft в файловой системе ntfs
- •Атрибуты файла
- •Каталоги ntfs
- •Разреженные файлы ntfs
- •Сжатые файлы ntfs
- •Пользовательские квоты дискового пространства
Тома и диспетчеры томов
Как уже отмечалось, том — это логический компонент, включающий в себя дисковые разделы. Эти разделы могут быть реализованы на динамических или базовых дисках. Тома в семействе Windows Server внедряются с помощью драйвера устройства, который называется диспетчер томов. Диспетчеры томов и их место в стеке подсистемы хранения данных рассматриваются в главе 1. В этом разделе основное внимание уделяется возможностям томов в операционных системах, появившихся после Windows 2000; в частности, рассматриваются три диспетчера томов.
-
Диспетчер FtDisk, предоставляемый в Windows 2000 и Windows Server 2003. В Windows NT 4.0 драйвер FtDisk загружался только по требованию, поскольку работал исключительно с расширенными функциями томов* например обеспечением устойчивости к ошибкам. B Windows 2000 FtDisk драйвер загружается по умолчанию, поскольку обрабатывает все тома базовых дисков.
-
Диспетчер LDM (Logical Disk Manager), который предоставляется в Windows 2000 и Windows Server 2003.
-
Диспетчер LVM (VERITAS Logical Volume Manager), предлагаемый компанией VERITAS в качестве платной системы; LVM расширяет базовые
возможности LDM. Эти диспетчеры томов обеспечивают перечисленные ниже возможности.
-
Виртуализация подсистемы хранения данных; при этом файловая система абстрагируется от физического диска, на котором она размещена. Кроме того, диспетчер томов может объединять несколько разделов нескольких дисков в один большой том.
-
Защита данных путем обеспечения их избыточности (с помощью одной из технологий массива RAID, рассматриваемых в главе 9) или посредством их сохранения вместе с контрольной суммой
Пространство имен устройств
Данное пространство имен развилось за несколько лет существования Windows NT. Для обеспечения обратной совместимости новое пространство имен объединяется со старым пространством с помощью символических ссылок. Кроме того, драйверы режима ядра создают пространство имен в режиме ядра, используя возможности диспетчера объектов. Приложения пользовательского режима воспринимают другие пространства имен, взаимодействующие друг с другом посредством символических ссылок. Иногда разобраться с хитростями пространств имен не так-то просто. В этом разделе делается скромная попытка перечислить наиболее важные для подсистемы хранения имена устройств.
Драйвер класса диска создает объекты устройств для представления каждого физического диска. Эти объекты имеют название \device\harddiskX, где X — число, начинающееся с нуля и увеличивающееся для каждого найденного жесткого диска.
Кроме того, драйвер класса диска создает объект устройства для каждого найденного основного раздела. Драйвер класса диска использует функцию IoReadPartitionTable диспетчера ввода-вывода для поиска всех основных разделов на диске. Такие основные разделы называются \device\haxddiskX \partitionY, где X — номер диска, а У — номер основного раздела, расположенного на этом физическом диске. Диспетчер ввода-вывода создает символьную ссылку в формате \??\PhysicalDriveX. где X — число больше нуля, отображаемое на ссылку \device\harddiskX\partitionY.
Диспетчер томов LDM создает объект для каждого поддерживаемого тома. Эти объекты устройств имеют имена в формате \Device\HarddiskVolumes \PhysicalDmVolumes\BlockVolumeX, где X — идентификатор, который назначается тому диспетчером томов. Это устройство режима ядра соотносится с устройством Win32, которое создается диспетчером монтирования и имеет вид \??\Volume[GUIDj, где GUID — глобально уникальный идентификатор. Диспетчер томов также создает символьную ссылку в формате \Device\HarddiskDmVolmnes\ComputerNameDgO\VolumeY для каждого тома и соотносит ссылки с определенными устройствами в каталоге PhysicalVolumes, При этом значение ComputerName заменяется фактическим именем компьютера, а У — идентификатором тома.
Для предоставления прямого доступа к тому диспетчер томов LDM создает объект для каждого поддерживаемого тома. Этот объект устройства имеет имя в формате \Device\HarddiskDmVolumes\PhysicalDmVolmnes\RawVolumeX.
Обратите внимание, что в данном разделе не описываются все возможные имена устройств и их форматы. Тем, кто интересуется, рекомендуется запустить утилиты управления дисками и томами с графическим интерфейсом и обратить внимание на предоставляемые ими сведения.
Другие файловые системы
Операционная система Windows NT обеспечивает поддержку различных файловых систем. Основной, обладающей полным спектром возможностей файловой системой является NTFS. Компания Microsoft утверждает, что в ныне устаревшую файловую систему FAT новые функции вноситься не будут. Кроме NTFS и FAT операционная система поддерживает и другие файловые системы.
Экземпляр операционной системы может одновременно использовать несколько файловых систем. Более того, компьютер под управлением Windows может иметь несколько томов и вовсе не обязательно, чтобы все тома имели одинаковую файловую систему.
Файловая система FAT
-
Операционная система Windows 2000 (и старшие версии) поддерживает обновленную версию FAT (File Allocation Table).
Файловая система NTFS
Эта файловая система проектировалась специально для Windows NT. С момента первого появления NTFS в нее вносилось несколько модификаций, но основная архитектура оставалась неизменной. Файловых систем FAT и HPFS (High-Performance File System), поддерживаемых Microsoft в момент появления NTFS, было явно недостаточно для удовлетворения потребностей Windows NT.
-
Файловая система FAT не предоставляет необходимого уровня безопасности файлов и объектов.
-
Файловая система FAT не поддерживает возможностей по обработке вместительных жестких дисков, доступных в настоящий момент. (Вспомните, что изначально FAT проектировалась для использования на дисках объемом 1 Мбайт.) ■
-
Как FAT, так и HPFS не поддерживают транзакций, которые необходимы для обеспечения надежности данных и их восстановления после отказов в работе системы.
Файловая система NTFS предоставляет различные возможности, которые перечислены ниже
-
Поддержка транзакций в NTFS обеспечивает регистрацию всех изменений метаданных файловой системы в специальном журнале, который поддерживает восстановление в случае неисправности.
-
Все данные, включая метаданные системы, хранятся в файлах.
-
NTFS поддерживает имена файлов длиной до 255 символов и кодировку Unicode.
-
Структуры данных поддерживают быстрое перемещение и поиск в каталогах.
-
Файловая система поддерживает сжатие и разреженные файлы.
-
Начиная с Windows 2000 поддерживается шифрованная файловая система (EFS).
-
Файловая система обеспечивает устойчивость к отказам, например к появлению поврежденных кластеров на диске или перераспределению секторов.
-
NTFS не имеет ограничения на длину имен 8.3, которое было характерно для MS DOS.
-
Отдельные имена файлов NTFS могут иметь размер до 255 символов, а полный путь к файлу не должен превышать 32 767 символов.
-
В NTFS используются 64-разрядные указатели файлов и теоретически может поддерживаться размер файла 264 байт.
В NTFS поддерживается несколько потоков данных для одного файла.
Поток можно открыть с помощью функции Win32 API CreateFile, а имя потока в виде : ИмяПотока может быть добавлено к имени файла, например File 1: Stream25. Потоки поддерживают запись, чтение и независимую от других открытых потоков блокировку. Операционная система Windows NT для серверов Macintosh использует эту функцию при поддержке клиентов Мае, на которых файл имеет две "ветви": ветвь данных и ветвь ресурсов.
Хотя NTFS и поддерживает несколько потоков, множеству утилит и программ об этом ничего не известно. Таким образом, о файле, содержащем 1024 байт в обычном неименованном потоке и 1 Мбайт данных в именованном потоке, команда dir сообщит, как о файле размером 1024 байт (команда dir не поддерживает многопоточность). При копировании файлов с несколькими потоками с раздела NTFS в FAT копируется только неименованный поток, принятый по умолчанию. Данные из остальных потоков считаются потерянными.
В табл. сравниваются FAT и NTFS.
Сравнение файловых систем, поддерживаемых Windows NT
|
FAT 16 |
FAT 32 |
NTFS |
Максимальная длина имени файла |
8.3 |
255 |
255 |
Максимальный размер файла |
2 Гбайт |
4 Гбайт |
макс 16Эбайт |
Максимальный размер тома |
2 Гбайт |
2 Тбайт |
2 Тбайт |
Совместимость с гибкими дисками |
Да |
Да |
Нет |
Несколько дисков в одном томе |
Нет |
Нет |
Да |
Безопасность на уровне файлов и каталогов |
Нет |
Нет |
Да |
Проверка доступа На уровне файлов и каталогов |
Нет |
Нет |
Да |
Возможности устойчивости к отказам (несколько копий критических данных, журнал метаданных) |
Нет |
Нет |
Да |
Шифрование и сжатие файлов |
Нет |
Нет |
Да |
|
|
|
|