Сервер:Построение двух-серверной отказоустойчивой системы - NEW
Yura (обсуждение | вклад) |
Yura (обсуждение | вклад) (→Настройка зеркалирования) |
||
Строка 28: | Строка 28: | ||
=== Настройка зеркалирования === | === Настройка зеркалирования === | ||
− | + | Стартуем на обоих серверах службу '''locarus-server''' и идем в веб-админку. | |
+ | Настройки -> Обмен данными | ||
+ | |||
+ | |||
+ | Включаем '''MIRROR_ENABLE''' | ||
+ | В строке '''MIRROR''' пишем IP-адрес соседнего сервера. | ||
+ | '''MIRROR_MODE''' -> ALERT | ||
+ | '''MIRROR_DEPTH''' -> Указываем нужное кол-во дней | ||
+ | |||
+ | Дополнительно на первом сервере, если необходимо, устанавливаем переменную в конфиге - |
Версия 13:57, 22 октября 2014
Содержание |
Описание общей схемы
Система состоит трёх основных элементов: шлюза и двух серверов. На шлюзе нужные порты пробрасываются на один из серверов - он является в схеме главным. В случае его отказа, второй сервер дает команду шлюзу перебросить порты на него и становится главным. Когда поднимается первый сервер, то он, видя, что роль главного у него забрали, становится второстепенным (можно указать ему насильно забирать роль главного на себя при помощи опции в конфиге - WATCHDOG_ROUTER_MASTER=true). Потоки данных ходят так: от прибора к шлюзу, затем в главный сервер и там дублируются на второстепенный. Благодаря этому на обоих серверах находится актуальная БД.
Настройка
Пример настройки на серверах под управлением Linux. Для Windows систем настройка будет похожая. Основное отличие - передача команды шлюзу для переброса портов.
Настраиваем оба сервера по статье: Сервер:Установка на Ubuntu Server 14.04.1
Создание SSH-ключей для отправки команд шлюзу без паролей
На обоих серверах (вместо user пишем логин текущего пользователя):
sudo ssh-keygen -t rsa sudo cp -r /root/.ssh ~ sudo chown -R user:user ~ sudo chmod 600 ~/.ssh/* ssh-copy-id -p 38 root@<тут IP-адрес шлюза> sudo bash ssh -p '38' 'root@<и тут IP-адрес шлюза>'
Это позволит отправлять любый команды с серверов на шлюз. Пример команды:
ssh -p 38 root@<тут IP-адрес шлюза> '<тут любая команда, которая должна выполняться на шлюзе>' ssh -p 38 root@192.168.0.1 'date'
Если видите дату, то все хорошо. Это нужно для того, чтобы давать команды шлюзу переключать проброс портов с одного сервера на другой.
Настройка зеркалирования
Стартуем на обоих серверах службу locarus-server и идем в веб-админку. Настройки -> Обмен данными
Включаем MIRROR_ENABLE
В строке MIRROR пишем IP-адрес соседнего сервера.
MIRROR_MODE -> ALERT
MIRROR_DEPTH -> Указываем нужное кол-во дней
Дополнительно на первом сервере, если необходимо, устанавливаем переменную в конфиге -