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

Настройка apache + mysql + exim на новых серверах. Резервирование / высокая доступность / аварийное переключение?

В настоящее время мы перемещаем наш единственный сервер Linux на несколько других физических серверов Linux и хотели бы воспользоваться возможностью, чтобы иметь еще несколько вариантов аварийного переключения.

Резервное копирование - это нормально, и нам «действительно» не нужна высокая доступность, однако, если мы смотрим на ~ 1 день на замену оборудования / восстановление из резервных копий, этого становится слишком много. Время простоя в час или три - это нормально, если произойдет какой-либо действительно критический сбой оборудования (если ничего другого для ожидания изменений DNS).

В настоящее время мы запускаем несколько виртуализированных образов KVM для apache (несколько имен хостов), mysql и exim на одной машине. У этой машины есть несколько внешних IP-адресов (по одному на виртуальный образ), что, я думаю, было бы одной из самых серьезных проблем, если бы возникла проблема. Потребуется связаться с нашим хостингом (Hetzner), чтобы перенастроить эти IP-адреса на другой сервер в случае аппаратного сбоя (в настоящее время у нас есть вторая машина, которая делает снимки образов виртуальных машин, а также резервные копии rsync на основе файловой системы. виртуальных машин).

Мы планируем запустить apache + mysql + exim, скажем, на 2-3 доступных физических машинах (исключая резервные копии).

Как мне настроить его, чтобы минимизировать время простоя когда будет аппаратный сбой?

Все еще виртуализированы? DRDB для хранения? Nginx прокси / HAproxy для веб-сервера? Не используете кучу внешних IP-адресов для различных сервисов? HA? Восстановление после отказа? Избыточность для производительности?

Я думаю, что в вашей среде лучшим решением для минимизации времени простоя будет следующее

  1. Использовать резервный IP-адрес - http://wiki.hetzner.de/index.php/Failover/en
  2. Создайте 2 записи MX, которые будут указывать на разные физические серверы
  3. Для MySQL используйте репликацию master-slave или master-master (в зависимости от вашего приложения)
  4. Для http используйте haproxy / nginx

При таких настройках время простоя будет 10-20 минут (при миграции аварийного ip). Конечно, если выйдет из строя только один из ваших узлов;)