Файловая система обеспечивает работу важнейших функций; основные из них перечислены ниже. Поддержка целостности данных и предоставление пользователю необходимых возможностей для создания, удаления, чтения и записи файлов. Предоставление высокой пропускной способности и производительности с сохранением устойчивости к ошибкам файловой системы и аппаратного обеспечения. Поддержка различных устройств, например жестких дисков и сменных дисков, у каждого из которых разные объемы и производительность. Предоставление уровня абстракции, позволяющего изолировать приложения от физических характеристик устройства хранения и конкретного местоположения необходимых данных на физическом носителе. Приложения обрабатывают файлы в качестве линейной последовательности байтов и существуют в рамках этой последовательности, произвольно проводя чтение и запись данных. Предоставление уровня абстракции, который позволяет приложениям организовывать файлы в иерархии, например в каталоги, содержащие файлы и другие каталоги. На практике иерархия сугубо логическая структура, поддерживаемая файловой системой, так как все данные размещены в случайных кластерах диска. Предоставление уровня безопасности для данных; например, файловая система NTFS принудительно требует проверки прав доступа к определенным ресурсам, например файлам, каталогам и томам. Поддержка параллельного доступа, т.е. работы нескольких пользователей и обработки одновременных запросов на ввод-вывод от каждого пользователя. Кроме того, предоставляется служба индексирования и блокировок, которая позволяет операции ввода-вывода от какого-либо пользователя получить в исключительное владение определенный файл или область файла. Кроме того, файловая система должна восстанавливаться после отказов в работе приложений, которые приняли во владение такие ресурсы файловой системы, как блокированный фрагмент файла. Файловые системы существуют не сами по себе, а размещены на каких- либо носителях. Хотя оптические носители (компакт-диски и DVD) также имеют файловые системы, в этой книге рассматриваются корпоративные подсистемы хранения данных на базе Windows, которые обычно основаны на жестких дисках. Таким образом, основное внимание в этой главе уделяется организации работы жестких дисков в Windows NT. В первой части главы объясняются такие понятия, как базовые и динамические диски Windows NT, их взаимодействие с разделами и томами. После этого обсуждаются особенности работы NTFS, рассматриваются важные внутренние структуры данных, например главная таблица файлов (MFT), а также такие функции, как сжатие данных, журнал изменений, отслеживание связей, точки повторной обработки и шифрованная файловая система (EFS). В последней части главы описываются файловые системы, применяемые в сетях хранения данных, их преимущества и. технические проблемы, возникающие при создании файловой системы для сети хранения данных. Кроме того, представлены технологии некоторых конкретных производителей. Термин диск используется при описании такого физического носителя, как накопитель IDE или SCSI, а также сменных носителей, например накопителей USB, компакт-дисков и DVD. Логически диск состоит из кластеров, которые характеризуются размером, например 512, 1024, 4096 байт. Термин диск всегда используется при ссылке на физический объект, который можно увидеть и взять в руки. С другой стороны, термины раздел и том, которые описываются в следующих абзацах, представляют собой логические концепции. В контексте администрирования некоторые диски (но не все) могут быть разделены на несколько логических областей, которые называются разделами (partitions). Каждый раздел может содержать указанный объем данных, и это значение представляет собой интегральное количество кластерных единиц. Например, диск объемом 80 Гбайт может быть разбит на два раздела, один из которых предназначен для установки файловой системы и системных утилит, а второй для хранения пользовательских данных. Еще одна причина выделения небольшого раздела на корпоративных сервера^ связана с установкой диагностических утилит. Рис. 6.1. Диски, разделы и тома Том (volume) это набор, состоящий из одного или нескольких разделов. Комбинация разделов может быть подобрана для обеспечения быстродействия, объема, целостности данных или сочетания этих параметров. Например, два раздела могут быть объединены для создания тома большего объема или два раздела одинакового размера могут составлять единый зеркальный том, в котором данные дублируются на каждый из разделов. Такие методы комбинации разделов рассматриваются в главе 9, посвященной массивам RAID. Обратите внимание: комбинирование разделов имеет ряд особенностей, которые зависят от типа диска и версии Windows; более подробно они рассматриваются далее. Если быть точным, то файловые системы размещены на томах. Тома, как уже отмечалось, включают в себя один или несколько дисковых разделов. Дисковые разделы это логические элементы физического диска. На рис. 6.1 приведена многоуровневая структура. Сверху представлен уровень файловой системы, ниже уровень томов, еще ниже уровень дисковых разделов. На рис. 6.1 показана схема NTFS тома V1, который, в свою очередь, состоит из разделов D1-P1 и D2-P2. Кроме того, NTFS установлена на томе V2, который создан из зеркальных разделов D1-P2 и D2-P1 (при этом разделы должны быть одинакового размера). Для обозначения другого метода формирования тома V2 связь между томом и разделами показана штрих- пунктирной линией. Файловая система FAT установлена на томе V3, который состоит из одного раздела D3-P1. Диск D1 разбит на два раздела: D1-P1 и D1-P2. Диск D2 также разбит на два раздела: D2-P1 и D2-P2. Диск D3 имеет только один раздел D3-P1. Обратите внимание, что рис. 6.1 приведен в качестве примера и не описывает всех возможных способов создания томов. Учитывая базовые идеи, лежащие в основе файловых систем, можно обратиться к деталям. В частности, описанию раздела как набора дисковых кластеров не хватает ряда важных подробностей, например: каким образом операционная система собирает данные на нескольких разделах, существующих на определенном диске, и в каком месте начинается и заканчивается определенный раздел. Ответы на эти вопросы требуют более подробного описания, которое приводиться в разделах 6.1.1 и 6.1.2. Кроме того, разделы на базовых дисках иногда в шутку называют «жесткими» разделами, а разделы на динамических дисках «мягкими» (об этом речь идет далее в главе). Эти названия отражают неизменность размера жестких разделов (их невозможно увеличить или уменьшить) и возможность изменения размера мягких разделов, даже если они активно используются в текущий момент времени. Следует упомянуть еще одну особенность. В этой книге рассматривается иерархия, в которой диски делятся на разделы, а разделы составляют тома. Но в некоторых книгах термины том и раздел взаимозаменяемы, особенно если предполагается, что том состоит из одного раздела. Более того, в некоторых книгах взаимозаменяемыми являются термины раздел и диск. Читая эту книгу, помните о трехуровневой иерархии: физические диски делятся на логические элементы, которые называются разделами, а разделы, в свою очередь, определенным образом формируют другие логические элементы, которые называются томами. Файловая система. всегда взаимодействует непосредственно с томами. 6.1.1 Базовые диски Идея разделения рабочего пространства дисков существует уже довольно давно. Термин базовый диск (basic disk) впервые появился в Windows 2000 и описывал диски, в которых для предоставления информации о разбивке диска на логические разделы применялись устаревшие технологии DOS. Первый физический сектор на каждом диске как базовый, так и динамический имеет важнейшее значение. Этот сектор содержит структуру данных, которая называется главной загрузочной записью (Master Boot Record MBR) и предоставляет информацию об организации диска, а также участвует в загрузке компьютера. Независимо от операционной системы, запись MBR одинакова для всех персональных компьютеров. Она может иметь размер до 512 байт и включает в себя четыре элемента. 1. Программа загрузки, которая имеет размер до 442 байт. Этот код отвечает за сканирование таблицы разделов (описывается ниже), поиск начального сектора загрузочного раздела, загрузку содержимого раздела в оперативную память и передачу управления этому коду, размещенному в памяти. Уникальный номер размером 4 байт, который называется сигнатурой диска. Сигнатура всегда расположена со смещением 0x01В8 (с начала сектора) и используется в качестве индекса в системном реестре для сохранения и получения информации о диске. Таблица разделов, которая может содержать до четырех записей. Первая запись всегда расположена со смещением 0x01 BE. Каждая запись имеет размер ровно 16 байт. Один из описанных в таблице разделов отмечен как активный. С этого раздела загружается операционная система. Первый сектор каждого раздела называется загрузочным сектором тома (volume boot sector VBS) и по своей структуре напоминает MBR. Разница между ними заключается в том, что запись MBR одна на весь диск, а загрузочный сектор существует у каждого тома. Таким образом, один физический диск может иметь несколько загрузочных секторов тома. Каждый загрузочный сектор диска содержит информацию о томе, например размер, количество секторов и метку. Кроме того, загрузочный сектор тома содержит код загрузки операционной системы, который загружается кодом раздела MBR. Маркер завершения MBR, который всегда равен 0х55АА. Обратите внимание: раздел MBR может содержать записи только о четырех разделах, т.е. диск можно разбить максимум на четыре раздела. Для предоставления большего количества разделов один из четырех разделов можно преобразовать (получив тем самым расширенный раздел). Такой раздел может содержать собственную таблицу разделов. Описываемое разделение таблиц разделов теоретически может продолжаться до бесконечности. Базовые диски в полной мере поддерживаются в Windows 2000, Windows ХР и Windows Server 2003. Хотя эта поддержка необходима, она не лишена определенных недостатков. Одна из проблем состоит в том, что упомянутые системы не поддерживают создания сложных томов на основе разделов базовых дисков. Под термином сложный том подразумевается том, состоящий из нескольких разделов различных базовых дисков. Примером служит том, состоящий из двух разделов различных базовых дисков для получения единого тома большего объема. В Windows NT 4.0 такие тома называются составными (spanned). Операционные системы Windows 2000 и Windows Server 2003 поддерживают уже существующие составные тома на основе базовых дисков, однако создание новых составных томов на основе базовых дисков не поддерживается. Устаревшие составные тома, которые создавались в более ранних версиях Windows NT (до Windows 2000), могут быть импортированы в Windows 2000, Windows ХР и Windows Server 2003. Базовые диски обладают определенными недостатками. Например, они весьма чувствительны к повреждению первого сектора, который содержит запись MBR. Только аппаратные (а не программные) массивы RAID позволяют обойти это ограничение. Массивы RAID рассматриваются в главе 9. Данные записи MBR не дублируются в программных системах RAID, и для этого есть свои причины: если система загружается и получает доступ к записи MBR, драйвер' программного решения RAID еще не загружен, поэтому не сможет помочь в решении проблем с повреждением записи MBR. Еще один недостаток базовых дисков необходимость перезагружать компьютер при изменении конфигурации разделов. 6.1.2 Динамические диски Операционная система Windows 2000 ввела в обиход концепцию динамических дисков (dynamic disks). Динамические диски предназначены для преодоления недостатков базовых дисков. Динамические диски можно перенастраивать «на лету», даже когда приложения (и файловые системы) получают доступ к диску. Сервер не требует перезагрузки для того, чтобы новая конфигурация динамического диска была активизирована для системы. Тома динамических дисков могут быть перенастроены без нарушения обращений к тому или перезагрузки операционной системы. Кроме того, динамические диски более устойчивы к отказам в работе, чем базовые диски, так как важная конфигурационная информация дублируется и копируется на другие физические диски, входящие в дисковую группу. Как показано на рис. 6.2, а, каждый динамический диск поддерживает базу данных объемом 1 Мбайт; речь идет о базе данных диспетчера логических дисков (logical disk manager LDM). Чтобы предотвратить повреждение данных (например, вследствие работы устаревшей утилиты или в результате вмешательства другой операционной системы), все динамические диски содержат запись MBR, как и базовые диски. Для динамических дисков, которые не содержат файлов операционной системы, запись MBR создается так, чтобы охватить один раздел, занимающий весь физический диск. Вспомним понятия загрузочного (boot) и системного (system) разделов в Windows NT . Загрузочный раздел содержит файлы операционной системы, например каталог WinNT. Системный раздел содержит загрузочный код. Поскольку загрузочный код Windows NT не поддерживает динамических томов, запись MBR иногда (когда диск содержит системн
Глава 6 Файловые системы / Серверные технологии хранения данных в среде Windows^ 2000 Windows^ Server 2003
Комментариев нет:
Отправить комментарий