Лекция 12: Microsoft SQL Server и Microsoft Cluster Services
В последние годы системы Microsoft SQL Server 2000 превратились из систем для настольных компьютеров сначала в системы для рабочих групп, а теперь и в системы для внутренних офисов. Эти системы теперь стали крупнее и их важность для бизнеса повысилась, поэтому повысились и требования к их стабильности, к возможностям дистанционного администрирования и их отказоустойчивости. Чтобы добиться удовлетворения этих требований, фирма Microsoft затратила очень много времени и усилий на поиск ошибок в программах и на улучшение поддержки пользователей. Microsoft усовершенствовала инструментальные средства для администрирования и улучшила возможности дистанционного администрирования, были созданы такие технологии, как "Службы Кластеризации", MSCS (Microsoft Cluster Services). Кластером называется группа компьютеров, которые обеспечивают друг для друга взаимное резервное копирование на случай отказов. В этой лекции вы узнаете, как работает служба MSCS и как их конфигурировать, а также научитесь планировать действия в случае возможных отказов и узнаете, как выполнять восстановление после отказов. Служба MSCS сама по себе не может обеспечить отказоустойчивость вашей системы; чтобы ваша система могла быть восстановлена после отказов, эта технология должна применяться в сочетании с тщательным планированием.
Разновидности отказов
Главной обязанностью администратора базы данных является поддержание базы данных в рабочем состоянии в течение требуемых периодов времени, которые обычно указываются в соглашении об уровне обслуживания (service level agreement). В этом соглашении об уровне обслуживания обычно указывается объем периодов работоспособности системы, а также показатели производительности и длительность времени восстановления в случаях отказов в работе. Применение MSCS может увеличить длительность периодов работоспособности системы и сократить длительность времени восстановления. Несмотря на то, что аппаратура сервера, Windows 2000, Windows NT и SQL Server обычно стабильны и надежны, отказы все равно иногда случаются. На самом деле, в сложной компьютерной системе могут случаться разнообразные типы отказов, в том числе следующие:
- Отказы дисковых накопителей. Технология дисковых накопителей значительно усовершенствовалась, но дисковые накопители по-прежнему остаются механическими устройствами и, следовательно, подвержены износу. Дисковые накопители являются одной из наиболее типичных причин отказов.
- Отказы оборудования. Отказы оборудования могут происходить из-за износа и повреждения его компонент, чаще всего из-за перегрева. Со временем может отказать аппаратура компьютеров даже наивысшего качества.
- Отказы компонент программного обеспечения. Некоторые пороки программного обеспечения оборудования могут проявиться только при редком сочетании обстоятельств. Ваша система может работать многие месяцы или годы, пока некоторое сочетание условий не заставит проблему проявиться. Кроме того, при добавлении приложений в стабильно работающее окружение может произойти изменение библиотеки или файла, имеющих критическую важность, что и вызовет проблемы.
- Внешние отказы. Система может отказать из-за внешних причин, например, из-за отключения электропитания. Выживет ли система в таких обстоятельствах, зависит от того, применяете ли вы источники бесперебойного питания (ИБП) и резервные источники электропитания.
- Ошибки людей. Кластеризация обычно не может защитить систему от отказов, вызванных ошибками людей, например, таких, как ошибочное удаление таблицы разделов файловой системы Windows NT.
Отказы будут случаться неизбежно. Вопрос в том, как следует наилучшим образом подготовиться к некоторым из них; этому и посвящена данная лекция.
Обзор MSCS
MSCS является встроенной службой Windows 2000 Advanced Server, Windows 2000 Datacenter Server и Windows NT Enterprise Edition. MSCS применяется для формирования кластера серверов, который, как уже говорилось, является группой независимых серверов, работающих совместно как единая система. Кластер служит для обеспечения готовности (availability, этот термин может переводиться и как "доступность") клиентов к обслуживанию приложений в ситуации возникновения отказа или при запланированных отключениях. Если один из серверов кластера по какой-либо причине является недоступным, то ресурсы и приложения перемещаются на другой узел кластера.
Когда речь идет о кластеризованных системах, мы обычно применяем термин с высокой готовностью (high availability), а не отказоустойчивый (fault tolerant). Термин отказоустойчивый традиционно применяется по отношению к специализированным системам, обладающим исключительно высоким уровнем резервирования, устойчивостью к внешним воздействиям и способностью к восстановлению. Такие системы обычно применяют весьма специализированное программное обеспечение, обеспечивающее почти мгновенное восстановление при любых отдельных отказах оборудования или программного обеспечения. Отказоустойчивые системы стоят гораздо дороже, чем системы без отказоустойчивости. Кластеризованные системы, обеспечивающие высокую готовность, не столь дорогостоящи, как отказоустойчивые системы. Кластеризованные системы обычно конструируются из оборудования для стандартных серверов и программного обеспечения для работы кластера (это программное обеспечение имеет небольшой объем и входит в состав операционной системы). При увеличении потребности в обеспечении готовности можно достаточно просто включать дополнительные компьютеры в состав кластера. Хотя кластеризованные системы и не гарантируют непрерывной работы, но они обеспечивают весьма значительное повышение готовности для большинства критически важных приложений.
Системы, исполняющие MSCS, обеспечивают высокую готовность и имеют много других достоинств. Некоторые из достоинств применения MSCS перечислены ниже.
- Высокая готовность. Системные ресурсы, такие как дисковые накопители и IP-адреса, автоматически передаются от отказавшего сервера к выжившему. Это явление называется переход по отказу (failover). При возникновении ситуации, когда приложение на кластере отказывает, MSCS автоматически запускает его на выжившем сервере или распределяет работу отказавшего сервера по другим оставшимся узлам кластера. Переход по отказу происходит быстро, поэтому для пользователей он представится как лишь мгновенная заминка в обслуживании.
- Возврат к исходному узлу кластера после восстановления. После того как отказавший сервер будет починен и введен в строй, MSCS автоматически перераспределяет нагрузку на кластере. Это явление называется возврат к исходному узлу кластера (failback).
- Управляемость. При помощи программного обеспечения Cluster Administrator можно управлять всем кластером как единой системой. Вы можете легко перемещать приложения на те или иные серверы в пределах кластера, перетаскивая объекты внутри Cluster Administrator. Точно так же можно перемещать и данные. При помощи этого перетаскивания можно производить ручное балансирование нагрузок на серверы, можно также снять нагрузку с какого-либо сервера, подготовив тем самым его к плановому отключению и техническому обслуживанию. При помощи Cluster Administrator можно также следить из любого места в сети за состоянием кластера и каждого из его узлов, а также за любыми доступными ресурсами. Пример окна Cluster Administrator показан на рис. 12.1.
- Масштабируемость. По мере роста требований к системе, MSCS может быть переконфигурирована для поддержки этого роста. Если суммарная нагрузка станет превышать возможности кластера, можно будет добавить в кластер дополнительные узлы.