High Availability2

Материал из ALT Linux Wiki
Перейти к: навигация, поиск

Для построения решений с High Availability (иначе — отказоустойчивых кластеров) в Сизифе в настоящее время все есть.

Немного истории. Система состоит из многих компонентов. И варианты их взаимодействия разнообразны. Раньше у нас использовался heartbeat+linux-ha-common+corosync1. Описание как оно все было построено High_Availability.

Программы развивались, heartbeat+linux-ha-common превратились в pacemaker+cluster-glue+resource-agents, corosync1 превратился в corosync2

Т.е. теперь мейнстрим это pacemaker+cluster-glue+resource-agents+corosync2

Детальное описание с картинками читать тут https://clusterlabs.org/pacemaker/doc/en-US/Pacemaker/2.0/html/Clusters_from_Scratch/index.html

Как заставить работать это в альте?

1. Ставим нужные пакеты:

# apt-get install corosync2 resource-agents crmsh

2. При настройке ssh-подключения для root по ключу (в отличие от инструкции по по вышеприведенной ссылке) нужно убрать комментарии в файле /etc/openssh/sshd_config для строк

Protocol 2
PermitRootLogin without-password
PubkeyAuthentication yes
AuthorizedKeysFile	/etc/openssh/authorized_keys/%u /etc/openssh/authorized_keys2/%u .ssh/authorized_keys .ssh/authorized_keys2
PasswordAuthentication yes

Последняя директива дает возможность обычным пользователям подключаться с паролем.

Кроме того, полезно добавить в /etc/openssh/sshd_config директиву

AllowGroups sshusers

создать группу sshusers (# groupadd sshusers) и добавить туда пользователей, которым разрешено подключаться по ssh (# gpasswd -a <username> sshusers).

Изменения настроек нужно выполнить на всех узлах кластера.

При создании ключей нужно изменить алгоритм шифрования в команде

# ssh-keygen -t dsa -f ~/.ssh/id_dsa -N ""

например так;

# ssh-keygen -t ecdsa -f ~/.ssh/id_ecdsa -N ""

и потом

# cp ~/.ssh/id_ecdsa.pub ~/.ssh/authorized_keys

("слабые" алгоритмы типа DSA и RSA не поддерживаются).

3. Если есть необходимость управлять дополнительными ресурсами, нужно доставить недостающий пакет resource-agents-*

resource-agents - Open Source HA Reusable Cluster Resource Scripts
resource-agents-CTDB - resource agent manages CTDB
resource-agents-WinPopup - Resource script for WinPopup
resource-agents-drbd - resource agent manage DRBD
resource-agents-fio - resource agent manages fio
resource-agents-iSCSI - resource agent manages iSCSI
resource-agents-libvirt - resource agent manages libvirtd
resource-agents-lvm - resource agent manage LVM
resource-agents-lxc - resource agent manages lxc
resource-agents-nfs - resource agent manage NFS
resource-agents-tomcat - resource agent manages Tomcat
resource-agents-xen - resource agent manage Xen Hypervisor

Нужные зависимости должны вытянуться автоматом.

4. Настраивать через crmsh по желанию. (см. документацию по crmsh)

Отзывы и баги приветствуются.