Как спроектировать / обеспечить высокую доступность веб-серверов?

11

Мне дали выделенный сервер через Интернет 1 & 1, который имеет два жестких диска в конфигурации RAID1. Я ожидал, что это будет достаточно, как если один диск выйдет из строя, другой может вступить во владение, пока поврежденный не будет заменен. Однако в двух случаях оба жесткого диска вышли из строя (или 1 & 1 были некомпетентны и заменили их в неправильном порядке), что вызвало серьезные проблемы.

Я хотел бы знать, каков наилучший способ обеспечения высокой доступности веб-сервера, который работает на выделенном компьютере? Пока что у меня есть:

  1. Выделенный сервер с жестким диском 2x500 ГБ под управлением IIS 7, программное обеспечение SQL Server + Web App
  2. Резервное копирование сервера EaseUS выполняется два раза в день
  3. Нет балансировки нагрузки

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

Моя единственная другая возможность - удалить выделенный сервер и перейти на «облачный» сервер, который является машиной VMWare. Они утверждают, что это надежно, потому что инфраструктура настолько огромна, что любые проблемы с оборудованием мало влияют на клиентов. Но я ненавижу идею потери выделенного сервера, потому что я считаю, что их проще настроить.

Какой хороший способ сделать это? То есть enusring мой сайт всегда доступен с очень небольшим перерывом в работе. Мой бюджет будет около 150 долларов в месяц. Мой сервер в настоящее время стоит около $ 60 вечера.

Том первый
источник
Проще говоря, вам нужна серверная служба, которая предлагает возможность запуска кластера Windows с двумя узлами, в идеале с балансировщиком нагрузки - если честно, я бы посмотрел на Azure для этого, поскольку вы, похоже, на 100% MS, и они это делают очень хорошо - их аппаратные и бизнес-процессы, кажется, лучше, чем ваш нынешний поставщик.
Chopper3
1
I hate the idea of losing a dedicated server because I find them easier to configure- Какая разница между виртуальной машиной и физической машиной с точки зрения конфигурации?
Джеральд Шнайдер
@ Chopper3 спасибо за предложения. только что посмотрели на Azure, и их цены не покладая рук. 1 и 1 предлагают 4-ядерный, 8 ГБ оперативной памяти, 240 ГБ SSD по цене около 70 долларов США. Azure больше похож на $ 200 за меньшую цену?
объем один
2
Вы получаете то, за что платите, звучит так, будто 70 долларов за минуту не сильно мешают качественному обслуживанию или обслуживанию клиентов.
Chopper3
2
Хорошие сисадмины стоят $ 100 + / час. Вы платите 70 долларов в месяц, поэтому не удивляйтесь, если вам понадобится несколько дней, чтобы добраться до вас. Такие задержки, вероятно, отчасти предназначены для того, чтобы отсеять людей «сначала поддержи, никогда не устраняй».
ceejayoz

Ответы:

12

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

Вам потребуется 2 сервера, и есть несколько вариантов программного обеспечения для балансировки нагрузки. Windows предлагает услугу балансировки нагрузки. Кажется, работает довольно хорошо, однако вам понадобится очень дешевый 3-й сервер.

Два вопроса: как вы собираетесь копировать данные сайта и как вы будете реплицировать SQL.

Репликация данных была бы достаточно простой с DFS, и есть некоторые другие сторонние варианты, но с лицензированием. DFS потребует AD, так что там тоже есть некоторые дополнительные расходы.

Теперь о SQL,

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

Зеркалирование: опять-таки избыточность, а не высокая доступность, однако для свидетеля понадобится третий сервер, вероятно, с использованием сервера балансировки нагрузки / AD все будет в порядке, SQL Express будет работать нормально, однако я не уверен на 100% в том, какие версии SQL поддерживают зеркалирование.

Группа доступности: обеспечивает высокую доступность в активной активной настройке, однако только в SQL 2012 и SQL 2014. Также потребуется четверть.

Quarm - Witness: в основном третья сторона, которая делает две вещи:

Определяет, какой сервер в настоящее время активен, и действует как мост связи в случае, если SQL не может общаться друг с другом.

Если они предлагают выделенные серверы за 60 долларов, я уверен, что их облачный вариант дешевле.

Я хотел бы спросить их об одном VPS или выделенном облаке.

Разница здесь в том, что VPS - это разделение ресурсов. Выделенное облако - это выделенные ресурсы из пула ресурсов.

Большинство выделенных облачных инфраструктур - лучший путь, если у вас низкий уровень дискового ввода-вывода. Если они работают правильно, у них будет настроено полное заполнение ESXi для Vmotion, QOS, надеюсь, хранилищ данных HA, и по цене это обычно неплохо. Я видел, как простые решения для выделенного облака стоят от 300 до 50 долларов, но помните, что вы получаете то, за что платите.

Вы не можете купить Ferrari по той же цене, что и Honda, для этого есть причина.

Энтони Форнито
источник