Как построить личный кластер?

9

У меня есть сервер Debian, на котором запущены некоторые сервисы (mail, web, git, mysql ...). Но он один, а это значит, что если он сломается, мне придется починить его, чтобы получить доступ к моим услугам.

Я хотел бы установить второй сервер, чтобы, если первый из них умирает, второй автоматически готов к работе. Я не хочу, чтобы какой-либо из этих серверов был хозяином, а другой - рабом. Идея состоит в том, чтобы предотвратить сбой оборудования на любом из двух серверов.

Я нашел много информации о том, как создать несколько больших кластеров, но я не нашел ничего, что подразумевало бы только два сервера.

Клемент Роблот
источник
Это крутой вопрос, но вы можете получить лучший ответ с сайта Server Fault SE.
n0pe
@MaxMackie «Личная» часть, кажется, выводит этот вопрос из темы на SF.
CVN
1
для конфигураций, которые я рекомендую использоватьpuppet
ixtmixilix

Ответы:

7

Создание среды ha имеет много предостережений и сложностей, и часто время зависит от реального программного обеспечения (например, создание среды master-slave для mysql отличается от ситуации для postfix0

Если вы хотите начать работу и хотите иметь только две системы и у вас нет времени на настройку всех своих демонов соответственно, вам следует взглянуть на drbd , raid-1 по сети. При этом все содержимое блочного устройства будет скопировано в вашу другую систему. Объедините это с чем-то вроде corosyncили, heartbeatи вы получите автоматическое управление другой системой.

В целом это сводится к:

  1. Иметь какое-то общее хранилище, либо SAN, drbd и т. Д., Либо иметь поддержку от серверной системы
  2. Автоматически обнаруживать сбой системы и брать на себя ответственность (например, IP или удалить его из кластера)

Если у вас нет общей системы хранения, вам обычно требуется поддержка в вашем приложении, например, такие как cassandra, mongodb и т. Д.

Ульрих Дангел
источник
1
На linuxvirtualserver.org есть хороший набор документов о том, как предоставить интерфейс высокой готовности для любой реплицируемой службы.
Мэтт
1
@mindthemonkey примеры, похоже, относятся к конкретным http / приложениям. но да, основной принцип, общее хранилище, система мониторинга и т. д. есть также linux-ha.org, который предоставляет введение в различные программные компоненты.
Ульрих Дангел
1

Сердцебиение не рекомендуется.

Используйте Pacemaker + Corosync для кластеров 1 + 1, N + 1, N + N

Баран
источник