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

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

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

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

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

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

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

11
задан 1 November 2016 в 11:44
1 ответ

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

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

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

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

Теперь о SQL,

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

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

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

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

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

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

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

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

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

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

12
ответ дан 2 December 2019 в 21:52

Теги

Похожие вопросы