Субъективно о MSCS
Владимир Бахметьев начальник технического отдела группы компаний «Видео Интернешнл». Имеет сертификаты MCSE, MCT, MSS, CNA, Authorized Compaq Instructor, Compaq ASE Professional (Clustering). С ним можно связаться по адресу: bah@vitpc.com |
Мне бы хотелось поделиться некоторыми соображениями о подсистеме, которая в Windows 2000 Advanced Server называется Cluster Service, а в Windows NT 4.0 Server, Enterprise Edition (EE) — Microsoft Cluster Server (MSCS).
С MSCS я работаю уже около двух лет, начиная с бета-версии (Wolfpack), а также больше года регулярно провожу официальный учебный курс Microsoft №958 «Supporting Microsoft Cluster Server» в учебном центре «Микроинформ» и ряде других учебных центров в Москве.
Кто в России использует MSCS? По опыту общения с коллегами и со слушателями курсов, могу сказать, что основные его пользователи — это отделения Центрального Банка и Сбербанка РФ, в том числе региональные, а также ряд других банков и коммерческих организаций. По самым оптимистичным оценкам, число инсталляций MSCS в России насчитывает немногим больше сотни экземпляров.
Что мешает развертыванию MSCS на небольших и средних предприятиях?В первую очередь, MSCS устанавливается там, где необходима более высокая, чем в случае использования «одиночных» серверов, доступность служб и приложений системы.
Почему-то к этому требованию разработчики Windows 4.0 Server EE присовокупили необходимость поддержки более четырех процессоров, перераспределение виртуальной памяти в пользу приложений по отношению к операционной системе (3 Гбайт/1 Гбайт) и ряд других «крупнокалиберных» возможностей. Соответственно, Windows NT 4.0 Server EE, Windows 2000 Advanced Server, а вместе с ними и MSCS ориентируются на «большие» серверы с такой же «большой» стоимостью!
Это служит ценовым барьером для небольших и средних компаний, которых волнует легальность приобретенного программного обеспечения. Им бы больше подошел MSCS в отдельной коробке за сравнительно небольшие деньги. Производители «железа» уже выпускают относительно недорогие кластерные комплекты. Пример — «кластер в коробке» CL1850 от Compaq, основанный на двух серверах, в каждом из которых может быть один или два процессора и до 1 Гбайт оперативной памяти.
Да и собрать подобный кластер самому ничего не стоит. А так как небольшие компании редко заключают договоры на обслуживание в сервис-центрах Microsoft, то и сертификация оборудования кластеров для них не имеет значения. В то же время работают такие кластеры достаточно стабильно.
Вторая причина — это некий священный трепет системных администраторов перед словом «кластер». MSCS — это довольно простой в установке и обслуживании продукт. С ним вполне справится инженер, уверенно администрирующий домен Windows NT, понимающий основы протоколов TCP/IP и умеющий настраивать параметры SCSI-устройств.
Третья причина — это функциональность.
Возможности самого по себе MSCS вполне достаточны. «Голый» MSCS обеспечивает кластеризацию основных приложений — файловой службы, службы печати и др. Более того, функциональность MSCS в Windows 2000 существенно не изменилась: добавлены ресурсы для кластеризации DHCP, WINS и DFS-служб, реализована «COM-обертка» вокруг Cluster API ( что было обещано еще в Wolfpack), и в сам API встроен ряд полезных функций, например, резервное копирование и восстановление Cluster Database. Даже Cluster Administrator является отдельным приложением, а не подключается к MMC, как это описано в документации и в различных статьях!
Проблема связана с кластеризацией серверных приложений, далеко не все из которых используют возможности MSCS в полной мере. Например, Microsoft Exchange Server 5.5 может задействовать кластер только в режиме Active-Passive, а SQL Server 7.0 в режиме Active-Active при неисправности одного из узлов запускает два экземпляра SQL Server на одном узле. И то и другое ведет к нерациональному распределению аппаратных ресурсов серверов, составляющих кластер.
Однако здесь ожидаются существенные изменения. Вот-вот выйдет Microsoft Exchange Server 2000. Он сможет использовать столько узлов кластера, сколько поддерживает Windows 2000 (четыре в версии Datacenter). Режим работы — Active-Active с единственным экземпляром служб Exchange на каждом узле кластера. Вместо единой базы данных можно применять множество отдельных баз, объединяемых в так называемые Storage-группы, которые могут переключаться с одного узла на другой. Я бы сказал, что кластеризация Exchange стала «правильной», и это именно то, чего хотелось от нее получить.
Другое приложение, часто применяемое в кластерной среде, — Microsoft SQL Server, и продукт, появления которого мы ждем, — это SQL Server 2000. С точки зрения кластеров здесь все не так просто, как в случае с Microsoft Exchange.
17 февраля 2000 года опубликована информация о рекорде производительности версии TPC-C (см. отчет на www.tpc.org). Использовалось 12(!) восьмипроцессорных серверов Compaq c операционной системой Windows 2000 Advanced Server и СУБД Microsoft SQL Server 2000 Enterprise Edition Beta 1. Казалось бы, двенадцать узлов и Advanced Server — вещи несовместимые, но дело в том, что в этом тесте кластерные возможности Windows 2000, какими мы их привыкли видеть, не были задействованы вообще. Зато в полной мере использовались реализованная в SQL Server 2000 функция разнесения таблиц с данными по разным серверам и организация параллельного доступа к ним. Это рекорд производительности, но отнюдь не надежности, так как процедура переключения баз данных с неисправного узла на один из рабочих в данном случае не предусматривалась, а подразумевалось, что в реальной ситуации для этого будет использоваться Cluster Service.
Но и с тем, что есть сейчас, MSCS и его наследник Cluster Service дают очень много компаниям, которым необходима повышенная доступность ресурсов. Перерыв в обслуживании, например, файловой службы или службы печати при переключении с одного узла на другой длится несколько секунд, службы SQL с базой данных объемом в сотни мегабайт — от нескольких секунд до считанных минут. Это значительно меньше, чем, например, перерыв при обновлении firmware на отдельно стоящем сервере, и уж куда лучше, чем если этот сервер вышел бы из строя вообще.