Установка и настройка Pacemaker & Corosync в Debian Jessie
Aug 1, 2016 15:08 · 328 words · 2 minute read
Ранее мы подробно рассматривали процесс установки и настройки 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
Настройка ресурсов кластера в новой операционной системе осталась неизменной, поэтому можем воспользоваться этим примером.