Как обеспечивается совершенно бесперебойная работа сервера?

Ситуация 1:
Сервер с очень важной программой требовательной к дискам, как по скорости, так и по объему.
Тут на сервер упал кирпич (насквозь пробил) или его осветил священник, в общем сервер помер, софт тоже не работает. Как такого избежать?
Ситуация 2:
То же самое - сервер+важное ПО.
Пришла буря, одну подстанцию поджарила молнией, от второй оторвала провода. Два хитрых охранника слили по полбака солярки из генератора каждый, ИБП отработали нормально и сохранили работу серверов и теперь остаётся молиться, чтобы электрики починили свет, глядя на то, как быстро убывает % заряда АКБ....
Как избежать и такого?
  • Вопрос задан
  • 952 просмотра
Пригласить эксперта
Ответы на вопрос 5
@hx510b
Вариант №1 - создание отказоустойчивого кластера - два физических сервера работают в паре, при этом один сервер выполняет работу, а второй сервер работает в резерве, при этом получает актуальные копию данных с первого сервера, делается разными инструментами. В случае гибели первого сервера, второй берет нагрузку на себя.
Вариант №2 - применим для веб-сайтов - пользовательские запросы направляются на сервера по определенным правилам на несколько серверов, в случае выход из строя одного из серверов - нагрузка вырастает на оставшиеся.
Вариант №3 - географически разнесенные дубликаты сервисов - самый надежный вариант, но кластер на длинных расстояниях сделать очень сложно - возникают проблемы с пропускной способностью, задержкой передачи и временными перерывами связи - не все протоколы, работающие в локальной сети способны справиться с этой проблемой.
В целом задача решается с применением известных решений с учетом специфики решаемой задачи и существующей архитектуры сервиса.
Простого решения - панацеи от всех проблем нет.
Ответ написан
Sanes
@Sanes
!
Синхронизация и распределение по регионам. Сервис высокой доступности или отказоустойчивости.
В любом случае требуется минимум двойной избыток мощности.
Ответ написан
opium
@opium
Просто люблю качественно работать
Просто сервера в разных датацентрах
Ответ написан
vvpoloskin
@vvpoloskin
Инженер связи
Взрослые дяди выносят прогу (сервис) на виртуальную машину, виртуальная машина поднимается на кластере физ серверов с гипервизорами, в случае отказа одного физ сервера виртуалка переезжает через какой-нибудь vmotion на другой, ну и Жесткие диски стоят в вынесенной СХД, подключаемой по fibrechannel. Естественно каждый физ сервер подключен к разным коммутаторам и маршрутизаторам. Так работает в рамках одного помещения (ЦОДа), для территориально разнесенных цодов надо уже думать исходя из инфраструктуры этих цодов. А если этого мало, то считаем, сколько там допустимо время простоя в месяц, каково допустимое время восстановления, и уже исходя из этого выполняем ряд мероприятий.
Ответ написан
angrySCV
@angrySCV
machine learning, programming, startuping
на уровне 1-2х серверов вы все равно не сделаете высокую отказоустойчивось которая бы по форс мажерам/стихийным бедствиям противостояла.
Для такой отказоустойчивости вам необходимо:
1. Отделить софт от железа, используя виртуализацию, упаковав в контейнер софт.
2. Разместить контейнер в облаке, там такие задачи будут автоматически решаться на уровне "оркестрации" контейнеров.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы