Windows 2000 и XP - курс молодого администратора (Часть 7) :::

Иван Марциновский, Алексей Смирнов [часть 1, часть2, часть 3, часть 4, часть 5, часть 6, часть 7, часть 8]

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

Диски и файловая подсистема

"Женщины из моей группы никогда не занимались этим, - признался дон Хуан, но не потому, что они не могли, а потому, что я отговаривал их. Женщины из твоей группы, с другой стороны, делали это так же часто, как меняли юбки".
Карлос Кастанеда, "Искусство сновидения"

Как известно, первые операционные системы вроде CP/M или MS-DOS создавались в основном для того, чтобы управлять файлами, расположенными на дисках или других носителях, не зря DOS расшифровывается как Disk Operating System (то есть Дисковая Операционная Система). Были, конечно же, в их составе и сетевые расширения, и прообразы интерфейсов программирования, но они использовались достаточно редко, а иначе говоря, далеко не везде и не всегда. Сегодня же операционная система берет на себя гораздо большую функциональную нагрузку, чем просто работа с долговременной памятью (дисками): это предоставление интерфейсов программному обеспечению, обеспечение взаимодействия с пользователем, управление аппаратной частью и предоставление пользователю базового набора утилит и системных программ (очень различного, кстати сказать, у разных операционок). Тем не менее, ключевыми остались функции системы, реализующие работу с файлами, дисками и иными накопителями информации, это и неудивительно: важность надежного хранения информации очевидна, а последствия ее утери могут носить весьма неприятный характер.

Если сравнивать встроенные в Windows 2000 механизмы работы с дисковыми и файловыми системами с аналогичными в Windows NT 4.0, то можно сказать, что они не претерпели кардинального изменения. Но в то же время, следует отметить, что эти механизмы теперь обладают новыми чертами и особенностями реализации: так, кроме поддержки в Windows 2000 файловой системы FAT32 и новой спецификации NTFS (NTFS 5.0), обращает на себя внимание совершенно новая схема работы с дисковыми разделами. Теперь, работая с Windows 2000 Professional, вы можете использовать диски двух разных типов: базовые и динамические. Базовым назван способ разбиения диска, который с давних времен применяется в таких системах, как DOS, Windows 9x, а также в Windows NT. Этот формат дисков основан на использовании таблиц разделов (partition tables), в которых хранятся сведения о размере разделов, адреса начальных секторов каждого раздела, а также некоторые другие не менее важные для ОС данные. При этом раздел всегда представляет из себя непрерывный набор секторов, а на базовый том накладывается ограничение - он может занимать смежные секторы только одного раздела (некое исключение представляет использование составных томов в Windows NT 4.0 - но они не являются полностью переносимыми, без части информации хранимой в реестре NT вы не сможете прочитать с них какие-либо данные). Динамические диски - это новшество Windows 2000, которое позволяет использовать более гибкую схему разбиения винчестера на разделы, а значит, и всю мощь и преимущества составных томов (например, использовать тома очень большого размера, состоящие из нескольких разделов нескольких различных физических дисков, а также повышать отказоустойчивость дисковой подсистемы за счет применения программных RAID). При этом теперь вы можете манипулировать их структурой, не только не теряя при этом важную информацию, но и даже не перезагружая компьютер!

Как же этого добились разработчики компании "Майкрософт"?

Подсистема долговременного хранения данных в Windows 2000 состоит из двух основных компонентов: FT Disk (Fault-tolerant Disk Manager) - диспетчер отказоустойчивых дисков, перенесенный из Windows NT для сохранения совместимости и для обеспечения работы со старыми базовыми дисками. LDM (Logical Disk Manager) - диспетчер логических дисков, поддерживающий новые механизмы отказоустойчивости, обеспечивающий работу с системными метаданными, а также позволяющий пользователям использовать более удобные способы управления и администрирования дисков.

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

После того как жесткий диск разбит на тома, нужно выбрать, под использование какой файловой системы форматировать тот или иной том.

Для работы с файлами разные операционные системы поддерживают разные типы файловых систем. Наиболее распространенные файловые системы - это CDFS, UDF, FAT12, FAT16, FAT32, NTFS, HPFS (файловая система уходящей сейчас на покой, но некогда очень популярной OS/2), Windows 2000 поддерживает первые шесть из перечисленных. Ниже мы дадим их краткое описание. Первые две файловые системы будут нас интересовать гораздо меньше остальных, так как они предназначены для использования на компакт- и DVD-дисках.

CDFS (CD File System) - это наиболее простой формат, но он имеет ряд существенных ограничений, например, длина имени файла не должна превышать 32 байта, вы не можете использовать глубоко вложенные каталоги и так далее, поэтому сейчас используется более прогрессивный формат UDF (Universal Disk Format), который является надмножеством формата CDFS.

UDF - современный стандарт файловой системы дисков, поддерживаемый Ассоциацией технологий оптической долговременной памяти (OSTA). По некоторым своим характеристикам он уже больше напоминает форматы файловых систем, используемых в жестких дисках, достаточно сказать, что поддерживаемый размер собственно имени файла увеличен до 256 символов, добавлена возможность загрузки ОС, списки управления доступом, а также потоки. В состав Windows 2000 включена поддержка UDF v1.5, в то время как Windows 98 ограничивается UDF v1.02. Хочется еще заметить, что в текущих версиях Windows 2000 Professional драйвер UDF позволяет производить только операции чтения, для записи дисков вам придется воспользоваться реализациями UDF сторонних производителей.

FAT12 - наверное, является самой распространенной на сегодняшний день файловой системой, так как применяется практически на всех без исключения дискетах. Общее название всех форматов файловых систем типа FAT произошло от слов "таблица размещения файлов" (File Allocation Table), которая располагается в начале тома данных. Вторая часть имени представляет собой число, указывающее разрядность идентификатора кластера на диске. Для FAT12 это, соответственно, 12 разрядов, следовательно, максимальное число кластеров на диске будет равно 212=4096. Максимальный размер кластера, поддерживаемый Windows 2000, - 8 килобайт, из нехитрых расчетов видно, что максимальный размер тома для хранения информации с использованием FAT12 не сможет превысить 32 Мб, что, конечно же, очень мало для современных приложений (сама Windows не встанет на такой диск). Напрашивается вопрос: зачем же тогда оставлена поддержка FAT12? Ответ прост: все дискеты 5,25 дюймов и часть 3,25 дюймовых продолжают использовать формат FAT12, так как он оптимален для таких небольших дисков. Если бы стал использоваться FAT32, то на дискете, после того как туда будет записана таблица размещения файлов, осталось бы довольно мало места для самих файлов.

FAT16 - была представлена в MS-DOS 3.0 и до недавнего времени оставалась одной из самых распространенных файловых систем. По принципу устройства она ничем не отличается от своей младшей сестры FAT12, но размер указателя кластера на диске увеличен до 16 разрядов, таким образом, стало возможным адресовать до 65536 кластеров, что при использовании размера кластера 64 Кб позволяет адресовать 4 Гб дискового пространства. При создании формата казалось, что диска размером в 4 Гб в обозримом будущем должно хватить для любых нужд, тем более что на одном физическом диске можно создать несколько логических, но практика показала несостоятельность этой идеи, воплотившуюся в FAT32.

FAT32 - самая новая и мощная файловая система семейства FAT. Как явствует из названия, у нее 32-разрядный идентификатор файла, но в силу некоторых особенностей эффективно используются только младшие 28 бит. Учитывая, что максимальный размер кластера для FAT32 составляет 32 Кб, получаем, что том может иметь размер 8 терабайт. На самом деле Windows 2000 не позволит вам создать том, размер которого превышает 32 Гб, хотя, что забавно, позволяет работать с такими томами, если они созданы другими операционными системами.

Том, размеченный с применением FAT, устроен следующим образом. В самом начале содержатся две копии таблицы расположения файлов File Allocation Table; обе они абсолютно идентичны, и дубликация производится только для того, чтобы в случае повреждения одной из них можно было восстановить данные, пользуясь сведениями, содержащимися в другой. При форматировании все пространство тома размечается на кластеры, о которых мы уже упоминали. Размер кластеров может варьироваться в довольно широких пределах, определяемых типом файловой системы, а также пожеланиями пользователя, данные по размерам кластеров, используемым по умолчанию, приведены в таблице.

О выборе размера кластера стоит поговорить особо. Все файловые системы, использующие в своей основе FAT, устроены так, что для хранения каждого из файлов нужно выделить хотя бы один кластер. Даже если вы храните файл нулевого размера, а размер кластера составляет 64 Кб, то вы потеряете 64 Кб. При этом частично занятый кластер уже не может в себя вместить какие-либо данные, принадлежащие другому файлу. Он оказывается выкинутым из системы, а незаполненное место не используется. Так получается, что при хранении множества маленьких файлов впустую теряются сотни мегабайт дискового пространства! Казалось бы, нет ничего проще, чем разбивать диск на максимально возможное количество кластеров, тогда каждый из них будет меньшего размера, и, соответственно, меньше места будет выкидываться на "свалку". Логика, казалось бы, верная, но она верна только до определенной поры. Начиная с какого-то момента, кластеров оказывается слишком много, а ведь на хранение информации о каждом из них выделяется 8 байт (32 бита в основной и столько же в резервной таблице разбиения файлов). Получается, что если использовать максимальное количество кластеров, то для хранения только таблиц FAT на достаточно больших дисках потребуется 2 Гигабайта! Все бы было не так плохо, если бы эти таблицы находились только в долговременной памяти, но ведь для обеспечения приемлемой скорости работы они кэшируются диспетчером кэша в ОЗУ!!! Поэтому, трижды подумайте, прежде чем менять размер кластера, предлагаемый по умолчанию.

О каждом кластере в FAT содержится некоторая информация, которая описывает состояние кластера: unused (не используется); claster in use by file (кластер содержит информацию файла); claster in file (последний кластер файла); last bad claster (испорченный кластер).

Ключевую роль играет корневая папка (корневой каталог), она находится на диске в четко определенном месте и имеет фиксированный размер. В FAT12 и FAT16 ей выделяется место, достаточное для хранения 256 записей, в начале тома. Таким образом, для этих файловых систем существует ограничение на число файлов и папок, находящихся непосредственно в корневом каталоге. Каждая папка содержит для каждого вложенного в нее файла и папки запись определенной длины, зависящей от типа файловой системы, в которой содержится информация о времени и дате создания, последнего доступа и последней модификации объекта (файла или папки), указатель на начальный кластер файла, его размер и собственно имя и расширение файла. Каждый кластер содержит в себе указатель на следующий кластер, содержащий этот файл, таким образом, файл может быть разбросан по диску без всякой системы, находясь в нескольких кластерах. Если кластер не содержит указателя, то он имеет идентификатор (0хFFFF - для FAT16 и 0xFFF для FAT12), который показывает, что этот кластер последний. Если имя файла не соответствует формату 8.3, то для его хранения выделяются дополнительные записи в таблице размещения файлов.

NTFS (NT File Sistem) сильно отличается от FAT по своим характеристикам и способу устройства. Эта система изначально поддерживалась платформами NT, и Windows 2000 работает с ней лучшим образом, чем со всеми другими. В отличие от рассмотренных выше файловых систем, данная работает с указателями на файлы длиной 64 бита, а это обеспечивает поистине громадные размеры для тома: до 16 экзабайт (263 -1) при размере кластера 64 килобайта. Сейчас не приходится говорить о том, что кому-то реально нужны такие объемы, но емкость дисков растет, и неизвестно, сколько дискового пространства понадобится серверу для успешной работы в будущем. Ниже перечислены все основные характеристики NTFS. кластер имеет размер от 512 байт до 64 Кб, минимальный размер тома составляет 10 Мб, максимальный размер - до 16 экзабайт (реально Windows позволяет адресовать только первые 128 Тб), используя NTFS, невозможно форматировать дискеты, возможность устанавливать разные права доступа к различным объектам файловой системы для отдельных лиц и групп, дисковые квоты, восстановление тома при сбоях, обеспечиваемое ведением журнала дисковой активности, где ведется протоколирование транзакций, поддержка шифрования файлов "на лету", возможность сжатия отдельных файлов и каталогов (если размер кластера не превышает 4 Кб), поддержка чередующихся томов, обеспечивающих быстрый доступ к данным, зеркальные тома и тома RAID-5, позволяющие обеспечить высокую надежность хранения данных.

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

Наиболее важная часть тома NTFS - загрузочный сектор раздела (Partition Boot Sector), он начинается с нулевого сектора и может иметь длину до 16 секторов. В PBS содержится информация о строении тома и файловой системы, а также имеется указатель на загрузчик операционной системы, установленной на компьютере.

Все файлы описываются в главной таблице файлов MFT (Main File Table). Она представляет собой набор записей о файлах, каждая запись имеет длину 1 Кб и обычно соответствует одному файлу. Структура NTFS довольно сложная, вся система хранится в нескольких файлах, каждый из которых содержит определенный тип информации (файлы журнала, тома, параметров защиты, распределения кластеров тома и т. д.)

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

Тот факт, что данные являются атрибутом файла, как следствие, ведет к тому, что у файла и каталога может быть несколько таких атрибутов - т. е. потоков данных (stream). По умолчанию вновь созданный файл имеет единственный неименованный поток, а если добавляются новые, то они уже будут именоваться. Приложения и пользователь могут создавать такие потоки, причем обращаться к ним нужно следующим образом:

имя_файла.расширение:поток

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

Еще одна интересная особенность NTFS - возможность создавать жесткие связи и точки соединения. Создавая жесткую связь, вы получаете возможность ссылаться на один и тот же объект файловой системы по нескольким разным путям: например, можно сделать так, чтобы папка внутри раздела "Мои документы" \Мои документы\С ссылалась на диск С:\. Тогда на диск С можно будет ссылаться по двум путям. Точки соединения выполняют схожую функцию: они перенаправляют пользователя из одного каталога в другой прозрачно для него.

Если у вас на диске хранятся важные данные, можно воспользоваться функцией шифрования файлов, которая предоставляется расширением файловой системы NTFS - EFS (Encrypting File System). Шифрование файлов и их дешифрация происходят также прозрачно для пользователя, однако при запросе на доступ к файлу со стороны пользователя проверяется, соответствует ли учетная запись данного пользователя учетной записи того пользователя, который имеет право на доступ к этим данным. Вкратце алгоритм шифрования выглядит следующим образом: вначале EFS генерирует случайное число, с помощью которого шифрует файл, затем при помощи открытого ключа из пары ключей, сопоставляемых данной учетной записи, шифруется это число и сохраняется вместе с файлом; таким образом, для того чтобы расшифровать файл, нужно знать это случайное число, а его невозможно получить, не зная секретного ключа.

Поскольку Windows 2000 в большой степени ориентирована на работу в сети, это не могло не сказаться на файловой системе. Специально для облегчения доступа к сетевым ресурсам и объединения всех файловых ресурсов в одном пространстве имен создана DFS (Distributed File System). Она позволяет присваивать различным физическим адресам общих ресурсов в сети удобные и понятные логические имена, по которым и будет обращаться пользователь к интересующей его информации, при этом реальный физический адрес он может так никогда и не узнать.

Управление и настройка DFS производится с помощью оснастки Распределенная Файловая Система. В первую очередь, необходимо указать корень файловой системы, который представляет собой некоторый общий ресурс, находящийся на сервере. Затем к этому корню можно добавлять логические имена, находящиеся на более низком уровне. Эти имена также могут быть связаны с другим корнем DFS, поэтому, в конце концов, может получиться достаточно сложная разветвленная структура имен, но при правильном планировании она будет логичной и понятной.

Источник: "Компьютер Price", http://www.comprice.ru

 
 
Hosted by uCoz