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

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

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

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

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

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

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

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

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

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

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

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

Теперь о SQL,

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

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

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

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

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

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

Одна вещь, которую я бы спросил у них, - это VPS или выделенное облако.

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

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

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