Установка и настройка Pacemaker & Corosync в Debian Jessie

Aug 1, 2016 15:08 · 328 words · 2 minute read pacemaker corosync cluster

Ранее мы подробно рассматривали процесс установки и настройки Active/Passive Cluster, в примерах использовалась операционная система Debian Wheezy.

Для ОС Debian Jessie процесс практически идентичен, но существует несколько особенностей — давайте разберемся!

Самое важное — в основном репозитории Debian Jessie нет необходимых пакетов для настройки кластера, поэтому придется использовать jessie-backports.

Кроме того, pacemaker попытается установить пакет openhpid — с этим обязательно возникнут проблемы. Для корректной установки замаскируем openhpid командой:

systemctl mask openhpid.service

Теперь можем приступать к установке:

apt-get update && apt-get install -t jessie-backports pacemaker crmsh

Будут установлены pacemaker (1.1.14-2~bpo8+1) и все необходимые зависимости, включая corosync (2.3.5-3~bpo8+1) и fence-agents (4.0.22-2~bpo8+1). Текущие версии пакетов будут искать базовые настройки в /etc/sysconfig (по умолчанию используется в RedHat), однако в Debian эти настройки находятся в каталоге /etc/defaults. Для решения данной проблемы выполняем:

cd /etc; ln -nfs default sysconfig

Далее на обоих серверах кластера разрешаем автозапуск corosync — в конфигурационном файле /etc/default/corosync, добавляем:

...
START=yes

Процедура создания и копирования ключей corosync для такая же, как и в Debian Wheezy:

corosync-keygen
scp /etc/corosync/authkey root@db2:/etc/corosync/authkey

А вот конфигурационный файл /etc/corosync/corosync.conf был серьезно изменен, и теперь (в нашем случае) должен выглядеть так:

totem {
  version: 2
  token: 3000
  token_retransmits_before_loss_const: 10
  clear_node_high_bit: yes
  crypto_cipher: none
  crypto_hash: none
  rrp_mode: passive
  transport: udpu
 
  interface {
    ringnumber: 0
    bindnetaddr: 172.16.0.0
    mcastport: 5405
    ttl: 1
  }
  interface {
    ringnumber: 1
    bindnetaddr: 192.168.0.0
    mcastport: 5407
    ttl: 1
  }
}
 
service {
ver:       0
name:      pacemaker
}
 
logging {
  to_logfile: yes
  logfile: /var/log/corosync/corosync.log
  debug: off
  timestamp: on
  logger_subsys {
    subsys: QUORUM
    debug: off
  }
}
 
quorum {
  provider: corosync_votequorum
  two_node: 1
}
 
nodelist {
        node {
           ring0_addr: 172.16.0.1
           ring1_addr: 192.168.25.8
           name: db1
           nodeid: 1
        }
        node {
           ring0_addr: 172.16.0.2
           ring1_addr: 192.168.25.9
           name: db2
           nodeid: 2
        }
}

Запускаем corosync:

/etc/init.d/corosync start

и вводим базовые настройки кластера, состоящего из двух нод:

crm configure property stonith-enabled="false"
crm configure property symmetric-cluster="false"
crm configure rsc_defaults resource-stickiness="110"
crm configure rsc_defaults migration-threshold=3
crm configure property no-quorum-policy=ignore

Настройка ресурсов кластера в новой операционной системе осталась неизменной, поэтому можем воспользоваться этим примером.

tweet Share