10.3 Windows Server 2003
10.3 Windows Server 2003
В Windows Server 2003 сохранены сильные стороны предыдущих версий Windows NT и добавлены собственные возможности, относящиеся к подсисте-
Рис. 10.5. Возможности подсистемы хранения данных в Windows Server 2003 и будущих версиях
ме хранения данных. Чтобы проиллюстрировать объем работы, выполненный разработчиками Microsoft, обратите внимание на рис. 10.5.
Незакрашенные прямоугольники на рис. 10.5 демонстрируют возможности подсистемы хранения Windows Server 2003, рассматриваемые в этой главе. Закрашенные прямоугольники показывают компоненты, которые с высокой долей вероятности появятся в будущих версиях Windows Server. Конкретная версия будущей операционной системы еще не известна. Судя по сложившимся традициям Microsoft, возможно несколько вариантов.
Поставка вместе со следующей основной версией Windows NT (на данный момент она имеет кодовое наименование Microsoft Longhorn и будет выпущена в 2005 году).
Поставка в составе пакета Windows Resource Kit или пакета обновлений (Service Pack).
Поставка в виде обновления, доступного для загрузки с Web-узла Microsoft (например, через службу Windows Update).
Поставка через независимых производителей аппаратного и программного обеспечения; например, Microsoft предоставит соответствующий программный пакет партнерам, которые используют его в собственных системах.
10.3.1 Модель драйверов Storport
Как отмечается в главе 1, Windows NT предоставляет уровень драйверов устройств, который позволяет достичь эффективного и масштабируемого ввода-вывода.
Дополнительная информация о стеке ввода-вывода Windows и всех его уровнях подробно описана в главе 1. Достаточно сказать, что одним из этих уровней является уровень драйверов порта. Драйвер порта отвечает за получение запросов ввода-вывода от верхних уровней, подготовку блоков команд SCSI и передачу запросов непосредственно устройству. Драйверы порта отвечают за хранение информации, которая позволяет осуществлять взаимодействие с устройством. Создавая блоки команд SCSI и обрабатывая результаты их выполнения, драйверы порта используют службы драйвера мини-порта, который создается производителем устройства.
До выхода Windows Server 2003 компания Microsoft предоставляла драйвер SCSIPort и оставляла производителям возможность создавать драйвер мини-порта SCSIPort, отвечающий за поддержку устройств Fibre Channel и SCSI. Отдельный установочный образ Windows NT мог содержать несколько драйверов мини-порта от различных производителей. Драйвер SCSIPort перенаправлял запросы соответствующему драйверу мини-порта.
При использовании этого подхода возникал ряд проблем.
В описываемой модели предполагается, что устройства Fibre Channel обладают возможностями, аналогичными функциям устройств SCSI, однако это не соответствует действительности, как и то, что новые устройства SCSI-3 подобны более старым устройствам SCSI.
Чтобы упростить задачу создания драйвера мини-порта, драйвер SCSIPort поддерживает однопоточную, а не дуплексную модель ввода- вывода. Это не позволяет системе достичь необходимой и возможной скорости обмена данными.
Драйвер порта содержал определенную информацию, которая не передавалась драйверу мини-порта, чтр требовало от него получения этих данных с помощью нескольких вызовов. В частности, это относится к спискам сборки/разборки.
Не желая мириться с ограничениями стандартной модели, производители устройств Fibre Channel создавали единый драйвер, в котором объединялись функции драйверов порта и мини-порта, или заменяли драйвер порта собственным драйвером. Поскольку этот процесс требовал тщательного анализа функций драйвера порта, такие попытки в лучшем, случае работали не совсем стабильно. Кроме того, ситуация еще более усложнялась, если возникала необходимость запустить драйвер мини-порта от одного производителя вместе с драйвером порта от другого производителя.
В Windows Server 2003 предоставлена новая модель драйверов Storport. Теперь от производителей адаптеров шины (НВА) ожидается создание драйвера мини-порта, который подключается к драйверу Storport, а не к драйверу SCSIPort. Чтобы минимизировать усилия по созданию новых драйверов, компания Microsoft сохранила обратную совместимость между моделями Storport и SCSIPort. Это позволяет производителям использовать некоторые (но не все) преимущества новой модели. Чтобы использовать все преимущества, производители должны заново переписать драйвер мини-порта, а не просто выполнить перекомпиляцию и подключить новую библиотеку.
Новая архитектура обладает перечисленными ниже преимуществами.
Модель Storport обеспечивает более высокую производительность за счет полнодуплексного ввода-вывода. Недостаток этого подхода состоит в том, что драйверу мини-порта требуется обрабатывать процедуру выполнения. Таким образом, высокое быстродействие достигается за счет повышенной сложности всей модели.
Модель Storport оптимизирует интерфейс между драйвером порта и драйвером мини-порта. Например, новый интерфейс позволяет драйверу мини-порта собирать информацию о списках сборки/разборки за один вызов, а не с помощью нескольких вызовов в цикле. Списки сборки/разборки – это универсальный термин,. описывающий ситуацию, когда ввод-вывод выполняется в несколько отдельных (и несмежных) буферов одновременно.
Модель Storport позволяет интерфейсу соответствовать запросам производителей высокоуровневых подсистем хранения, в частности производителей устройств RAID и Fibre Channel. Например, старая модель драйверов SCSIPort предоставляла слишком мало возможностей по управлению очередью, в то время как новым устройствам требуются более развитые механизмы управления. Модель Storport поддерживает до 254 запросов к одной логической единице адаптера. Максимальное количество запросов к адаптеру ограничивается только количеством логических единиц, подключенных к этому адаптеру.
Модель Storport поддерживает многоуровневую иерархию сброса для восстановления после ошибок. В старой модели при появлении ошибки выполнялось обнуление данных шины (что нарушало работу других устройств и приложений). В новой модели проводится минимально возможное обнуление (сначала LUN, затем целевое устройство и лишь в качестве последнего средства – обнуление шины).
Новая модель поддерживает отдельный расширенный интерфейс управления.
ш Новая модель предоставляет интерфейс, который не требует создания «фантомного» устройства. Модель SCSIPort не позволяла приложениям опрашивать возможности устройства без его монтирования. Поэтому производители создали фантомное устройство для ответа на определенные запросы. Модель Storport не требует создания фантомного устройства, поддерживая опрос даже без монтирования и подключения объекта мини-порта.
Все эти возможности предоставляются максимально незаметно благодаря обратной совместимости с моделью драйверов SCSIPort. Производители могут просто перекомпилировать существующий драйвер и подключить новую библиотеку. Это позволит работать с новой моделью драйверов, но не даст использовать полный спектр возможностей модели Storport. Устаревшие устройства SCSI могут продолжать работать, используя старый драйвер SCSIPort.
Более подробная информация по этой теме представлена в главе 2.
10.3.2 Служба теневого копирования томов
В Windows Server 2003 впервые представлена служба теневого копирования томов и связанная с ней инфраструктура. Теневые копии томов также называют «моментальными снимками» томов. Различная терминология используется для обеспечения сохранности прав на интеллектуальную собственность. Архитектура теневого копирования показана на рис. 10.6. Она включает в себя компоненты четырех типов, три из которых существуют в нескольких экземплярах.
Служба теневого копирования томов.
Модули записи теневого копирования.
Модули запроса теневого копирования.
Поставщики моментальных снимков.
Служба теневого копирования позволяет создавать целостные копии данных, действительные на определенный момент времени, и имеет ряд особенностей.
Рис. 10.6. Служба теневого копирования томов
Служба теневого копирования томов создана компанией Microsoft и предоставляет API приложениям резервного копирования, позволяющий запросить создание моментального снимка. Служба обеспечивает задержку операций ввода-вывода, обнуление кэшей и приостановку ввода-вывода системы и приложений, что позволяет создать копию тома в определенный момент времени.
Модули записи теневого копирования – это приложения, например Microsoft SQL Server или Microsoft Exchange, имеющие специальный код для интеграции в службу теневого копирования. Желательно, чтобы все приложения, включая базы данных и приложения планирования ресурсов уровня предприятия, предоставляли поставщика записи теневого копирования для интеграции со службой создания моментальных снимков. Компания Microsoft предоставляет такие модули для Active Directory, SQL Server и Microsoft Exchange.
Модули запроса теневого копирования – это приложения резервного копирования или приложения, которые инициируют создание копии тома, например копии данных для тестирования. Одни из этих модулей создаются компанией Microsoft, другие – независимыми разработчиками программного обеспечения. Приложения резервного копирования, которые предоставляются в Windows Server 2003, также являются модулями запроса теневого копирования.
Поставщики моментальных снимков – это компоненты, которые фактически создают моментальный снимок или копию тома. Компания Microsoft предоставляет поставщика, принятого по умолчанию, который создает копию тома с помощью метода копирования при записи. Ожидается, что производители систем хранения будут создавать собственных поставщиков для создания моментальных снимков. Архитектура допускает использование различных схем для создания моментального снимка, включая разбивку зеркала на аппаратном уровне.
Обратите внимание, что инфраструктура, разработанная Microsoft, позволяет создавать только один моментальный снимок. Тем не менее она соответствует требованиям независимых производителей программного обеспечения, так как предоставляет возможность управления несколькими моментальными снимками и позволяет монтировать моментальные снимки только для чтения.
Дополнительная информация о службе теневого копирования томов приведена в главе 5. Набор SDK для службы теневого копирования томов доступен от компании Microsoft при условии подписания соглашения о неразглашении.
10.3.3 Служба виртуального диска
Служба виртуального диска (Virtual Disk Service – VDS) представляет собой интерфейс управления, интегрированный в Windows Server 2003 и предназначенный для предоставления уровня абстракции при виртуализации дисков независимо от ресурса виртуализации.
Перед описанием архитектурных особенностей VDS стоит рассмотреть причины появления этой службы. Основным мотивом была необходимость в предоставлении администратору возможности автоматизированного и ручного управления следующими операциями:
формирование тома хранилища, создание на его основе массива RAID 5 объемом не менее 10 Гбайт;
формирование тома хранилища, увеличение его объема до 10 Гбайт и создания простого тома без возможностей массива RAID.
Другими словами, администратор должен иметь возможность выделять хранилище под моментальные снимки, резервировать снимок и освобождать хранилище, возвращая его в пул свободных хранилищ. Служба виртуального диска предоставляет метод выполнения этих задач независимо от уровня виртуализации и применяемого аппаратного обеспечения, а также различных вариантов подключения устройств хранения.
Рис. 10.7. Служба виртуального диска
На рис. 10.7 показана архитектура службы виртуального диска. Закрашенные прямоугольники представляют компоненты, созданные компанией Microsoft и поставляемые в составе операционной системы. Ожидается, что независимые производители аппаратного обеспечения будут создавать аппаратных поставщиков VDS. Служба виртуального диска предоставляет уровень абстракции, что позволяет создавать приложения управления на основе единого интерфейса, вне зависимости от характеристик аппаратного обеспечения на нижних уровнях. Кроме того, VDS дает возможность не вносить изменения в программное обеспечения управляющих приложений, даже если после выхода приложения будет выпущено новое аппаратное обеспечение. Производители аппаратного обеспечения для хранилищ данных могут быть уверены, что их новые системы будут должным образом инициализированы и получат управление посредством VDS.
Компания Microsoft предоставляет двух поставщиков VDS, которые работают с базовыми и динамическими дисками (базовые и динамические диски рассматриваются в главе 6).
Ожидается, что производители аппаратного обеспечения хранилищ также будут создавать поставщиков VDS. Каждый поставщик – это сервер СОМ, вызываемый VDS. От аппаратных поставщиков ожидается реализация следующих функций:
обнаружение LUN;
создание, уничтожение и другие операции по управлению LUN;
создание объектов СОМ для LUN, контроллеров хранилища, накопителей и даже самих поставщиков;
удаленный доступ, обеспечивающий запуск управляющего приложения на рабочей станции и связь этого приложения со службой виртуального диска, работающей на сервере.
На данный момент интерфейсы, необходимые для создания поставщиков, передаются компанией Microsoft после подписания соглашения о неразглашении. Дополнительная информация о службе виртуального диска приведена в главе 7.
10.3.4 Групповой ввод-вывод
Групповой ввод-вывод необходим для обеспечения надежности серверов под управлением семейства Windows NT. Он был впервые представлен в Windows Server 2003 и доступен в Windows 2000 после установки пакета обновлений SP2 и более поздних версий пакетов обновлений. Компания Microsoft предлагает инструментарий разработки для группового ввода-выво- да производителям компьютеров и независимым поставщикам аппаратного/программного обеспечения, которые могут использовать этот инструментарий для создания собственных систем, предназначенных для конечных пользователей. Ниже приведены характеристики этих систем.
Поддерживаются Windows 2000 и Windows Server 2003.
Достаточно сложная архитектура включает в себя три драйвера от Microsoft и один мини-драйвер, созданный производителем.
Предоставляется возможность сохранения целостности данных, восстановления целостности и балансировки нагрузки. Кроме того, для одной единицы хранения поддерживается до 32 маршрутов.
Архитектура основана на уведомлениях РпР и не требует статического определения конфигураций.
Архитектура совместима с Microsoft Cluster Server.
В функции созданного производителем мини-драйвера (Device Specific Module – DSM) входит следующее:
идентификация различных маршрутов к одной единице хранения;
назначение начального маршрута (с использованием балансировки нагрузки, предпочтительного маршрута или с помощью другого алгоритма);
принятие решения о необходимости повтора ввода-вывода, если возникла ошибка;
принятие решения о выполнении операции сохранения целостности данных, при которой выбирается альтернативный маршрут;
определение условий, при которых следует выполнить операцию восстановления целостности;
выполнение инициализации, сйецифичной для устройства;
обработка команд выборки, например Reserve и Release, а также принятие решения об отправке команд по всем маршрутам или по одному из них.
Групповой ввод-вывод рассматривается в главе 9.
10.3.5 Улучшенное управление
В Windows 2000 ряд инструментов управления используются как в командной строке, так и помощью графического интерфейса. В Windows Server 2003 эта тенденция сохранилась и несколько утилит командной строки позволяют выполнять следующие операции:
управлять возможностями файловой системы, включая дефрагмента- цию;
управлять службой теневого копирования томов;
управлять томами;
управлять службами удаленного хранилища.
Кроме того, в Windows Server 2003 для предоставления информации о производительности и управлении системой активно используется интерфейс WMI. Все больше подсистем операционной системы модифицируются для предоставления информации управляющим приложениям через интерфейс WMI. Примерами таких подсистем являются драйверы Storport, служба теневого копирования томов и распределенная файловая система.
10.3.6 Управление томами с поддержкой SAN
Читателям, знакомым с UNIX, давно известно, что в Windows отсутствует эквивалент таблицы монтирования UNIX. Таким образом, Windows стремится монтировать каждый обнаруженный том. Если файловая система тома не распознается, владение томом принимает на себя «чистая» файловая система. Перед подключением сервера под управлением Windows к сети хранения данных администратору следует внимательно настроить маскировку LUN, зонирование и другие методы управления, чтобы сервер под управлением Windows воспринимал только единицы хранилища, доступ к которым разрешен (и принадлежащие этому серверу). В Windows Server 2003 эта ситуация изменилась.
Компания Microsoft изменила драйвер диспетчера монтирования (он рассматривается в главе 6), улучшив поддержку среды SAN. В частности, драйвер диспетчера монтирования может быть настроен на монтирование только тех томов, которые монтировались ранее, тогда как все новые тома будут игнорироваться. Самый простой способ управления параметрами конфигурации – использование утилиты командной строки mountvol.
10.3.7 Создание приложений SAN
В Windows Server 2003 существует ряд возможностей, которые позволяют независимым производителям программного обеспечения создавать эффективные приложения для управления хранилищами в йреде SAN. Некоторые из них описаны далее.
ш Можно монтировать тома только для чтения.
Приложения могут использовать новые API, которые вместе со службой теневого копирования томов позволяют приложениям выполнять чтение указанного моментального снимка тома. Таким образом, независимые производители аппаратного обеспечения имеют возможность создавать приложения, использующие многоуровневые зеркала и проверяющие целостность данных.
Новый API позволяет приложениям указывать действительную длину файла. Таким образом, независимые производители программного обеспечения могут создавать распределенную файловую систему, а также приложения резервного копирования и восстановления, записывающие копии уровня блоков на диск и затем устанавливающие действительную длину файла.
Администраторы могут управлять томами с использованием привилегий безопасности более низкого уровня.
Добавлены новые интерфейсы, которые позволяют создателям драйверов фильтрации увеличивать функциональность управления. Создатели драйверов фильтрации файловых систем могут также использовать улучшенное управление «кучей» памяти (heap) и процедуры управления объектами устройств, а также новые процедуры управления безопасностью. Кроме того, предоставляются новые интерфейсы управления томами.
10.3.8 Улучшения NTFS
В Windows Server 2003 в файловую систему NTFS были внесены существенные изменения:
производительность NTFS выросла на 10–15%;
значительно расширились возможности API, отвечающего за дефраг- ментацию;
NTFS стала поддерживать монтирование томов в режиме только для чтения;
усилены списки управления доступом, принятые по умолчанию, что позволило обеспечить большую безопасность.
10.3.9 Улучшение дефрагментации
В Windows Server 2003 используется интерфейс дефрагментации, который поддерживается подсистемой ввода-вывода Windows в целом и NTFS в частности. Вот некоторые из улучшений системы дефрагментации:
поддерживается дефрагментация главной таблицы файлов NTFS (MFT), перемещение записей MFT, даже если файл, соответствующий записи в MFT, открыт другим приложением;
шифрованные файлы могут дефрагментироваться без открытия и чтения, что позволяет усилить безопасность;
несжатые файлы дефрагментируются по границе дисковых кластеров, а не по границе страницы памяти;
файловая система NTFS поддерживает дефрагментацию файлов, даже если размер кластера превышает 4 Кбайт;
файловая система NTFS поддерживает дефрагментацию не только неименованных потоков данных, но и точек повторной обработки и атрибутов файлов.
10.3.10 Улучшения EFS
Шифрованная файловая система была впервые представлена в Windows 2000 и существенно улучшена в Windows Server 2003. Далее описываются основные нововведения.
В Windows Server 2003 с помощью EFS поддерживается доступ нескольких пользователей к одному файлу. Шифрованная файловая система применяет симметричный алгоритм шифрования (один и тот же ключ используется для шифрации и дешифрации); симметричный ключ шифруется асимметричным ключом. В частности, симметричный ключ шифруется открытым ключом пользователя и сохраняется в том же файле. В Windows Server 2003 допускается хранение в файле нескольких копий симметричного ключа, зашифрованных открытыми ключами различных пользователей.
Поддерживается полная проверка по списку отозванных пользовательских сертификатов. Это позволяет ограничить доступ тем пользователям, которые ранее имели доступ к файлам.
Поддерживается большее количество алгоритмов шифрования. Для этого применяются поставщики служб шифрования.
Допустимо сквозное шифрование поверх WebDAV. В Windows 2000 перед передачей по сети через интерфейс WebDAV содержимое файлов расшифровывалось. В Windows Server 2003 дешифрация проводится локально на клиенте.
Допускается. хранение в зашифрованном виде автономных файлов. В Windows 2000 шифрование кэша автономных файлов не поддерживалось.
Шифрованные файлы могут сохраняться в Web-папке.
10.3.11 Службы RSS
Системой управления иерархическим хранилищем (HSM), поддерживаемой службами RSS в Windows 2000, в качестве вторичного носителя допускалось использование только накопителя на магнитной ленте (служба RSM в Windows 2000 поддерживает и другие носители, например оптические накопители, ленточные магазины и автоматы). В Windows Server 2003 предоставляется поддержка и других носителей для HSM.
10.3.12 Улучшение процесса загрузки
Операционные системы Windows ХР и Windows Server 2003 оптимизированы для сокращения времени их загрузки. Считывая файлы с диска загрузчик (ntldr) использует по одной операции ввода-вывода на файл. Кроме того, операционная система перекрывает ввод-вывод данных на диск инициализацией устройств, а также откладывает инициализацию системных процессов и служб, которые не важны в процессе загрузки.
10.3.13 Улучшение программы CHKDSK
Повышению. надежности Windows 2000 способствовало сокращение количества ситуаций, при которых необходим запуск утилиты CHKDSK. Кроме того, сокращено время, необходимое CHKDSK для завершения работы. Эта же тенденция сохранилась и в Windows Server 20,03. Во время проведения теста с тремя миллионами файлов завершение работы утилиты CHKDSK на сервере под управлением Windows Server 2003 заняло в 12 раз меньше времени, чем на сервере под управлением Windows 2000.
10.3.14 Улучшение кэширования
В Windows ХР тесты производительности ввода-вывода показали, что скорость обмена данными с дисками SCSI намного ниже аналогичных показателей в Windows 2000. И это связано с очень интересной проблемой.
Операционная система и производители жестких дисков поддерживают функции кэширования для повышения производительности и пропускной способности подсистемы ввода-вывода. В Windows NT существует диспетчер кэша, который предоставляет эти функции всем файловыми системам. Кроме того, некоторые жесткие диски также обеспечены быстродействующей кэш-памятью. Хотя кэширование и позволяет повысить быстродействие, данные записываются в кэш, а не на носитель. Если данные не будут вовремя перенесены из кэша на носитель, они могут быть потеряны. Чтобы предоставить приложениям возможность управлять кэшем, Windows NT поддерживает описанные ниже операции.
Приложение может указать параметр FILE_FLAG_WRITE_THROUGH при вызове функции CreateFile; это говорит о запрете завершения операции записи до записи данных на диск. От драйверов Windows NT ожидается передача этой функции устройствам хранения с помощью флага SCSI Force Unit Access (FUA). С помощью флага FUA, определенного в стандартах SCSI, кэширование отключается для отдельных операций ввода-вывода.
Приложение может указать параметр FILE_FLAG_N0_BUFFERING при вызове функции CreateFile, что указывает на запрет кэширования на уровне файловой системы.
? Приложение может использовать функцию FlushFileBuf f ers для сброса всех данных открытого дескриптора файла из системного кэша и отправки жесткому диску сигнала о необходимости обнуления собственного кэша. Обратите внимание: вопреки названию функции, сбрасываются все данные, находящиеся в кэше жесткого диска.
Проблема заключается в том, что операционная система некорректно обрабатывала запросы приложений на отказ от кэширования и Windows Server 2003 стала первой системой семейства Windows, которая полноценно работает с запросами сквозной записи. Это означает, что показатели производительности Windows NT 4.0 и Windows 2000 были искусственно завышены. Кроме того, некоторые администраторы применяли утилиту настройки от производителя хранилища данных, которая позволяла отключать кэш накопителя. Но в этом случае существуют и другие сложности, описанные далее.
В Windows ХР ошибка исправлена для базовых, но не для динамических дисков. Таким образом, некоторое время складывалось впечатление, что компания Microsoft не спешила в полной мере поддерживать динамические диски. Концепция базовых и динамических дисков, описывающая запись на диск информации о логической структуре диска, рассматривается в главе 6.
В некоторых книгах издательства Microsoft Press авторам приложений некорректно рекомендовалось использовать флаг FILE_FLAG_WRITE_ THROUGH функции CreateFile в тех случаях, когда требовалась более высокая производительность. Компания Microsoft пообещала исправить собственные приложения, утилиты и инструменты, удалив флаг FILE_ FLAG_WRITE_THR0UGH для достижения максимальной эффективности. Кроме того, предполагалось создать уровень совместимости приложений, позволяющий должным образом работать тем приложениям, которые еще не были модифицированы для удаления параметра FILE_FLAG_ WRITE. THROUGH.
10.3.15 Автоматическое восстановление системы
Для повышения надежности Windows Server 2003 использован механизм восстановления после критических отказов в работе. В частности, сервер может быть восстановлен после отказа в работе диска в одно действие, которое приведет к восстановлению всей информации операционной системы и системных данных. Автоматическое восстановление системы основано на службе теневого копирования томов и требует наличия дисковода для гибких дисков.
10.3.16 Улучшения DFS
Впервые распределенная файловая система стала доступна в Windows NT 4.0 и была заметно модифицирована в Windows 2000. В Windows Server 2003 она также была несколько усовершенствована.
Реализована поддержка распределенной файловой системой нескольких корней. Это означает, что компания может объединить различные ресурсы в общее пространство имен, при этом сохраняя несколько пространств имен для обеспечения безопасности и упрощения администрирования. Эта возможность будет особенно востребована в больших корпорациях, организационная структура которых состоит из нескольких подразделений (например, компания – разработчик программного обеспечения может поставлять как обычные клиентские программы, так и системы для обеспечения безопасности). Кроме того, новые возможности DFS понадобятся после приобретёния компании другой корпорацией, причем после слияния предполагается раздельное администрирование корпоративных ресурсов двух компаний.
Улучшена репликация файлов.
Улучшена балансировка нагрузки.
Пользователи могут выбирать серверы, которые физически расположены ближе, что позволяет повысить производительность.
10.3.17 Перенаправитель WebDAV
Серверы и клиенты под управлением Windows 2000 предоставляли различные способы подключений, в том числе поддержку систем CIFS, NFS, NetWare и Macintosh. В Windows Server 2003 добавлен клиент WebDAV (Web Distributed Authoring and Versioning). Это стандартный протокол, который позволяет использовать HTTP в качестве основного транспортного механизма. Например, пользователь, получающий файл Excel с сервера, может не подозревать об использовании протокола CIFS, но для этой же цели можно применять и протокол WebDAV.
10.3.18 Улучшение инфраструктуры драйверов
В Windows Server 2003, как и в Windows ХР, создателям драйверов предоставляется расширенный инструментарий. Кроме того, ужесточена процедура тестирования и проверки на соответствие стандартам Windows, что сделало драйверы более надежными. Создатели драйверов не только получают расширенный инструментарий и дополнительную информацию, но и доступ к обратной связи, что позволяет отлаживать существующие драйверы и создавать новые версии.
10.3.19 Поддержка API адаптера шины
Ассоциация SNIA определила API на языке С, который позволяет приложениям управления хранилищем администрировать адаптеры шины Fibre Channel. Этот интерфейс поддерживает запрос и назначение параметров конфигурации адаптера шины, а также измерение параметров производительности адаптера.
Хотя Microsoft и члены ассоциации SNIA поддерживают одинаковый API адаптера шины, используемые подходы несколько различаются. Архитектура, предложенная SNIA (рис. 10.8), включает три обязательных компонента.
Рис. 10.8. Программный интерфейс адаптера шины от ассоциации SNIA
Универсальная динамически подключаемая библиотека API адаптера шины, поддерживаемая SNIA. В ней предоставляется стандартный интерфейс для приложений управления. На нижнем уровне библиотека взаимодействует с различными библиотеками, созданными производителями устройств.
Динамически подключаемая библиотека от производителя адаптера, которая подключается к DLL программного интерфейса адаптера шины. Библиотека от производителя предоставляет информацию для управления и взаимодействует с драйвером производителя посредством закрытых вызовов управления вводом-выводом.
Драйвер устройства, созданный производителем для данного адаптера шины.
Хотя такой подход обладает определенными преимуществами, компания Microsoft отмечает некоторые связанные с ним проблемы.
? Невозможно эффективно управлять распространением и учетом версий динамически подключаемых библиотек. Это еще один пример ситуации, когда несколько приложений устанавливают собственные библиотеки, потенциально перезаписывая библиотеки, установленные другими приложениями.
ш Производитель адаптера шины должен создать не только драйвер устройства и закрытый интерфейс управления вводом-выводом для этого драйвера, но и собственную динамически подключаемую библиотеку, а также внести определенные изменения в библиотеку – оболочку
адаптера шины, чтобы предоставить необходимые интерфейсы созданной DLL.
Тестирование и сертификация драйверов производителей, в которых используются закрытые вызовы управления вводом-выводом, представляет собой исключительно сложный процесс; например, как можно проверить, что некорректные параметры вызова управления вводом-выводом не приведут к переполнению буфера?
Архитектура на первый взгляд выглядит расширяемой, но при более детальном рассмотрении очевидно, что производители адаптеров шины всегда будут «догонять» разработчиков приложений управления, добавляя код, который работает с расширениями, характерными для определенного производителя.
Не поддерживается связь и управление в режиме ядра. В архитектуре SNIA требуется, чтобы приложение управления ожидало момента полной работоспособности подсистемы пользовательского режима Windows NT. Но для некоторых операций управления, например для маскировки LUN, необходимо наличие драйвера в режиме ядра, который будет выполнять определенные действия в процессе загрузки операционной системы еще до того, как будет запущена подсистема пользовательского режима.
Компания Microsoft предлагает несколько иной метод, который демонстрируется на рис. 10.9 и описан ниже.
Рис. 10.9. Программный интерфейс адаптера шины от компании Microsoft
Универсальная динамически подключаемая библиотека программного интерфейса приложений для адаптера шины от ассоциации SNIA. Эта DLL предоставляет интерфейс для приложений управления более высокого уровня. На более низком уровне библиотека подключается к интерфейсу WMI, который представляет собой реализацию модели CIM (Common Information Model) от Microsoft. Как уже отмечалось, CIM – это объектно-ориентированная модель управления, принятая ассоциацией SNIA и рабочей группой DMTF.
Драйвер устройства для адаптера шины, созданный производителем; этот драйвер реализует интерфейс WMI и предоставляет интерфейс управления и настройки в репозитории WMI. Поскольку WMI является двунаправленным интерфейсом, драйвер обеспечивает поддержку функций пакетов IRP для WMI, что позволяет приложению управления устанавливать конфигурационные параметры драйвера.
Динамически подключаемая библиотека, которая осуществляет преобразование данных между интерфейсом WMI и API адаптера шины от SNIA.
Метод Microsoft обладает определенными преимуществами.
Все представленные интерфейсы стандартизированы, тогда как при использовании схемы SNIA интерфейс между универсальной библиотекой НВА API и библиотекой производителя закрыт и определяется производителем. Метод Microsoft соответствует общепринятой модели CIM.
Поддержка расширяемости, так как производитель может расширить класс WMI или определить новый класс и поместить в нем управляющую информацию. В данном случае также прослеживается соответствие модели CIM.
Основным преимуществом является возможность использования модели CIM или API адаптера шины от ассоциации SNIA. Если приложение использует API адаптера шины от SNIA, оно может работать без изменений, так как код WMI драйвера и DLL от Microsoft преобразуют информацию WMI в данные API адаптера шины от SNIA.
Описанная архитектура позволяет компоненту режима ядра опрашивать драйвер производителя и выполнять управляющие действия.
Обратите внимание, что интерфейсы WMI, необходимые для создания драйвера адаптера шины, предоставляются в Windows 2000.
10.3.20 Диски с таблицами разделов GUID
Существует разновидность Windows Server 2003 для 64-разрядных процессоров, которая поддерживает промышленный стандарт EFI (Extensible
Firmware Interface). Этот стандарт стал заменой устаревших программ BIOS, которые до сих пор используются в индустрии персональных компьютеров.
Стандартом EFI определяется таблица разделов GUID (GUID Partition Table – GPT). Точная структура таблицы GUID (Globally Unique Identifier – глобально-уникальный идентификатор) рассматривается в главе 16 спецификации EFI, которая доступна по адресу: http://developer. intel. com/technology/efi/download.htm.
Диск с GPT может иметь до 264 логических блоков. В спецификации EFI используется термин логический блок (logical block) для описания того, что обычно называется дисковым кластером (disk cluster) – наименьшей единицей выделения дискового пространства. Поскольку в EFI указывается размер логического блока, равный 512 байт, максимальный размер диска составляет 18 Эбайт. Диск с GPT может иметь любое количество разделов, как и динамический диск. Кроме того, наравне с динамическими дисками, диск GPT обладает самоописанием, т.е. сведения о логической структуре диска размещены на самом диске. Диски GPT хранят информацию о разделах избыточным образом, что позволяет добиться устойчивости к ошибкам. В то время как диски GPT являются промышленным стандартом, динамические диски Windows 2000 – стандарт закрытый. Правда, по сравнению с компьютерами, использующими BIOS, выпущено сравнительно мало компьютеров, поддерживающих стандарт EFI.
Чтобы сохранить от повреждения данные на диске GPT при подключении к устаревшим системам, на диске содержится главная загрузочная запись (MBR), описывающая весь диск. Таким образом, компьютер на основе BIOS получит сведения о разбивке диска на разделы.
Загрузочные диски GPT имеют новый тип раздела, который называется системный раздел EFI (EFI System Partition – ESP). Этот раздел содержит файлы, необходимые для загрузки операционной системы, например ntldr, hal. dll, boot. txt и драйверы. Раздел ESP может располагаться на диске GPT или MBR, как указано в спецификации EFI. Операционная система Windows Server 2003 для 64-разрядных процессоров требует, чтобы раздел ESP находился на диске GPT.
Кроме того, существует еще один тип раздела –зарезервированный раздел Microsoft (Microsoft Reserved Partition – MSR). Диски GPT запрещают использование скрытых секторов, поэтому для компонентов, которые раньше использовали скрытые секторы, предназначен раздел MSR. Он создается при первой разбивке диска у производителя компьютера или при установке Windows Server 2003. На дисках объемом менее 16 Гбайт раздел MSR не превышает 32 Мбайт. Для дисков объемом более 16 Гбайт используется раздел MSR, объем которого составляет 128 Мбайт.
Следует подчеркнуть, что реализация спецификации EFI cMntel предлагается только для компьютеров с 64-разрядной архитектурой центрального процессора. Хотя стандартом и не запрещено создание 32-разрядной версии EFI, таковой не существует. Таким образом, реализация кода нижнего уровня и кода загрузки Windows для 32- и 64-разрядной платформ будет иметь существенные отличия.
Версия Windows Server 2003 для 64-разрядной архитектуры должна загружаться с диска GPT, причем доступ к старым дискам сохраняется (однако загрузка с них не поддерживается). В Windows Server 2003 для 32-разрядной архитектуры используются диски формата MBR.