Сервер:Построение двух-серверной отказоустойчивой системы - NEW

(Различия между версиями)
Перейти к: навигация, поиск
Строка 9: Строка 9:
  
  
= Текст заголовка =
+
=== Создание 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'
 +
 
 +
Если видите дату, то все хорошо.

Версия 13:36, 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'

Если видите дату, то все хорошо.

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты