Файловая система ntfs: обзор версий, производительность

РАЗДЕЛ VI. ИНФОРМАЦИОННЫЕ СИСТЕМЫ В ЭКОНОМИКЕ И УПРАВЛЕНИИ

А. С. Болотов Т.П. Болотова

ФАЙЛОВАЯ СИСТЕМА NTFS: ОБЗОР ВЕРСИЙ, ПРОИЗВОДИТЕЛЬНОСТЬ FILE SYSTEM NTFS: REVIEW OF VERSIONS, PRODUCTIVITY

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

Ключевые слова: файловая система, операционная система Windows, атрибуты безопасности, распределенная файловая система, шифрующая файловая система, метафайл.

Abstract: file system NTFS - the main file system used in different versions of the Windows operating system. For the first time having appeared in July 1993 г., it permanently develops. The file system NTFS provides safe information storage as any changes occurring in file system, are executed with transaction mechanism use. The file system NTFS provides a set of the possibilities providing convenience of operation of users and administrators. Results of experiment carried out by authors of article, show competitive advantages of file system NTFS.

Keywords: file system, Windows operating system, security attributes, distributed File System, Encripting File System, metafile.

Файловая система - важная часть любой операционной системы, отвечающая за организацию хранения и доступ к данным на носителях информации. Файловая система NTFS (New Technology File System) в настоящее время является основная файловой системой различных версий Windows. Она постоянно развивается. Существует несколько версий этой файловой системы. Рассмотрим вначале основные возможности и характеристики версии NTFS для операционных систем семейства Windows NT и Windows 2000.

Прежде всего, необходимо сказать о надежности NTFS. Любые изменения, происходящие в файловой системе, выполняются с использованием механизма транзакций. Журнал изменений, в котором отражаются все модификации объектов файловой системы, произошедшие с момента начала очередной транзакции, позволяет восстановить корректное состояние в случае, например, сбоя электропитания. NTFS поддерживает систему метаданных и использует специализированные структуры данных для хранения информации о файлах для улучшения производительности, надёжности и эффективности использования дискового пространства. NTFS хранит информацию о файлах в главной файловой таблице - Master File Table (MFT). MFT

© А.С. Болотов, Т.П. Болотова, 2012

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

Далее перечислены основные возможности, предоставляемые файловой системой NTFS [1]:

• атрибуты безопасности, или «разрешения NTFS», которые могут быть установлены для отдельных файлов и для папок. Атрибуты безопасности позволяют разграничить доступ разных пользователей к объектам файловой системы;

• возможности сжатия, включая возможность сжатия или распаковки диска, папки или определенного файла;

• шифрующая файловая система (Encrypting File System, EFS) - надстройка над NTFS, обеспечивающая шифрование файлов пользователей;

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

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

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

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

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

• Высокоэффективное индексирование содержимого. Служба индексирования предоставляет пользователям быстрый, простой и безопасный способ поиска локальных или сетевых данных.

Рассмотрим новые возможности NTFS, появившиеся в Windows Server 2003 и Windows XP [4]:

• распределенная файловая система (DFS) обеспечивает упрощенный отказоустойчивый доступ к файлам и репликации по глобальным сетям. Распределенная файловая система состоит из двух технологий:

o пространства имен DFS. Эта возможность позволяет администраторам группировать общие папки, расположенные на разных серверах, и предоставлять их пользователю в виде виртуального дерева папок, или так называемого пространства имен. Использование пространства имен предоставляет различные преимущества, в том числе повышение доступности данных, распределение (балансирование) нагрузки и упрощение переноса данных. Пользователи работают с данными, используя логические имена, что позволяет администраторам манипулировать физическими

наборами данных для обеспечения большей производительности системы;

o репликация DFS использует новый алгоритм сжатия, называемый удаленным разностным сжатием (Remote Differential Compression -RDC). RDC является протоколом дистанционного обнаружения различий, который можно использовать для эффективного обновления файлов в сети с ограниченной пропускной способностью. В алгоритме RDC выявляются места вставки, удаления и перемещения данных в файлах, что позволяет службе репликации DFS при проведении обновления выполнять репликацию только внесенных изменений.

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

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

Система CLFS оптимизирована под быстродействие. Все записи в файл журнала хранятся в буфере до тех пор, пока не произойдет явная очистка, не появится возможность общей записи с другим клиентом или не заполнится буфер. Данные журнала записываются без копирования прямо на жесткий диск из буферов журнала. Несколько потоков данных могут быть записаны во время одной операции ввода-вывода, что обеспечивает только одну операцию поиска вместо обычных нескольких операций поиска и записи. Операции чтения кэшируются, чтобы уменьшить использование диска во время обычной работы или резкого увеличения количества операций чтения.

Рассмотрим новые возможности NTFS, появившиеся в Windows Server 2008, Windows Vista [2]:

• изменения в шифрующей файловой системе (EFS):

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

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

пользователя, выполняются на смарт-карте. При использовании режима с кэшированием на основе закрытого ключа пользователя создается симметричный ключ, кэшируемый в защищенной памяти. Операции шифрования и расшифровки, выполняемые с помощью ключа пользователя, заменяются соответствующими симметричными криптографическими операциями с использованием производного ключа. Это устраняет необходимость подключения смарт-карты или использования процессора смарт-карт для каждой операции расшифровки, что значительно повышает производительность работы; o единый вход с помощью смарт-карты. Единый вход с помощью смарт-карты инициируется в тех случаях, когда пользователь пытается войти в систему с помощью смарт-карты и при этом у пользователя нет на компьютере действительного ключа шифрования файловой системы EFS, а параметры политики требуют применения смарт-карт для файловой системы EFS, или у пользователя есть действительный ключ шифрования файловой системы EFS, хранящийся на смарт-карте, с помощью которой осуществляется вход в систему. Когда инициируется единый вход в систему, файловая система EFS кэширует ПИН-код, введенный пользователем при входе в систему, а также использует его для выполнения своих операций. Поэтому в ходе сеанса пользователь не получает от файловой системы EFS запросов ПИН-кода. Если смарт-карта, с помощью которой пользователь вошел в систему, извлекается из модуля чтения смарт-карт до выполнения каких-либо операций шифрования, единый вход отключается. При попытке выполнить первую операцию файловой системы EFS пользователь получает указание вставить смарт-карту и ввести ПИН-код; o шифрование автономных файлов для отдельных пользователей. Автономные копии файлов, находящихся на удаленных серверах, также можно шифровать с использованием файловой системы EFS. Если этот параметр включен, каждый файл, находящийся в автономном кэше, шифруется с помощью открытого ключа пользователя, который выполнил кэширование файла. Таким образом, только этот пользователь имеет доступ к файлу, и даже локальные администраторы не могут прочитать файл без доступа к закрытым ключам пользователя.

• шифрование диска Windows BitLocker. Шифрование диска Windows BitLocker - это средство безопасности, с помощью которого обеспечивается защита самой операционной системы на компьютере пользователя, а также данных, которые хранятся на томе операционной системы, или на других томах. С помощью BitLocker можно выполнять шифрование всех данных, которые хранятся на томе операционной системы Windows, а также в настроенных томах данных. Это сама операционная система Windows, файлы гибернации и подкачки, приложения и данные, которые используются ими. По умолчанию средство BitLocker настроено на использование доверенного платформенного модуля (TPM) для обеспечения целостности компонентов, которые используются на ранних этапах процесса запуска. Тома, защищенные с помощью BitLocker, «блокируются» таким образом, что даже при вскрытии компьютера в момент, когда операционная система не запущена, защита продолжает действовать.

Рассмотрим новые возможности NTFS, появившиеся в Windows Server 2008 R2 и Windows 7 [3]:

• поддержка дефрагментации метаданных системы. До Windows 7 и Windows Server 2008 R2 было невозможно дефрагментировать некоторые метаданные

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

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

• возможность отключать короткие имена для каждого тома в отдельности. В предыдущих версиях Windows короткие имена можно было отключать только глобально. Кроме того, в средство командной строки Fsutil добавлены дополнительные команды, связанные с shortname. Теперь это средство может очищать короткие имена из каталога и поддерживает журнал со сведениями об очищенных файлах и ошибках. Отключение и очищение коротких имен может значительно снизить время, затрачиваемое на создание файлов и составление списков каталогов с очень большим количеством файлов;

• встроенная поддержка дисков в формате VHD. Виртуальные жесткие диски (VHD) обычно используются пакетами виртуализации, например Microsoft Virtual PC, и системами виртуализации, основанными на Microsoft Hyper-V. Улучшения механизмов подключения и загрузки и дополнительная поддержка многими компонентами Windows обеспечивают следующие возможности:

o мобильность экземпляров. Миграция экземпляров операционных систем между компьютерами без перенастройки операционной системы, настроенных ролей или служб; o управление несколькими экземплярами VHD. Обеспечение работы нескольких экземпляров операционных систем одним компьютером без изменений разделов диска. Примеры использования этой функции - организация отказоустойчивости образов операционных систем и возможность изменять службы, работающие на сервере; o централизованное развертывание. Загрузка с единого централизованного образа, существенно упрощающая процесс развертывания и внедрения; o обслуживание образов компьютеров без подключения к сети. Обслуживание компьютера за счет обновления образа без подключения VHD к сети; o архивация. Загрузка с резервного образа с помощью системы архивации данных Windows Server 2003.

• повышенная эффективность Chkdsk. Выполнение Chkdsk под управлением Windows Server 2008 R2 занимает значительно меньше времени, чем под управлением более ранних версий Windows;

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

• ускорение локального копирования файлов. Улучшено локальное копирование файлов за счет оптимизации памяти и диспетчера кэша. Уменьшено время копирования маленьких, средних и больших (более 8 Мбайт) файлов. Наиболее значительные улучшения касаются средних и больших файлов.

В заключение - несколько слов о производительности NTFS. Авторами был проведен эксперимент по сравнению производительности файловых систем NTFS и ext4 v1.0 при копировании файлов разных размеров. Источник и получатель находились на одном и том же физическом диске. Эксперимент, как и полагается, проводился на одинаковых, с точки зрения аппаратных компонентов, компьютерах. Исходные данные и результаты приведены в таблице.

Таблица

Сравнение производительности файловых систем_

Операционная система Копируемые файлы Размер и кол-во файлов Время копирования

Windows 7 Дистрибутив (iso) Windows 7 Один файл 2,3 Гб 1 мин. 10 сек.

Ubuntu 11.04 1 мин. 42 сек.

Windows 7 Папка с фотографиями 907 файлов. Общий объем 1,7 Гб 1 мин. 22 сек.

Ubuntu 11.04 1 мин. 27 сек.

Windows 7 Дистрибутив (часть) Windows XP 4021 файл. Общий объем 202 Мб 35 сек.

Ubuntu 11.04 15 сек.

Файловая система ext4 v1.0 была выбрана в качестве «конкурента», поскольку она является, в настоящий момент, основной файловой системой для многих популярных версий Linux. Как видно из таблицы при копировании файлов большого объема Windows с NTFS опережает конкурента. При копировании средних по размеру файлов (от 2 до 4 Мб) результаты примерно одинаковы. Linux с ext4 выигрывает соревнование только при копировании очень небольших файлов. Таким образом, файловая система NTFS обладает множеством замечательных возможностей и достоинств, обеспечивающих удобство работы пользователей и администраторов.

Литература

1. Helen Custer. Inside the Windows NT file system // Microsoft Press, 1994. - 91 с.

2. Brian Carrier. File System Forensic Analysis // Addison-Wesley Professional; 1 edition (March 27, 2005). - 600 с.

3. Mark E. Russinovich, David A. Solomon, Alex Ionescu. Windows Internals, Part 1: Covering Windows Server 2008 R2 and Windows 7 // Microsoft Press; Sixth Edition edition (April 5, 2012). - 752с.

4. Электронный ресурс TechNet http://technet.microsoft.com/ru-ru/windowsserver

А.Л. Гвоздев

АНАЛИЗ СИСТЕМЫ РАЗРАБОТКИ ПРОГРАММ ANALYSIS OF SYSTEM PROGRAMMING

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

© А.Л. Гвоздев, 2012