LINUX.ORG.RU
Форум — Admin  

Создание отказоустойчивой системы на cluster'e

 , , ,


0

1

Всем добрый вечер!

Столкнулся со следующей проблемой: дали задачу построить кластерную отказоустойчивую систему, на базе кластера. Есть 2 компа:

  • node1 (192.168.0.101)
  • node2 (192.168.0.102)

Нужно как-то сделать виртуальный ip-адресс, например 192.168.0.100, на который будет настроено приложение. В мастер-компом будет node1, вспомогательным - node2. В случае когда node1 будет не доступен, то автоматически должна выполнится маршрутизация на node2.

Уважаемые форумчане и огромные специалисты, прошу помощи в этом деле, т.к. не совсем понимаю откуда может взяться этот виртуальный ip=192.168.0.100. Все рекомендуют использовать corosync и Pacemaker, но как это сделать не понимаю

Дали виртуалку посмотреть как пример, но куда смотреть тоже не понятно. Помогите кто может и чем может..огромное всем спасибо

Начни с чтения про Heartbeat.

dhameoelin ★★★★★
()

ip = ресурс, поднимается на одной из нод кластера.

NiTr0 ★★★★★
()

Если приложение может работать на двух нодах сразу и не поломает общую базу, то для общего ip достаточно будет vrrp, без кластеров

Иначе придётся читать документацию к pacemaker

router ★★★★★
()

В кластере у тебя будет ресурс, в случае Pacemaker это, например, IPaddr2
Кластер будет назначать плавающий виртуальный адрес (который ты заранее выберешь и который ничем не отличается от физических адресов) на активную ноду, делает он это посредством iproute2, при переключении кластера он аналогично будет удалять этот плавающий адрес с интерфейса.

Можешь посмотреть для начала http://habrahabr.ru/post/107837/, хоть статья и старая, но хоть какое-то представление даёт

zolden ★★★★★
()

Heartbeat достаточно.

corosync и Pacemaker
Нужно как-то сделать виртуальный ip-адресс, например 192.168.0.100

для такой простой задачи эти монстры не нужны.

ссыль для общего развития - http://odba.ru/showthread.php?t=418

если для приложения нужно синхронизировать данные между нодами, то смотри еще drbd - это типа такого рейд1 тока по сети.

axelroot ★
()

corosync это транспортный уровень кластера, он отвечает за то, что все команды дойдут до всех узлов кластера для настройки нужно выставить правильный IP и запустить демона на всех узлах дальше он сам соберет узлы в кластер и назначит главного.

pacemaker это набор всяких скриптов и программ для управления кластером, для человека доступна команда crm, которая является интерактивной оболочкой, команда введенную в ней получат сразу все узлы кластера. На языке crm как правило представлены примеры конфигураций в интернете. Иногда еще в голом xml

Если кратко то pacemaker и corosync работают только в паре.

heartbeat это устаревшая программа, нет никакого смысла тебе сейчас забивать голову ей.

Читай гайд сдесь про то как повесить один IP на два узла http://linuxlasse.net/linux/howtos/Pacemaker_and_Corosync_HA_-_2_Node_setup

Yur4eg ★★
()

Всем огромное спасибо! Буду копаться следуя вашим рекомендациям.

userman
() автор топика

я использую связку keepalived + haproxy. тебе в принципе хватит keepalived.

вот небольшой конфиг keepalived

vrrp_instance service-main {
    interface eth0
    state BACKUP
    virtual_router_id 61
    priority 200
    notify /usr/local/bin/notify-main-service
    virtual_ipaddress {
        192.168.1.10/24 dev eth0
    }

    vrrp_unicast_bind 192.168.1.12

    vrrp_unicast_peer 192.168.1.13
    vrrp_unicast_peer 192.168.1.14
    vrrp_unicast_peer 192.168.1.15
    vrrp_unicast_peer 192.168.1.16
}
Nurmukh ★★★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.