В условиях современной глобальной круглосуточной экономики ущерб от простоя сети может вылиться в целое состояние. Однако эффективные технологии позволяют предотвратить катастрофу.
ДОСТИЖЕНИЯ В ОБЛАСТИ ВОССТАНОВЛЕНИЯ С МАГНИТНОЙ ЛЕНТЫ
Рывок вперед
Десять лет назад, когда сервер локальной сети на базе процессора Intel выходил из строя, неприятности компании ограничивались возмущением пользователей по поводу отсутствия доступа к электронной почте. Теперь же при выходе из строя приложений, от которых напрямую зависит прибыль, и при потере доступа к ценной информации компания терпит убытки.
В прошлом при возникновении непредвиденных обстоятельств прибегали к восстановлению данных с обычных резервных магнитных лент. Сегодня, однако, простой сервера локальной сети нарушает обычные деловые процессы: компания может вообще оказаться не в состоянии выполнять свои задачи, если ее сервер NetWare или Windows NT будет недоступен из-за ремонта или восстановления.
Сегодня понятие простоя трактуется весьма широко. Перебои в функционировании производственных систем компании по-прежнему оказывают огромное влияние на сеть, но приложения, некогда бывшие малозначащими, теперь превратились в критически важные. Сделки могут заключаться и аннулироваться на основе сведений, полученных по электронной почте; исход судебной тяжбы может зависеть от информации, содержащейся в томах документов текстового процессора; а финансовые решения принимаются бухгалтерами на основе анализа, осуществляемого с помощью электронной таблицы. Выход оборудования из строя теперь далеко не единственная катастрофа, с которой может столкнуться сеть: недоставленная электронная почта, непреднамеренно удаленные файлы и испорченные базы данных - вот лишь часть проблем, кстати сказать, никоим образом не связанных с бесперебойностью работы сервера.
Несметное количество инструментов управления было разработано для предотвращения таких ситуаций. Но до желаемого эффекта все еще далеко, так что сетевые администраторы совершают ошибку, беспечно отмахиваясь от разработки плана восстановления на случай ЧП.
Два важнейших фактора, определяющих успех восстановления, - это скорость восстановления и новизна восстанавливаемых данных и процессов. Принятые правила и процедуры, а также контракты по обслуживанию с поставщиками оборудования, хранение информации в каком-то другом месте и логические схемы ротации магнитной ленты напрямую влияют на процесс восстановления.
В предлагаемой статье основное внимание уделено технологии восстановления. Несколько поставщиков инструментария для восстановления в случае непредвиденных обстоятельств предложили решения, благодаря которым сделан еще один шаг в направлении создания бесперебойно работающих систем.
НЕ ТОЛЬКО РЕЗЕРВНОЕ КОПИРОВАНИЕ
Современные принципы резервного копирования в распределенной клиент-серверной среде опираются на централизованную модель эпохи мэйнфреймов: полное резервное копирование на магнитную ленту или оптические носители должно производиться как можно чаще.
Такой подход сам по себе не обеспечивает быстроты восстановления, причем последних данных. Если система выходит из строя в результате поломки жесткого диска, то диск должен быть починен или заменен и разбит на разделы, после чего на него устанавливаются операционная система и программное обеспечение резервирования/восстановления - только тогда данные могут быть восстановлены с резервного накопителя. Вся процедура легко может занять целый день. Наличие сервера горячего резерва позволяет выгадать некоторое время, но восстановление с магнитной ленты или оптического носителя никогда не происходило быстро, даже если запись производилась параллельно на массив ленточных накопителей.
Определенные достижения в сфере автоматизации восстановления серверов, конечно, есть (см. врезку "Рывок вперед"), но время, необходимое для копирования данных с резервного носителя на диск, по-прежнему остается критическим элементом. Восстановленные данные датируются обычно предыдущим днем при условии, что ночное резервное копирование прошло успешно.
Следующим шагом к созданию безостановочно работающей отказоустойчивой системы помимо резервирования и восстановления является применение избыточного оборудования. Двойные источники питания, зеркалирование дисков и RAID позволяют сохранить текущее состояние данных или продолжить выполнение процесса до замены вышедшего из строя аппаратного компонента на исправный. Избыточность достигла наивысшего уровня несколько лет назад, когда Novell реализовала SFT III - избыточные серверы или первичный защищенный сервер с зеркальным резервным или аварийным.
В теории избыточные системы сводят характерные для восстановления задержки к нулю и всегда предоставляют последнюю копию данных. После выхода SFT III появилось множество продуктов, обеспечивающих ту или иную степень готовности перенять функции сервера NetWare или Windows NT. Они отличаются по следующим параметрам:
ИСТОРИЯ SFT III
SFT III компании Novell обеспечивает уникальную отказоустойчивость серверов NetWare. Решение SFT III для IntranetWare (NetWare 4.11) состоит из двух практически идентичных серверов, соединенных по выделенной линии Mirrored Server Link (MSL).
Сетевая ОС имеет два механизма: механизм ввода/вывода на каждом сервере и разделяемый серверами механизм Mirrored Server Engine (MSE). Соединение серверов может осуществляться как по медному, так и по оптическому кабелю, но оно предполагает применение полустандартных сетевых плат и программных драйверов. Зеркальный сервер лишен самостоятельности в том смысле, что он имеет тот же внутренний IPX-адрес и имя, что и первичный сервер. SAP и другие логические процессы воспринимают два сервера как один. Запросы на запись как в кэш, так и на диск направляются обоим серверам, а процессы и потоки выполняются параллельно.
Novell позиционирует SFT III как аппаратный продукт на случай аварии. Если на первичном сервере происходит аппаратный сбой, то зеркальный сервер немедленно берет на себя выполнение его функций, и клиенты NetWare - будь то редиректор (виртуальный загружаемый модуль, VLM) или 32-разрядный клиент - не фиксируют никакого перерыва в работе служб файлов и печати. Все это происходит благодаря тому, что диски, кэш и процессы на обоих серверах идентичны.
До того как обрести свой нынешний вид, SFT III обрабатывал исключительно аппаратные сбои. И в самом деле, SFT III критиковали в основном за то, что программный сбой на MSE приводил к зависанию и основного, и зеркального серверов. Однако, по словам Рика Спайера, директора Novell по перспективным технологиям, IntranetWare имеет функцию восстановления abend, причем она изолирует от 80 до 90% всех программных ошибок без аварийного завершения работы обоих серверов.
Один из недостатков программного обеспечения SFT III состоит в том, что оно не очень хорошо уживается с другими NLM. Это, в частности, объясняется ограничением архитектуры NetWare, в которой защита потоков приносится в жертву производительности. Novell сертифицирует NLM в соответствии с тем, как они ведут себя в NetWare, а требования при сертификации на совместимость с SFT III еще строже.
Тот факт, что количество совместимых NLM невелико, обескураживает. Положение осложняется еще и тем, что значительное число продуктов на базе NLM самой Novell плохо работают с SFT III. Если пользователи хотят, чтобы платформа NetWare была постоянно доступна не только для сервисов файлов и печати, то им следует приглядеться к Standby Server for NetWare компании Vinca.
ПОСТОЙ РЯДОМ
Standby Server представляет собой разновидность SFT III. Два сервера, причем необязательно идентичных, могут быть связаны друг с другом так, что один является горячим резервом для другого. Основной сервер имеет драйвер диска от Vinca, с помощью которого он может использовать встроенные средства NetWare для зеркального копирования данных со своего локального диска на резервный сервер. Каждая запись на диск посылается на резервный сервер одновременно с ее выполнением на защищаемом сервере. По информации Vinca клиенты NetWare могут читать данные с дисков как на основном, так и на резервном сервере; по существу, Standby Server увеличивает пропускную способность чтения с диска.
Рисунок 1.
StandbyServer Many-to-One for NetWare компании Vinca зеркально копирует
несколько серверов на одну резервную машину. Если первичный сервер выходит
из строя, то резервный сервер перезагружается и выполняет те же файлы запуска,
что и основной. Он принимает то же имя, тот же идентификатор сервера, таблицу
связей и NDS, что и аварийная система.
Резервный сервер имеет копию NetWare и комплект NLM компании Vinca для мониторинга статуса основного сервера. В случае выхода основного сервера из строя резервный сервер перезагружается и превращается в основной сервер с тем же именем, с той же лицензией NetWare и с тем же внутренним IPX-адресом.
Из-за процедуры перезагрузки Standby Server тратит некоторое время на запуск функций основного сервера, поэтому клиенты NETX и редиректора теряют свои соединения. Однако переключение полностью прозрачно, так что эти клиенты могут перезагрузиться и зарегистрироваться на сервере, который они воспринимают как тот же самый.
32-разрядные клиенты NetWare своих соединений не теряют. Они идентифицируют себя и монтируют диски автоматически, без вмешательства человека, так что пользователю следует лишь подождать какое-то время.
Vinca характеризует решение SFT III компании Novell как аппаратный отказоустойчивый продукт высокой готовности для выполнения сервисов файлов и печати. Свой же Standby Server компания Vinca позиционирует как аппаратно- и программно-отказоустойчивый для сред, использующих NLM сторонних разработчиков; данный продукт работает хорошо с NLM таких поставщиков, как Oracle и Cheyenne.
Standby Server работает на дисковом уровне, он не копирует зеркально память и не взаимодействует с файловой системой, поэтому программный сбой на защищаемом сервере не приведет к отказу резервного сервера.
Standby Server может защищать до 32 серверов, но для этого он должен иметь достаточное число дисков для зеркального копирования всех дисков защищаемых серверов. Кроме того, он сам по себе может использоваться как сервер. По утверждению Vinca, многие ее заказчики используют резервный сервер для запуска программного обеспечения резервного копирования: они резервируют зеркальные данные, чтобы программа резервирования не выполнялась на рабочем сервере, так как это связано с риском аварийного завершения.
И SFT III, и Standby Server функционируют на уровень ниже NDS. База данных NDS имеет тот же статус, что и другие данные, так что зеркальные серверы содержат те же реплики разделов, что и первичные серверы. Без этого резервный сервер просто не сможет взять на себя функции основного без вмешательства со стороны. После сбоя первичного вторичные серверы обоих продуктов становятся объектом NDS, который ранее представлял основной сервер.
НАДЕЖНО И НЕДОРОГО
И SFT III, и Standby Server довольно дороги. Организации, для которых оперативное восстановление не столь актуально, могут отказаться от дорогостоящих функций и выбрать такое решение, как LAN-shadow от Global Data Security. Этот продукт на базе NLM предназначен прежде всего для дублирования данных, так что процесс восстановления отдается полностью на откуп администратору сети.
No*Stop Network производства NonStop Network реализует решение, выступающее в качестве альтернативы зеркальному копированию данных. Оно предполагает загрузку на клиент резидентной программы DOS, так что все операции записи направляются одновременно на два сервера. Продукт имеет ограничения на тип клиентских операционных систем, но он предлагает простое решение проблемы защиты данных.
Недостаток этого подхода в том, что если рабочий сервер выходит из строя, то администратор сети должен вручную переименовать резервный сервер, дать ему новый внутренний и внешний IPX-адреса, модифицировать его конфигурационные файлы и поместить реплики NDS прежде, чем он сможет функционировать в качестве замены вышедшего из строя сервера.
Интересное решение проблемы резервного копирования/оперативной готовности предлагает компания Network Integrity. Ее продукт LANtegrity for NetWare обеспечивает восстановление, резервное копирование и оперативное архивирование за счет использования комбинации зеркального копирования файлов, магнитных лент и автозагрузки.
LANtegrity for NetWare состоит из сервера NetWare 4.1 с программным обеспечением LANtegrity и подключенных к нему ленточных накопителей DAT или DLT с автозагрузкой. Резервное копирование осуществляется непрерывно по мере того, как сервер LANtegrity обращается к компактным агентам NLM на каждом защищаемом сервере NetWare и копирует оттуда все сделанные изменения. Управление данными и лентами встроено в продукт, а полная история всех версий файлов хранится в так называемом оперативном складе данных On-Line Data Vault, где последовательные изменения файлов копируются в скользящее окно целевых носителей, начиная с дискового кэша на сервер LANtegrity и заканчивая библиотекой лент.
Кроме того, сервер LANtegrity может подменить любой из страхуемых серверов в случае их сбоя. По словам директора по маркетингу компании Network Integrity Паулы Берман, продукт предназначен для защиты данных от чисто человеческих ошибок и программных сбоев, которые являются наиболее частыми причинами простоя. Такое решение представляется практичным в тех случаях, когда ключевым пользователям необходимо получить ту или иную версию файла с электронной таблицей или когда рабочая база данных должна быть восстановлена в том состоянии, в котором она находилась между двумя ночными сеансами резервного копирования.
Все эти продукты в той или иной мере снимают ограничения на расстояние между первичным и вторичным серверами. Однако за эту свободу приходится расплачиваться функциональностью, загрузкой сети и стоимостью оборудования. SFT III предполагает наличие выделенного соединения, и расстояние между серверами SFT III ограничено только протяженностью высокоскоростного прямого соединения. Vinca настоятельно рекомендует выделенное соединение, но зеркальный трафик может посылаться также через мост и через маршрутизатор.
При анализе продуктов, обеспечивающих зеркалирование или дублирование данных по сети, администраторы сети должны учесть, в какой мере эти решения повлияют на загруженность сети, особенно если передаются не изменения в файлах, а файлы целиком. Кроме того, продукты для мгновенного восстановления после сбоя с соединением по сети весьма подвержены синдрому двойников, при котором резервный сервер ошибочно фиксирует аварию первичного сервера, в то время как это может оказаться лишь временным разрывом соединения где-нибудь в сети.
ПОСТОЯННАЯ ГОТОВНОСТЬ WINDOWS NT
С ростом популярности Windows NT системы оперативной готовности для этой платформы сформировали целую рыночную нишу.
Для выполнения зеркального копирования дисков на резервный сервер Standby Server for Windows NT 1.21 использует встроенные средства Disk Administrator, основной утилиты для обслуживания физических и логических дисков после инсталляции Windows NT.
В отличие от Standby Server for NetWare, Standby Server for Windows NT не нужно перезагружаться и монтировать тома после сбоя защищаемого сервера. Резервный сервер просто меняет свое имя на имя защищаемого сервера, при этом клиенты печати и файлов соединения не теряют.
Octopus Technologies занимается разработкой программного обеспечения резервных систем для Windows NT с тех самых пор, как была создана эта операционная система. Сейчас на очереди выход четвертого поколения продукта. Octopus for Windows NT 2.0 зеркально копирует данные на файловом, а не на дисковом уровне (Рисунок 2). Благодаря функции Automatic Switch-Over сервер Octopus может обнаружить сбой защищаемого сервера, подменить его и выполнить записанный пользователем сценарий для запуска тех же сервисов, что и на защищаемом сервере. Клиентам файлов и печати не надо будет идентифицировать себя или устанавливать соединение заново, так что после приблизительно минутной задержки они смогут продолжать работать.
Рисунок 2.
Octopus for Windows NT 2.0 зеркально копирует файлы посредством перехвата
изменений на исходной системе и передачи их на другие машины с помощью
удаленных вызовов процедур. Программное обеспечение работает в соответствии
с сценариями "многие на один" и "многие на многие".
Octopus можно конфигурировать по типу "многие на один" или "многие на многие" при условии, что емкость дисков на сервере Octopus превосходит совокупный объем защищаемых дисков.
Последняя редакция Octopus содержит Super Automatic Switch-Over. С помощью этой функции сервер Octopus, обслуживающий своих собственных клиентов и защищающий другой сервер, может взять на себя функции вышедшего из строя сервера без отказа от собственных функций.
ЗАЩИТА ПРИЛОЖЕНИЙ
Сложности, с которыми приходится сталкиваться поставщикам систем, обеспечивающих оперативную готовность и отказоустойчивость Windows NT, носят несколько иной характер, нежели проблемы, возникающие в средах NetWare. Одно из неудобств заключается в том, что серверы Windows NT помимо сервисов файлов и печати зачастую выполняют еще и роль серверов приложений. Еще больше осложняет положение дел то, что эти сервисы приложений очень часто работают с высококритичными базами данных SQL, для которых простой означает остановку многих бизнес-операций.
FirstWatch for Windows NT компании Veritas Software предлагает решения исключительно для сетевых серверов на базе NT, таких как брандмауэры, почтовые серверы и серверы баз данных. Veritas Software - основной Unix-ориентированный игрок на рынке кластеризации и восстановления, однако компания перенесла некоторые из этих технологий на платформу Windows NT.
FirstWatch использует технологию разделяемых дисков, при которой два различных ЦПУ совместно используют один и тот же массив дисков и взаимодействуют через собственный избыточный канал Ethernet. Обнаружив сбои на первичном ЦПУ, вторичный берет на себя управление массивом дисков и запускает преконфигурированные сервисы, необходимые для выполнения функций первичного сервера. В соответствии со своим предназначением FirstWatch имеет мониторы приложений, которые хранят закладки о состоянии приложений Windows типа SQL Server, Oracle и Internet Information Server. Мониторы способны обнаруживать ошибки или сбои в этих приложениях и инициировать переход на вторичный ЦПУ, если даже первичный сервер функционирует нормально с точки зрения оборудования или операционной системы.
Vinca также написала специальную поддержку для приложений Microsoft Exchange и SAP для своего Standby Server for Windows NT, призванную улучшить восстановление этих приложений после сбоя. Vinca разрабатывает и поддержку для приложений BackOffice. Такой подход идет вразрез с прежней стратегией компании на обеспечение зеркального копирования и отказоустойчивости на уровне записи на диск. Изменение курса вызвано тем, что заказчики Vinca требуют полного восстановления на уровне приложений, а также на системном уровне.
ИМПЕРСОНАЛИЗАЦИИ IP
Еще одна проблема, с которой производители продуктов для бесперебойной работы сталкиваются в среде Windows NT, - это то, как поступить с TCP/IP, поскольку клиент-серверные коммуникации Windows NT происходят в основном по протоколу IP. IP не столь динамичен, как IPX, и замена адреса зеркального сервера на адрес основного требует определенных дополнительных процедур. Процесс, в результате которого вторичный сервер получает IP-адрес вышедшего из строя первичного сервера, носит название имперсонализации IP.
Ввиду того что IP-адрес вышедшего из строя сервера привязан к его собственному MAC-адресу в таблице хостов и маршрутизаторов протокола определения адреса (Address Resolution Protocol, ARP), этот IP-адрес должен быть ассоциирован с MAC-адресом резервного сервера. По словам Скотта Барнса, инженера в компании Vinca, продукт выполняет эту операцию посредством отправки "спонтанного" ARP-пакета с новым MAC-адресом, в результате другие хосты и маршрутизаторы соответствующим образом модифицируют свои кэшированные таблицы ARP.
Несмотря на поддержку серверных приложений и TCP/IP, процесс восстановления приводит обычно к разрыву связи между клиентами и серверами SQL. Хотя резервный сервер и получает IP-адрес первичного сервера при восстановлении, он не запускает прикладные сервисы и не открывает сокеты TCP и UDP параллельно с основным сервером - и вряд ли он это будет делать, пока кластеризация и технология Microsoft WolfPack не станут достаточно зрелыми в среде Windows NT.
Кроме того, большинство приложений для баз данных SQL написаны без учета технологии восстановления, поэтому клиентское приложение после восстановления все равно зачастую приходится перезапускать. Как результат, текущие транзакции и данные в кэше могут оказаться утерянными, так что возврат к началу транзакции и защита целостности базы данных отдаются на откуп самой базе данных. Браузеры Web реагируют на такую ситуацию лучше, так как они открывают и закрывают свои соединения для каждой транзакции в отдельности.
Наконец, как и в случае отказоустойчивых решений для NetWare, требования к соединению и расстоянию между серверами весьма различны. Так, Octopus позволяет осуществлять достаточно эффективное тиражирование в любое место сети, как локальной, так и глобальной. Президент Дейв Крокер говорит, что некоторые заказчики используют Octopus не только для обеспечения отказоустойчивости и бесперебойной работы, но и для тиражирования базы данных.
FirstWatch компании Veritas имеет куда более ограниченную сферу действия. Ограничения на расстояние весьма жесткие, так как первичный и вторичный серверы используют один и тот же массив дисков. Однако некоторые заказчики Veritas используют оптический кабель для увеличения протяженности каналов SCSI.
Для систем бесперебойной работы, взаимодействие которых осуществляется по сети, случаи необоснованного запуска резервной системы гораздо более вероятны. Последствия такого запуска серьезнее сказываются на серверах приложений, чем на серверах печати и файлов.
Чтобы избежать непреднамеренного восстановления, Veritas рекомендует обзавестись избыточным выделенным каналом Ethernet для регулярного трафика между первичным и вторичным серверами. Если даже регулярный трафик в выделенном канале Ethernet отсутствует, вторичный сервер сначала использует общее соединение Ethernet, для того чтобы установить факт недоступности первичного сервера, и только после этого возьмет на себя его роль. Кроме того, Veritas планирует реализовать дополнительную проверку регулярного трафика по каналу SCSI в следующей редакции FirstWatch.
НИКАКИХ ПРОСТОЕВ?
Обсуждаемые в этой статье технологии представляют собой типичные решения по обеспечению бесперебойной работы вычислительных систем в компаниях, в которых простой недопустим. Ввиду того что локальные сети продолжают служить фундаментом для корпоративных вычислений, а новые кластерные технологии находят свое место в мире микропроцессоров, продукты для бесперебойной работы обещают стать куда более разнообразными и мощными.
Шеннон Го - менеджер по телекоммуникациям в одной из крупнейших коммунальных компаний США. С ним можно связаться по адресу: wsgaw@tva.gov.
ДОСТИЖЕНИЯ В ОБЛАСТИ ВОССТАНОВЛЕНИЯ С МАГНИТНОЙ ЛЕНТЫ
Рывок вперед
Поистине время - деньги, когда речь идет о восстановлении сервера с магнитной ленты. Затягивание сроков восстановления может привести к разорению компании.
К счастью, имеющиеся на рынке продукты позволяют существенно сократить этот процесс. Replica for NetWare компании Stac усовершенствует традиционную процедуру резервирования/восстановления с магнитной ленты. Запатентованная технология тиражирования логических объектов предусматривает так называемое восстановление с помощью трех кнопок.
Тиражирование логических объектов вобрало в себя лучшие свойства резервного копирования образов на физическом уровне и пофайлового резервного копирования на системном уровне. В среде NetWare эта технология рассматривает разделы DOS, разделы и тома NetWare как объекты и копирует их на одну ленту. Чтобы полностью восстановить сервер, нужны всего две дискеты, магнитная лента и три нажатия клавиши в ответ на запросы Press Any Key. Кроме того, магнитные ленты могут монтироваться как тома NetWare, так что пользователи могут просто использовать команду copy для переноса файлов с магнитной ленты на диск.
Cheyenne предлагает Disaster Recovery Option - продукт, использующий сходную технологию, для ARCserve for Windows NT и NetWare. ARCserve имеет теперь простую процедуру восстановления после аварий, при которой, как и в случае с Replica, нужны лишь несколько дискет, магнитная лента и несколько нажатий клавиш.