АЛЕКСАНДР ШИБЕНКО
Вежливый отказ
– Капитан, барометр упал.
– Сильно?
– Вдребезги!
Обеспечение бесперебойной работы и сохранности данных – головная боль для системного администратора, причем независимо от размеров обслуживаемой им сети. Однако при обсуждении проблем отказоустойчивости в основном рассматриваются либо конструктивные особенности достаточно дорогих моделей серверов, либо различные кластерные конфигурации или построение сетей хранения данных, что, на мой взгляд, может представлять интерес лишь для крупных и/или достаточно богатых компаний. И очень мало информации по решениям, пригодным для использования в небольших фирмах, которых существенно больше, чем близких к нефтяным или финансовым потокам. Поэтому когда в рамках одного из проектов заказчик попросил включить в него предложения по обеспечению отказоустойчивости для сети из нескольких ПК и сервера под управлением ОС Windows 2000, на котором размещен внутренний веб-сайт и хранятся совместно используемые файлы, в первый момент возникло некоторое замешательство. Готового рецепта не было. Начался поиск во всевозможных источниках, результат которого материализовался в виде CD-диска с программным продуктом SurviveIT 2000 фирмы Computer Associates
Для чего же предназначен SurviveIT? В документации написано следующее: «Это высоконадежное решение для платформы Windows NT/2000, обеспечивающее бесперебойный доступ к вашим приложениям и данным даже в случае отказа сервера». Выглядит это следующим образом. В локальной сети устанавливается дополнительный компьютер, называемый вторичным, который берет на себя выполнение всех функций, включая имя и IP-адрес основного (первичного) сервера в случае выхода последнего из строя. Возможен и более сложный вариант: один компьютер резервирует несколько серверов (рис. 1). При этом осуществляется дублирование приложений и данных со всех первичных серверов, но в случае сбоя (программного или аппаратного) вторичный может подменить только один из них.
Рисунок 1
При отсутствии сбоя, когда вторичный компьютер не замещает какой-либо из вышедших из строя защищаемых первичных серверов, он может работать как обычный сервер. Данная особенность оказалась очень полезной, т.к. позволила возложить на вторичный сервер дополнительные функции резервного копирования, что уменьшило общую стоимость проекта.
На момент тестирования под рукой не было двух одинаковых компьютеров, но оказалось, что тип процессора, сетевого адаптера и контроллера дисков первичных и вторичного серверов, а также объем установленной в них памяти могут отличаться. И действительно, ПК с процессором Pentium III 500 МГц и 20-ти Гб IDE-диском без проблем заработал в качестве вторичного для старенького сервера с обычным Pentium 200 и SCSI-диском на 8 Гб. Но прежде чем это произошло, естественно, необходимо было установить SurviveIT на оба компьютера.
Процесс установки не вызвал никаких проблем, достаточно было следовать инструкциям инсталлятора и в конце перезагрузиться. Сложнее оказалось получить ключ активации. У меня был демо-диск с ограниченной лицензией, но даже ее необходимо было зарегистрировать. Я попытался сделать это в режиме «on-line», но все попытки заполнить соответствующую форму системой регистрации отвергались. Точно не знаю, какое па из исполняемых шаманских танцев возымело действие, но ключ получить удалось. Возможно, проще было бы сделать все это по электронной почте. И еще одну особенность регистрации хочется отметить. Похоже, ключ привязывается к IP-адресу сервера, и в случае смены адреса он может оказаться недействительным.
После установки пакета на оба сервера с помощью консоли управления можно приступать к конфигурированию. Сначала необходимо задать серверам соответствующие роли: первичный или вторичный. Первичному серверу можно указать, какое имя и IP-адрес он должен будет получить, после того как снова перейдет в рабочее состояние после аварии. Это может оказаться нужным, ведь под его исходным именем и адресом в сети будет присутствовать дублер. Затем на вторичном сервере создается задание на репликацию. Для обеспечения дополнительной гибкости каждое задание может содержать несколько работ, в рамках которых предлагается выбрать, какие каталоги на дисках первичных серверов необходимо реплицировать и куда, а также какие каталоги вторичного сервера сделать доступными для сетевых клиентов в случае отказа основного сервера. Даже если сбой произошел во время репликации, SurviveIT гарантирует целостность данных и исключает повреждения файлов, записывая на диск только завершенные транзакции. После завершения синхронизации целостность поддерживается путем передачи по сети только фактических изменений, а не за счет копирования файлов целиком. Поэтому защищаемые и резервный сервера могут включаться непосредственно в локальную сеть или даже соединяться низкоскоростным каналом. Однако если предполагается реплицировать большие объемы данных, возможно, окажется целесообразным установить в каждый сервер по дополнительному сетевому адаптеру и организовать выделенный сегмент, изолированный от ЛВС, к которой подключены клиентские рабочие места.
SurviveIT позволяет обеспечить корректное функционирование на вторичном сервере приложений, работающих на первичном сервере. Для этого, во-первых, необходимо установить их в те же каталоги и с теми же параметрами, что и на первичном. Затем в свойствах задания на репликацию указывается, какие сценарии будут выполняться на серверах в случае отказа. В состав пакета входят сценарии для следующих приложений:
- Unicenter TNG
- Lotus Notes Server
- Microsoft Exchange Server
- Microsoft SQL Server
- Microsoft Internet Information Server
- Jasmine II
- Microsoft Proxy Server
- Netscape SuiteSpot
- Oracle Enterprise Server
- Sybase Adaptive Server
- Ingres II
Можно создавать и собственные сценарии. Для этого в состав пакета включен соответствующий шаблон. Скачать его можно на сайте журнала (www.samag.ru/source).
Последнее, что нужно сделать, – настроить механизм определения отказа основного сервера. Для обеспечения дополнительной надежности рекомендуется соединить соответствующим кабелем последовательные порты основного и вторичного серверов (по нему будет посылаться специальный сигнал «heartbeat», свидетельствующий о «жизнеспособности» основного сервера), а также указать один или несколько IP-адресов каких-либо сетевых устройств, независимо «пингуя» которые серверы могут определить, произошел ли отказ и нужно меняться ролями, или это, к примеру, сбой в работе ЛВС.
Интерфейс управляющей консоли удобен и понятен, и описываемый процесс много времени не занял. Можно было приступать непосредственно к тестированию. Для имитации отказа основного сервера его просто выключили кнопкой питания. На консоли вторичного сервера появилось предупреждение, и после небольшой паузы он перезагрузился. После этого клиентам вновь стали доступны веб-сервер и сетевые диски.
Необходимо учесть, что переключение на резервный сервер происходит не мгновенно, время переключения складывается из времени, необходимого для определения самого факта отказа (в определенных пределах может задаваться администратором системы) плюс время на перезагрузку резервного компьютера. Поэтому если в вашей сети даже такая задержка недопустима, этот продукт вам не подойдет.
Обратная задача – восстановление status quo – тоже решается легко. После устранения неисправностей основного сервера администратору достаточно просто инициализировать соответствующий процесс. SurviveIT ресинхронизирует сервера (в это время они оказываются недоступными для пользователей) и автоматически переключает пользователей обратно, на основной сервер, а подменявший его вновь становится резервным (вторичным).
К сожалению, не удалось протестировать SurviveIT в сети с развернутой службой каталога Active Directory. Но и того, что было сделано, хватило, чтобы рекомендовать системным администраторам обратить внимание на этот продукт. Вполне возможно, что кому-то он окажется очень полезен.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|