При тестировании последней версии NT - Windows 2000 - я лишний раз убедился, что все новое - это хорошо забытое старое. Файловые системы, приоритетные для новой версии Windows, - NTFS 5.0 (NTFS5) и FAT32 - модернизированные двойники своих предшественников. В предлагаемой статье речь пойдет о внутренних изменениях в семействе файловых систем NT и о том, когда лучше использовать каждую из них. Расскажу и о некоторых типичных «подводных камнях», на которые можно наткнуться при работе с данными файловыми системами в Windows 2000.

Только факты

Планируя переход на новую версию операционной системы, нужно не в последнюю очередь задуматься о совместимости с файловой системой предыдущей ОС. Windows 2000 поддерживает несколько типов файловых систем гораздо больше, чем NT 4.0. Это и FAT12, и FAT16, и файловая система компакт-дисков CD-ROM File System (CDFS), NT-версия файловой системы ISO-9660. Однако в Microsoft не планируют расширять или модернизировать эти системы, за исключением возможного добавления в CDFS поддержки формата RockRidge для UNIX. NTFS, основная файловая система Windows 2000, обогатилась новыми возможностями и приобрела более ясную структуру. Windows 2000 поддерживает также файловую систему Universal Disk Format (UDF), впервые представленную в Windows 98. Сейчас UDF в Windows 2000 работает в основном с DVD-ROM. Но, несомненно, в дальнейшем планируется заменить привязанную к CD-ROM систему CDFS новой UDF. Поддерживается и версия UDF 1.50, тогда как в Windows 98 - 1.02. Ассоциация Optical Storage Technology Association (OSTA), разработавшая стандарт UDF, выпустила версию 2.0. В нее добавлено несколько новых возможностей, включая поддержку длинных имен файлов и UNICODE, списков ACL, потоковых файлов. И хотя спецификации UDF позволяют выполнять запись (например, CD Recordable, CD-R, CD-Rewritable, CD-RW, DVD-RAM), версия UDF 1.50 в Windows 2000 обеспечивает режим только для чтения.

В ближайшее время разработчики Microsoft собираются выпустить для Windows 2000 драйвер UDF версии 2.0, но неизвестно, будет ли поддерживаться режим записи. В настоящий момент независимые поставщики используют драйверы UDF или программное обеспечение собственной разработки для устранения недостатков UDF версии 1.50 в Windows 2000.

Первая остановка - NTFS5

Специалисты Microsoft добавили в Windows 2000 много новых свойств и компонентов, например службу каталогов Active Directory; возможности управления хранением данных, такие, как квотирование дискового пространства и шифрование хранимых данных посредством Encrypting File System (EFS); систему иерархического хранения Hierarchial Storage Management (HSM); средства развертывания приложений с помощью объектов групповой политики и IntelliMirror. Все эти возможности являются частью новой операционной системы, но для их поддержки разработчикам Microsoft пришлось преобразовать NTFS в NTFS5. Windows 2000 поддерживает только NTFS5 и автоматически конвертирует дисковые тома из предыдущей версии в новую при установке системы или монтировании томов. Такая автоматическая конвертация может оказать влияние на системы, где используется несколько версий NT (дополнительная информация во врезке «Автоматическая конвертация в NTFS5: что нужно знать»). Файловая система NTFS5 поддерживает реализованные в Windows 2000 квотирование, шифрование файлов, reparse points, подсоединение каталогов, монтирование томов, разреженные файлы, журнал изменений.

Квотирование дисков

Спецификация NTFS уже давно содержала метаданные для поддержки квотирования дискового пространства пользователем, но только Windows 2000 с NTFS5 стала первой версией NT, действительно поддерживающей квотирование. Квоты на дисковое пространство в Windows 2000 работают на уровне пользователя и тома (т. е. можно установить квоты для нескольких пользователей на каждом томе). SID пользователя определяет принадлежность файла и, следовательно, занимаемый на томах объем. Информация о занимаемом пространстве хранится на соответствующем томе, а не в выделенной базе данных. Такая возможность позволяет работать с NTFS более эффективно и гибко, особенно при использовании кластеров и системы хранения Storage Area Networks.

Экран 1. Включение функции квотирования и выделение лимитов на дисковое пространство в Windows 2000.

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

Кроме поддержки функции квотирования на уровне файловой системы в NTFS5 реализован открытый интерфейс управления квотированием, доступный независимым компаниям. Как и интерфейс дефрагментации, который дебютировал в NT 4.0, API квотирования позволяет производителям расширять возможности управления квотированием в Windows 2000. Это может понадобиться в том случае, если заложенных в системе возможностей окажется недостаточно. Для включения данной функции и настройки квот нужно выбрать закладку Quota в диалоговом окне Properties для любого тома, как показано на Экране 1.

Шифрование файлов

Экран 2. Доступ к функции шифрования.

До сих пор для шифрования данных в системах NT приходилось пользоваться утилитами производства независимых компаний. В новой версии NT наконец реализована система обеспечения защиты данных - EFS. Новые возможности NTFS5 и Windows 2000 позволяют задействовать архитектуру открытых ключей для шифрования файлов, каталогов или томов с помощью EFS. Для зашифровки файла система шифрования использует ключ шифрования файла (File Encryption Key, FEK). Ключ пользователя применяется для формирования FEK, при этом заполняется поле дешифровки Data Decryption Field (DDF). Можно задать ключ для отдельного агента восстановления Recovery Agent, задающегося в поле Data Recovery Field (DRF). Recovery Agent, правами которого может обладать кто-то из менеджеров компании, способен дешифровать и восстанавливать зашифрованные данные, как и создавший их пользователь. Таким образом, ситуация, когда компания не может получить доступ к данным, зашифрованным ее сотрудником, просто исключена. Как и при выделении квот, доступ к функции шифрования возможен через диалоговое окно Properties любого расположенного на NTFS файла, каталога или тома (см. Экран 2).

Reparse points

NTFS5 поддерживает реализованную в Windows 2000 возможность применения объектов под названием reparse points. Программы для Windows 2000 и сама система используют эти «точки» для отслеживания операций над объектами в структуре NTFS и исполнения программного кода перед тем, как вернуть данные пользователю или приложению. По замыслу разработчиков Microsoft такой способ позволит расширить возможности файловой системы.

Подсоединение каталогов (directory junctions)

Процесс подсоединения каталогов заключается в том, что система Windows привязывает каталоги NTFS к особого типа reparse points. Этот тип reparse points позволяет подсоединять один каталог NTFS к другому - даже если последний расположен на другом томе, главное, чтобы он находился на той же системе. Например, можно подсоединить разделяемую папку на одном сервере к нескольким разным каталогам пользователей, и при доступе к каталогу менять букву логического диска не придется. Подсоединение каталогов для связывания общего каталога (например, common), который может располагаться даже в разных файловых системах, с подкаталогом в домашнем каталоге, позволит разным пользователям видеть подкаталог common у себя в домашнем каталоге (например, D:usersjimcommon, D:usersobby common). Таким образом, подсоединение каталогов позволяет объединить все пространство имен файловой системы с корневыми каталогами (корнями томов) или подкаталогами на локальном томе системы. Данная возможность унификации пространства имен, соединяющая ресурсы из разных мест в одном, напоминает механизм работы Dfs. Дополнительная информация о различиях между этими двумя технологиями представлена на врезке «Подсоединение каталогов против Dfs». Подсоединение каталогов позволяет строить гибридные конструкции из томов разного типа (например, RAID 1, RAID 5, не обычные тома).

Точки монтирования томов

Точки монтирования томов - объекты файловой системы, использующие reparse points для связывания каталога NTFS5 и целого тома (только тома целиком, а не его каталога). Например, можно назначить тому NTFS (скажем, K) каталог с именем data на томе J (отдельном томе NTFS). И каталог J:data теперь будет указывать на содержимое всего тома K. Точки монтирования томов позволяют администраторам и пользователям расширять объем дисковой памяти без переноса данных и переразбиения дисков. Как и подсоединение каталогов, точки монтирования томов расширяют возможности использования пространства имен и позволяют строить гибридные системы хранения данных.

Разреженные файлы (parse files)

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

Журнал изменений

При использовании томов большого объема повышается нагрузка на дисковую подсистему сервера со стороны приложений, которые производят анализ истории изменения файлов (например, программа резервного копирования анализирует дату и время последнего изменения файла, для определения необходимости архивирования). К счастью, Windows 2000 имеет новую функцию, именуемую журналом изменений, которая облегчает данную задачу. Журнал изменений - это специальный хранящийся на томе журнал, который фиксирует все изменения файлов данного тома. Чтобы журнал не переполнялся, разработчики Micorosoft сделали его циклическим, т. е. с определенного момента новые данные, фиксируемые в журнале, «затирают» старые (длина записи в журнале изменений составляет около 80 байт). В таком журнале отражаются все операции по изменению файлов, такие, как модификация и удаление. Фиксируется, однако, только тип операции над данными файла, а не сами изменения данных. Журнал изменений позволяет уменьшить нагрузку таких приложений, как Indexing Service и File Replication System, сильно зависящих от записей данного журнала. Этот компонент служит независимым разработчикам базой для написания более эффективных утилит и приложений с пониженной нагрузкой на систему ввода/вывода сервера и более высокой общей производительностью системы. По умолчанию, журнал изменений на томах NTFS5 в Windows 2000 отключен, поэтому приложениям или пользователям нужно включать его самостоятельно.

На арене наконец FAT32

До появления Windows 2000 только пользователи Windows 98 могли работать с несколькими мониторами, DirectX 7.0, DVD, устройствами Universal Serial Bus (USB). При работе с другими операционными системами приходилось создавать системы с двойной загрузкой, чтобы запустить Win9x и поиграть в любимую игру или загрузить фото с цифровой USB-камеры. Пользователи NT не могли работать с файлами на томах FAT32, которые создавались Windows 98 или Windows 95 SR2. Исключение составляли только драйвер для NT, обеспечивающий чтение томов FAT32, и его конкурент от Winternals, допускающий также и запись. В Windows 2000 поддержка FAT32 реализована по полной программе, устранены имевшие место трудности. Чтобы максимально эффективно использовать FAT32 в Windows 2000, нужно хорошо знать ее возможности.

FAT32, впервые представленная в Windows 95 SR2, была прямой наследницей файловой системы FAT (FAT16). Отличалась она тем, что прежде всего, более эффективно использовала дисковое пространство, поскольку поддерживала меньший размер кластера на одном и том же томе. Кластер, или адресуемый блок, - это минимальный блок дисковой памяти для записи данных на томе; он задается при форматировании диска. Все хранящиеся на диске файлы, вне зависимости от их реального размера, имеют размер, кратный размеру кластера. Кроме того, любой, даже небольшой файл (например, размером 1 Кбайт) должен занимать по меньшей мере один кластер драгоценного дискового пространства. Из-за этих ограничений на томах FAT остается много неиспользованного пространства.

И хотя FAT32 задействует более широкий диапазон размеров кластеров, чем FAT, и, следовательно, полнее использует дисковое пространство, NTFS справляется с этой задачей еще лучше. В Таблице 1 приведены размеры используемых FAT-кластеров, в зависимости от размера диска. Таблица 2 содержит аналогичную информацию для FAT32, а Таблица 3 - для NTFS.

Разработчики Microsoft реализовали в FAT32 возможности обеспечения целостности данных. В FAT32 имеется несколько функций, обеспечивающих доступ к критичным данным о структуре системы. Например, FAT32 может перенести корневой каталог диска из одного места в другое, если область диска, где этот каталог располагался, случайно была испорчена. Возможно использование резервной копии таблицы размещения файлов, если первая копия была испорчена или недоступна. И наконец, FAT32 создает расширенную загрузочную запись, содержащую резервные копии структуры критичных данных. Все эти новые особенности делают FAT32 более надежной, чем ее предшественница FAT, хотя и не такой стойкой, как NTFS, наделенная возможностями протоколирования изменений.

Windows 2000 поддерживает файловую систему FAT32, но все же эта поддержка несколько ограничена. Например, в Win9x OSR 2.0 теоретически можно создавать тома FAT32 объемом 2 Тбайт (на практике ограничение составляет 127,53 Гбайт), но в Windows 2000 нельзя создать том FAT32 более 32 Гбайт. В Microsoft подтверждают этот факт и поясняют, что такое ограничение на FAT32 введено для того, чтобы стимулировать использование NTFS. Я не сторонник такого подхода, хотя NTFS и обеспечивает лучшую производительность и надежность на томах данного размера. Можно также использовать имеющиеся в Windows 2000 тома Win9x с объемом более 32 Гбайт (т. е. Windows 2000 может работать с унаследованными томами объемом более 32 Гбайт, но не способна их создавать). Другим ограничением FAT32, и упущением Microsoft, является невозможность конвертации томов FAT в FAT32 в системе Windows 2000. Можно конвертировать тома FAT и FAT32 в NTFS, но средства конвертации имеющегося тома FAT в FAT32 нет. Пока разработчики Microsoft не предоставляют такого инструмента в Windows NT Server Resource Kit или в будущем пакете исправлений, придется довольствоваться утилитами из Win9x или решениями независимых производителей.

Как сделать выбор

Изучив возможности NTFS5 и FAT32 и различия между ними, нужно решить, когда и где использовать каждую из систем. И хотя в заголовке статьи они противопоставлены друг другу, это взаимодополняющие продукты. Выбор файловой системы для каждого диска напрямую зависит от его задач. Во-первых, не следует использовать FAT32 на дисках сервера Windows 2000, так как FAT32 не обеспечивает необходимой безопасности дисковых томов. Во-вторых, только NTFS5 может поддерживать большинство нововведений в Windows 2000, таких, как служба Active Directory и Remote Installation Services. В большинстве случаев нет нужды гадать, какую систему использовать, поскольку диалоговые окна Windows 2000 сообщают, что данная функция требует наличия NTFS.

Один из слабых аргументов в пользу применения FAT (или FAT32) на сервере связан с загрузочным разделом. До появления Windows 2000 многие администраторы использовали FAT на загрузочном разделе, поскольку загрузочный диск DOS или Win9x мог предоставить доступ и помочь восстановить том FAT при сбое. Но включение в состав Windows 2000 средства Recovery Console (RC) опровергает и этот аргумент. RC - дополнительный вариант при загрузке системы, который можно установить на системе Windows 2000. Для этого нужно запустить winnt32/cmdcons на компакт-диске Windows 2000. Можно использовать RC для выполнения операций восстановления на томах NTFS, например для копирования файлов или их переименования. С появлением RC для файловой системы сервера Windows 2000 больше подойдет NTFS.

Может возникнуть ситуация, когда необходимо воспользоваться другим типом файловой системы. Например, компьютер с многовариантной загрузкой нескольких операционных систем (Win9x, Linux, OS/2, DOS) требует доступа к загрузочному разделу для всех систем. Для такого тома нужна файловая система, общая для всех ОС. Подробная информация о полезных утилитах для многовариантной загрузки приведена во врезке «Утилиты для файловых систем». Другим примером использования раздела FAT для загрузочного раздела служит применение менеджера загрузки от независимого производителя. Иногда подобные утилиты требуют установки на небольшой раздел FAT на первом жестком диске. Поскольку ни FAT32 (из-за того, что поддерживает тома размером от 512 Мбайт), ни NTFS (из-за больших накладных расходов на малых томах и ввиду того, что менеджеры загрузки производства независимых компаний чаще всего не поддерживают NTFS) для такого случая не подходят, FAT будет единственно возможным решением.

Таблица 4 поможет определиться в выборе файловой системы для конкретных нужд. Для решения проблем многовариантной загрузки можно воспользоваться утилитами от Winternals Software, такими, как NTFSDOS, FAT32 for Windows NT 4.0, NTFS for Win98.

Итак, оба продукта, и NTFS5 и FAT32, в Windows 2000 помогают системе достичь нового уровня производительности, совместимости и управляемости. В частности, на NTFS5 базируются многие новые функции Windows 2000. Только поняв возможности, внутренние особенности и ограничения этих систем, условия применения в той или иной ситуации, можно четко спланировать их использование в системе Windows 2000.

ОБ АВТОРЕ

Шон Дейли - один из редакторов журнала Windows NT Magazine и президент компании iNTellinet Solutions, занимающейся консалтингом и сетевой интеграцией. Имеет звание MCSE. Последней из его книг была «Optimizing Windows NT», выпущенная издательством IDG Books. С ним можно связаться по адресу электронной почты: sean@ntsol.com.


АВТОМАТИЧЕСКАЯ КОНВЕРТАЦИЯ В NTFS5: ЧТО НУЖНО ЗНАТЬ

Ранние версии NTFS система Windows 2000 не поддерживает. Чтобы система могла работать с томом NTFS, нужно конвертировать его в формат NTFS 5.0. Процесс не требует участия пользователя - Windows автоматически преобразует созданный ранними версиями системы том NTFS в формат NTFS5 в момент монтирования тома. Система не выдаст никакой подсказки для подтверждения. Процесс этот происходит быстро (даже для больших томов), и после преобразования перезагружать систему не требуется. Однако при работе в неоднородной среде Windows 2000 могут возникнуть проблемы. Правда, все это касается только локальных дисков, подсоединенных к данной системе, а никак не томов, доступных по сети, которые Windows 2000 не будет модифицировать или конвертировать.

Чтобы использовать системы с многовариантной загрузкой или сменным диском, отформатированным в NTFS, нужно знать некоторые особенности NTFS5. Чтобы NT 4.0 работала с NTFS5, необходимо установить пакет исправлений Service Pack 4 (SP4) или более поздний на все компьютеры с NT. Предыдущие пакеты исправлений не будут работать с томами и выдадут ошибку при начальной загрузке, если Windows 2000 конвертирует загрузочный раздел диска в NTFS5. Преобразование NTFS4 в NTFS5 - односторонний процесс. Обратную конвертацию провести невозможно, даже с помощью утилит независимых разработчиков. Можно только восстановить систему с резервных лент после переустановки NT 4.0. После конвертации тома в формат NTFS5 обнаружится, что нельзя установить или переустановить NT 4.0 из-за ошибочного завершения процесса инсталляции. Кроме того, поскольку NT (даже с SP4 и выше) не может запустить Chkdsk на томах NTFS5, для восстановления дисков нужно загружать Windows 2000.

Многие пользователи хотят установить Windows 2000 наряду со своей рабочей версией NT 4.0, для оценки и тестирования новой операционной системы. Но такая установка может повлиять на уже установленную NT. Из-за невозможности переустановить NT или использовать Chkdsk для проверки вновь созданных томов, управлять установленной системой становится сложно. Я обнаружил, что после выполнения односторонней конвертации система NT начинает работать менее стабильно, а переустановить ее нельзя. Я убедился в этом, когда установил Windows 2000 на отдельный том на своей рабочей станции NT. Если нет желания в дальнейшем использовать именно NT, не стоит беспокоиться о последствиях установки Windows 2000. Но если переход к новой версии намечается только через какое-то время, лучше не устанавливать ее на свою рабочую систему. Можно выделить для этого отдельную машину или подождать до полного перехода на новую версию.


УТИЛИТЫ ДЛЯ ФАЙЛОВЫХ СИСТЕМ

Существует две утилиты производства независимых компаний, которые очень пригодятся при использовании компьютера с установленными на нем разными операционными системами. Первая - Winternals Software?s FAT32 for Windows NT 4.0 - поможет использовать FAT32 на системах с установленными Windows NT и Windows 9х. Данная утилита поддерживает функции чтения и записи при работе с томами FAT32, но не позволяет создавать загрузочный том NT на FAT32. При работе с томами FAT32 на системах с двойной загрузкой Windows 9х и Windows NT, где доступ к томам FAT32 необходим из обеих систем, данная утилита послужит подспорьем.

Другая утилита, Winternals NTFS for Windows 98, обеспечивает возможность чтения и записи при работе с томами NTFS, созданными как в NT, так и в Windows 2000.

При использовании многовариантной загрузки, объединяющей Windows 9х, NT 4.0 и Windows 2000, эти две утилиты просто необходимы.


ПОДСОЕДИНЕНИЕ КАТАЛОГОВ ПРОТИВ DFS

Знакомство с Dfs, как дополнением для NT4.0 или уже в составе Windows 2000, приводит к мысли, что функция подсоединения каталогов во многом напоминает работу этой службы. Однако различия между ними весьма существенны, и используются эти технологии для разных целей (см. Таблицу А).

ТАБЛИЦА A. СРАВНЕНИЕ ВОЗМОЖНОСТЕЙ ТОЧЕК ПОДСОЕДИНЕНИЯ DFS И ТОЧЕК ПОДСОЕДИНЕНИЯ КАТАЛОГОВ NTFS.
ХарактеристикаТочка подсоединения DfsТочка подсоединения каталогов NTFS
Начальная точка подсоединенияЛокальный разделяемый ресурсЛокальный каталог NTFS
Целевая точка подсоединенияЛюбой сетевой ресурсЛюбой существующий локальный каталог
ОтказоустойчивостьДа (в Windows 2000)Нет
ВосстановлениеДаДа (с помощью Chkdsk)
Возможность множественных подсоединенийДаНет
Поддержка кластеровДаНет
APIДаДа
Графические средства управленияДаМинимальные
ТребованияWindows 2000 или NT Server 4.0Windows 2000 с NTFS5

ТАБЛИЦА 1. РАЗМЕР КЛАСТЕРА (АДРЕСУЕМОГО БЛОКА) FAT ДЛЯ ДИСКОВ РАЗНОГО ОБЪЕМА.
Размер тома, МбайтРазмер кластера по умолчанию, Кбайт
0-15*4
16-310,5
32-631
62-1272
128-2554
256-5118
512-102316
1024-204732
2048-409564
4096-8191128**
8192 и более256**

* Тома размером менее 16 Мбайт используют 12-разрядную файловую систему (FAT12).

** Для поддержки FAT разделов объемом 4 Гбайт, которые используют кластеры 128 Кбайт и 256 Кбайт, диск должен задействовать сектор размером более 512 байт.


ТАБЛИЦА 2. РАЗМЕР КЛАСТЕРА (АДРЕСУЕМОГО БЛОКА) FAT32 ДЛЯ ДИСКОВ РАЗНОГО ОБЪЕМА.
Размер тома, МбайтРазмер кластера по умолчанию, Кбайт
512-8191*4
8192-16 3838
16 384-32 76716
32 768 и более32

* FAT32 не поддерживает диски объемом менее 512 Мбайт.


ТАБЛИЦА 3. РАЗМЕР КЛАСТЕРА (АДРЕСУЕМОГО БЛОКА) NTFS5 ДЛЯ ДИСКОВ РАЗНОГО ОБЪЕМА.
Размер тома, МбайтРазмер кластера по умолчанию, Кбайт
0-5120,5
513-10241
1025-20482
2049 и более4

ТАБЛИЦА 4. ВЫБОР ФАЙЛОВОЙ СИСТЕМЫ ДЛЯ WINDOWS 2000.
Назначение томаФайловая система
Все тома на серверах Windows 2000NTFS5
Тома, содержащие файлы, требующие конфиденциальности (включая доступ с полномочиями и шифрование)NTFS5
Тома, требующие квотированияNTFS5
Тома, требующие сжатияNTFS5
Тома рабочих станций, доступные по сетиNTFS5
Тома на системах с двойной загрузкой (Windows 2000 Professional и Windows 9x OSR)FAT32 (Каждую операционную систему нужно устанавливать на свой раздел, его размер для FAT32 должен быть не менее 512 Мбайт.)
Тома, к которым необходим доступ MS-DOS, Windows 3.x, Windows for Workgroups, Win95 OSR, OS/2FAT16
Все остальные томаNTFS5