Назад | Перейти на главную страницу

Стратегии аварийного восстановления SQL Server с виртуализацией и несколькими сайтами

Мне нужен совет по лучшим стратегиям HA / DR для SQL Server. В настоящее время я использую экспресс-версию, в которой резервные копии копируются через глобальную сеть на удаленный сайт и восстанавливаются.

Экземпляры SQL Express размещаются на виртуализированном сервере (в настоящее время VMWare) в коробке с прямым хранилищем RAID.

Я стремлюсь уменьшить потенциальную потерю данных и сократить время восстановления по сравнению с текущим решением. Я вижу несколько вариантов, чтобы помочь в этом.

1) Перейти на предприятие SQL и использовать репликацию

2) Переместите данные в iSCSI SAN и реплицируйте виртуальный диск, содержащий данные SQL, затем используйте эквивалент VMotion или XenApp для перемещения с одного сайта на другой. (Я не знаю, будет ли это работать с точки зрения транзакций SQL-сервера)

3) Кластеризовать виртуальные машины по каналу WAN.

В настоящее время размер канала WAN составляет 10 Мб, и я бы не хотел его увеличивать, поэтому мне любопытно узнать, какое решение обеспечит наилучшее использование полосы пропускания, максимальную надежность и будет наиболее экономичным.

Я открыт и для других предложений.

Спасибо Крис

Я также нашел следующее:

http://www.xlink.com/REPLICA/ent/clusterdescription_ent.aspx

Мне кажется довольно дешевым решением. У кого-нибудь есть опыт?

Кластеризация в виртуальной среде будет очень сложной и дорогой из-за того, как работает общее хранилище в кластере.

Репликация также имеет ограничения и может быть больше, чем вам нужно, тем более что sql 2005 Enterprise стоит около 25 тысяч долларов за каждый процессор или 14 тысяч долларов за сервер + клиентские лицензии. При репликации вам потребуется две лицензии предприятия, а для кластера вам понадобится только одна лицензия.

Поскольку сейчас вы используете только SQL Express, возможно, вы захотите сделать первый переход к версии SQL для рабочих групп и настроить доставку журналов с одного сервера на другой. Если вам нужен следующий шаг к стандарту SQL, я бы выбрал зеркальное отображение базы данных.

Фактически, лично, если нет конкретной причины не делать этого, я бы предпочел зеркальное отображение базы данных по большинству этих решений, хотя есть изменение небольшого снижения производительности в системах с очень высокими транзакциями, а также немного более сложная настройка, чем что-то вроде доставки журнала. Кластеризация будет самой сложной установкой и, безусловно, самой дорогой из-за требований к оборудованию.

Ознакомьтесь с этими ссылками: http://msdn.microsoft.com/en-us/library/ms190202%28SQL.90%29.aspx - Решения высокой доступности
http://msdn.microsoft.com/en-us/library/ms189134%28SQL.90%29.aspx - Отказоустойчивая кластеризация
http://technet.microsoft.com/en-us/library/cc917680.aspx - Зеркальное отображение базы данных
http://msdn.microsoft.com/en-us/library/ms188698.aspx - Доставка журналов
http://www.microsoft.com/Sqlserver/2005/en/us/pricing.aspx - Ценообразование
http://www.sqlservercentral.com/articles/Disaster+Recovery/sqlserver2005highavailability/2421/ - Высокая доступность в SQL Server Central
http://www.amazon.com/gp/product/159059780X - Замечательная книга о высокой доступности для SQL 2005, которую я рекомендую каждому администратору баз данных MS.

Взгляните также на сторонние инструменты репликации дисков, если вы не хотите вкладывать большие средства в лицензирование.

Я использую Double Take на наших рабочих серверах, который обеспечивает репликацию данных на уровне блоков, как и следовало ожидать от SAN, и на сегодняшний день производительность фантастическая. Он копирует двоичные файлы SQL, а также данные, плюс я могу использовать его для создания дополнительных наборов реплик для данных, отличных от SQL. Он сертифицирован MS для работы с файлами данных SQL.

Я уверен, что есть и другие, которые делают аналогичную работу, но это продукт, которым клянется наша хостинговая компания.

Я согласен с tnolan в том, что вам следует попробовать частую доставку журналов или зеркальное отображение базы данных. Это очень экономичные решения, разработанные специально для вашего сценария. Кластеризация разработана и лучше всего работает для локальной устойчивости, а не для географически распределенных баз данных. Для кластеризации также требуется оборудование, которое находится в кластере HCL.

Если вы не хотите обновлять свою версию SQL Server, вы можете развернуть собственное решение для доставки журналов, используя хранимые процедуры и агент SQL. Google для доставки журналов - есть множество самодельных решений, которые вы можете попробовать.