В операционной системе Windows Server 2003 компания Microsoft в первую очередь улучшила имеющиеся функции. Это касается, в частности, отказоустойчивости и, в особенности, поддержки кластеров. Кроме того, переработана балансировка нагрузки на сеть, включены информационные службы Internet с новой более стабильной архитектурой и расширены функции управления сетями хранения в целях их упрощения. Все эти меры повышают отказоустойчивость новой системы.
Расширенные кластерные функции Windows Server 2003 обеспечивают значительные улучшения в области отказоустойчивости. Microsoft ввела кластерные службы (Microsoft Cluster Services, MSCS) еще в Windows NT Server 4.0 Enterprise Edition. И если они представляли собой одну из самых значительных функций этой версии, то службы балансировки нагрузки на сеть (Network Load Balancing, NLB) были введены в качестве дополнения немного позднее. Начиная с Windows 2000 обе службы стали составными частями версий Enterprise и Datacenter. В Windows Server 2003 службы MSCS доступны впредь только в этих двух редакциях, в то время как службы NLB поставляются во всех вариантах — и в стандартной, и в Web-редакции.
Другой новинкой Windows Server 2003 является увеличение числа узлов, из которых может состоять кластер. Вместо прежних двух узлов в версии Enterprise и четырех в варианте Datacenter, речь идет уже о восьми. Таким образом, с одной стороны, можно реализовывать конфигурации N+1, а с другой — географически распределенные кластеры. В конфигурации N+1 на N активных серверов выделяется один пассивный, который служит в качестве резервного на случай отказа какого-либо активного узла (см. Рисунок 1 ).
РАСПРЕДЕЛЕННЫЕ КЛАСТЕРЫ
Географически распределенные кластеры находятся в тесной связи с новым кворумным ресурсом (Majority Node Set, MNS). Кворумный ресурс в традиционных конфигурациях хранится на совместно используемом носителе данных (разделяемом диске). Он определяет, какие функции должен выполнять конкретный узел. В случае распределенного кластера с MNS кворумный ресурс хранится не на совместном носителе, а тиражируется между серверами. Поскольку в классическом варианте ресурс всегда забирает какой-либо узел, кластер функционирует до тех пор, пока работает хотя бы один сервер. Однако без совместно используемых носителей или хотя бы общего кворумного ресурса возникает проблема.
Если сервер А и сервер В могут взаимодействовать друг с другом, но не с сервером С, то, может быть, причина в отказе последнего, но может быть и так, что не функционирует сетевое соединение. И если теперь сервер А возьмет на себя функции сервера С, а сервер С снова станет активным, но по-прежнему не достижимым для сервера А, это может привести к несогласованности информационных массивов. Поскольку сервер С не может связаться с серверами А и В, он не предоставляет услуг в кластере. Его задачи берет на себя один из двух других серверов. Таким образом, передача ресурсов всегда должна происходить при согласовании с большинством входящих в кластер узлов, между тем меньшинство никогда не сможет предоставлять услуги. Один кластер должен состоять не менее чем из трех узлов, из которых два являются активными и способны взаимодействовать друг с другом. В кластере с восемью узлами активными должны быть уже пять, причем они должны быть достижимыми друг для друга по сети (см. Рисунок 2).
Эта концепция интересна в двух ситуациях: во-первых, с ее помощью можно реализовать географически распределенные кластеры, когда узлы взаимодействуют между собой через глобальную сеть. Во-вторых, она позволяет создавать более дешевые кластеры без совместно используемого носителя данных. Однако в MSCS нет механизма согласования информации в кворумных ресурсах. Для этого администратор должен обратиться к таким функциям приложений, как тиражирование файлов или распределение записей в базах данных.
УПРАВЛЕНИЕ КЛАСТЕРОМ
Кроме того, нововведением в Windows Server 2003 является и то, что кластерные службы устанавливаются стандартным образом, а администратор только конфигурирует и активирует их, причем процедура значительно упрощена: в кластер могут быть добавлены несколько узлов сразу. Перед активацией кластерных служб система проверяет, имеются ли в наличии службы, не совместимые с кластерными, например NLB или службы для Macintosh (Services for Macintosh, SFM). Многие кластерные функции, в частности службы печати, также конфигурируются проще, чем в предыдущей версии.
БАЛАНСИРОВКА НАГРУЗКИ НА СЕТЬ
NLB — это служба, работающая на уровне TCP/IP и распределяющая входящие запросы между различными узлами в кластере. В отличие от MSCS координация между приложениями отсутствует, что делает службу более простой; правда, по этой причине она подходит лишь для немногих приложений. Главная область применения — фермы серверов Web, где входящие запросы распределяются между различными серверами. Помимо этого, NLB может использоваться вместе с терминальными службами, но после ошибок сеансы необходимо инициировать заново. (MSCS также поддерживает терминальные службы, и, как в случае с NLB, сеанс при сбое не переводится на другой сервер, а вновь должен запускаться пользователем.)
Переработанный менеджер NLB облегчает создание кластеров и позволяет автоматически распространять параметры конфигурации на все узлы. Вдобавок у администратора теперь есть возможность конфигурировать виртуальные кластеры, которые охватывают лишь часть узлов кластера NLB.
СТАБИЛЬНЫЕ ИНФОРМАЦИОННЫЕ СЛУЖЫ INTERNET
Microsoft впервые со времен версии 2.0 полностью переработала информационные службы Internet (Internet Information Server, IIS) в Windows Server 2003 и создала для них абсолютно новую архитектуру. Вместо сложного процесса, в котором принимали участие различные службы, вся работа выполняется с компактным стеком HTTP в режиме ядра. Он направляет запросы к различным рабочим процессам, выполняющимся в пользовательском режиме операционной системы. Специальный процесс мониторинга осуществляет контроль за функционированием и обеспечивает, к примеру, повторный запуск процессов в случае сбоя. Тем самым снижается риск возникновения тяжелых ошибок, способных полностью вывести IIS из строя, а также сокращаются перерывы в работе отдельных сайтов Web, поскольку они быстро перезапускаются в случае ошибки. Разделение процессов стало гибче и, прежде всего, эффективнее, теперь критичные приложения могут быть доверены разным процессам без потери производительности.
ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ ХРАНЕНИЯ
И наконец, Microsoft в Windows Server 2003 улучшила согласованность между MSCS и службами хранения и ввела важные функции для управления хранилищами. Теперь MSCS могут обрабатывать Volume Moint Point, т. е. ссылки на другие тома, в том числе и на совместно используемые жесткие диски. Кроме того, взаимодействие с сетями хранения данных улучшено так, что работа ведется с отдельными компонентами SAN, а не со всей шиной. У администратора появилась возможность загружать сервер из сети хранения данных, если это поддерживается аппаратным обеспечением. Благодаря службам виртуальных дисков (Virtual Disk Service, VDS) можно унифицировать администрирование систем хранения через стандартизированные прикладные программные интерфейсы (Application Programming Interface, API). Они позволяют централизованно управлять оборудованием различных производителей, если у него имеется интерфейс с VDS. Кроме того, осуществлен ряд оптимизаций по взаимодействию с SAN: усовершенствованы поддержка сетей хранения на базе Fibre Channel и взаимодействие с адаптером главной шины (Host Bus Adapter, HBA).
ЗАКЛЮЧЕНИЕ
В Windows Server 2003 нет каких-либо кардинальных прорывов ни в области отказоустойчивости, ни в других функциональных областях. Microsoft сконцентрировалась главным образом на том, чтобы последовательно улучшить существующие функции. Однако именно это и важно для повышения надежности и готовности систем. Кроме того, MSCS получили ряд важных дополнений, при помощи которых кластеры конфигурируются гораздо проще, чем раньше.
Мартин Куппингер — независимый автор. С ним можно связаться по адресу: redaktion@lanline.awi.de.
? AWi Verlag