Наш сайт электронной коммерции в настоящее время работает на двух серверах:
Наши доходы неуклонно росли до такой степени, что нам необходимо развернуть резервные серверы с механизмом аварийного переключения, чтобы у нас не было простоев.
Поскольку сервер SQL настолько слаб по сравнению с веб-сервером, я подумал о покупке:
Мне нужны лицензии Windows Server 2008 R2 Web Edition, чтобы я мог запускать SQL и IIS на одном компьютере для обоих этих серверов.
Идея состоит в том, чтобы запустить это как активный / пассивный отказоустойчивый кластер, который можно было бы обновить до активного / активного кластера, если бы мы приобрели дополнительную лицензию SQL. Балансировщик нагрузки F5 будет служить устройством, которое контролирует два сервера, и если текущий активный перестанет отвечать, то переключится на другой сервер. Чтобы было понятно, это не кластеризация Windows, а просто использование балансировщика нагрузки для переключения между двумя компьютерами, так что теперь у вас есть кластер в общем смысле.
Действительно ли это лучший способ выполнить то, что мне нужно? Есть ли способ использовать старый сервер SQL Server 2003 в качестве устройств, которые направляют HTTP-запросы на соответствующий активный сервер, а затем отключаются при возникновении проблемы? Есть ли стороннее программное обеспечение для кластеризации, которое может помочь мне сделать это проще?
Между отказоустойчивым кластером и кластером с балансировкой сетевой нагрузки существует большая разница. Для IIS вы хотите реализовать кластер NLB. Оба будут активны все время. Для SQL вы захотите реализовать отказоустойчивый кластер. Достижение уровня доступности, на который вы намекаете, не так просто, как добавить немного оборудования и установить операционные системы.
Для отказоустойчивого кластера потребуется какое-то общее хранилище, например SAS с прямым подключением или SAN (я предпочитаю iSCSI). Все это может быть выполнено в виртуальной среде путем кластеризации 2 серверов под управлением 2008R2 (Enterprise или выше) с Hyper-V (минимум 4 шины, 2 для SAN, 1 для NLB и один для другой связи). Они будут подключены к коммутаторам SAN, которые, в свою очередь, подключаются к SAN. Тогда оба будут подключены к внешним переключателям (NLB и др.). Затем вы можете создать кластер NLB как виртуальные машины и отказоустойчивый кластер SQL как виртуальные машины.
Теперь добавим еще немного инфраструктуры. Вам потребуются контроллеры домена (2 физических блока) и резервный сервер. В общем, вы будете искать в диапазоне от 150 тысяч долларов и выше вместе с кем-то, кто действительно знает, что делает. Достижение высокой доступности не из дешевых.
Да, и не забывайте о резервном питании и охлаждении. Имейте план аварийного восстановления (DR) и обеспечения непрерывности бизнеса (BC).
Просто подумал об альтернативе. Разместите свой сайт с соглашением об уровне обслуживания (SLA) на 99,99%. Убедитесь, что он местный, и совершите экскурсию по центру обработки данных. В долгосрочной перспективе может быть дешевле, учитывая человеческие затраты.
ничего не покупайте. Вы все равно не можете - веб-издание только в аренду. Заключите контракт SPLA.
Приобретенные лицензии недоступны для хостинга И, как правило, намного дороже, чем лицензии SPLA.
Нет необходимости в балансировщике нагрузки. Используйте NLB (балансировку сетевой нагрузки), часть окон. Он довольно быстро справится с отказом (примечание: 100% время безотказной работы действительно трудно получить - обычно приемлемо 5 секунд).
Выполните SQL с 3 серверами (2 стандартных, 1 экспресс). Зеркало, используйте экспресс в качестве свидетеля - веб не позволяет хорошо переключаться.
Запускайте веб-серверы в конфигурации активный / активный с NLB.