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

Дешевое и надежное решение с высокой доступностью?

Мы ищем способ повысить надежность одного из наших серверов (установка Apache / MySQL / Virtualmin). До сих пор у нас были все возможные проблемы с этим сервером за последние шесть месяцев (сбой DNS, DDOS, сбой Dom0, сбой сети, сбой DomU,…; в хороший день 2 сразу), и пока все они были решены менее чем за день это все еще вызывает беспокойство - на этом хосте около 50 веб-сайтов клиентов, и они будут мешать нам каждый раз, когда сервер выходит из строя (доступность сервера все еще превышает гарантированные контрактом 99%, но что ж ... вы вспомните 5 случаев простоя сервера, а не 360 дней, когда он работал).

Планы на данный момент:

  1. Резервный DNS-сервер (не должно быть большой проблемы)
  2. Настройка высокой доступности для самого сервера. Проблема здесь в репликации данных на вторичный хост.

Хосты будут в разных центрах обработки данных (Hetzner, кстати.), Поэтому у нас будет довольно ограниченная пропускная способность (канал восходящей связи 100 Мбит, и должна быть по крайней мере некоторая пропускная способность для реальных пользователей ...), а шифрование данных более или менее за вычетом фиксированного требования.

Сам DRBD плохо масштабируется по WAN и не обеспечивает шифрование. Прокси-сервер DRBD утверждает, что решает проблему с пропускной способностью (но не проблему шифрования, насколько я понимаю), но это слишком дорого из того, что я читал, 5 тысяч долларов в год - это слишком много (я почти уверен, что это больше, чем мы с этим сервером зарабатываем).

С другой стороны, по моему личному опыту, туннели OpenVPN / SSH недостаточно надежны, чтобы гарантировать, что у нас не будет ложных предупреждений, запускающих ненужные отработки отказа (не говоря уже о накладных расходах, еще более снижающих производительность жесткого диска).

Итак ... какие есть альтернативы? Или я просто что-то не замечаю?

Изменить: чтобы уточнить, я бы предпочел репликацию на уровне файловой системы / блочного устройства. Репликация на уровне приложения возможна, но я бы предпочел, чтобы работало одно решение для репликации, чем одно для каждого приложения.

Кажется, вы несколько застряли с репликацией DRBD. Я думаю, это потому, что это не соответствует вашим потребностям. Он реплицирует блочные устройства и требует значительных затрат полосы пропускания (хотя сжатие ссылок может немного облегчить это). Проверьте, не понравится ли вам репликация на более высоком уровне - например, Механизмы репликации MySQL для баз данных и что-то вроде lsyncd для файловых систем.

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

Конечно, вам все равно понадобится зашифрованный туннель для трафика, но я не понимаю вашего нежелания использовать OpenVPN - поскольку туннель существует только ради резервной / резервной системы, и у вас будет либо свидетель (в Настройка высокой доступности с автоматическим переключением при отказе) или система мониторинга (в настройке с мониторингом), которая не зависит от наличия туннеля, у вас не будет никаких аварийных переключений при отключении туннеля, и вы получите только аварийные сигналы для исправления туннеля при сбое (что является конечно необходимо, иначе вы потеряете возможность переключиться на обновленную резервную систему).