High Availability2: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
 
(не показано 6 промежуточных версий 3 участников)
Строка 1: Строка 1:
Для построения решений с High Availability (иначе — отказоустойчивых кластеров) в Сизифе в настоящее время все есть.
Для построения решений с High Availability (иначе — отказоустойчивых кластеров) <s>в Сизифе в настоящее время все есть.</s>


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


Программы развивались, heartbeat+linux-ha-common превратились в pacemaker+cluster-glue+resource-agents, corosync1 превратился в corosync2
Программы развивались, heartbeat+linux-ha-common превратились в pacemaker+cluster-glue+resource-agents, corosync1 превратился в corosync2
Строка 8: Строка 8:
Т.е. теперь мейнстрим это pacemaker+cluster-glue+resource-agents+corosync2
Т.е. теперь мейнстрим это pacemaker+cluster-glue+resource-agents+corosync2


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


Как заставить работать это в альте?
Как заставить работать это в альте?
Строка 15: Строка 15:
<pre># apt-get install corosync2 resource-agents crmsh</pre>
<pre># apt-get install corosync2 resource-agents crmsh</pre>


2. Если есть необходимость управлять дополнительными ресурсами, нужно доставить недостающий пакет resource-agents-*
2. При настройке ssh-подключения для root по ключу (в отличие от инструкции по по вышеприведенной ссылке) нужно убрать комментарии в файле /etc/openssh/sshd_config для строк
<pre>
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
</pre>
Последняя директива дает возможность обычным пользователям подключаться с паролем.
 
Кроме того, полезно добавить в /etc/openssh/sshd_config директиву
<pre>
AllowGroups sshusers
</pre>
создать группу sshusers ('''# groupadd sshusers''') и добавить туда пользователей, которым разрешено подключаться по ssh ('''# gpasswd -a <username> sshusers''').
 
Изменения настроек нужно выполнить на всех узлах кластера.
 
При создании ключей нужно изменить алгоритм шифрования в команде
<pre>
# ssh-keygen -t dsa -f ~/.ssh/id_dsa -N ""
</pre>
 
например так;
<pre>
# ssh-keygen -t ecdsa -f ~/.ssh/id_ecdsa -N ""
</pre>
и потом
<pre>
# cp ~/.ssh/id_ecdsa.pub ~/.ssh/authorized_keys
</pre>
("слабые" алгоритмы типа DSA и RSA не поддерживаются).
 
3. Если есть необходимость управлять дополнительными ресурсами, нужно доставить недостающий пакет resource-agents-*
<pre>
<pre>
resource-agents - Open Source HA Reusable Cluster Resource Scripts
resource-agents - Open Source HA Reusable Cluster Resource Scripts
Строка 33: Строка 66:
Нужные зависимости должны вытянуться автоматом.
Нужные зависимости должны вытянуться автоматом.


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


Отзывы и баги приветствуются.
Отзывы и баги приветствуются.
[[Категория:High Availability]]
[[Категория:High Availability]]
{{Category navigation|title=High Availability|category=High Availability|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=High Availability|category=High Availability|sortkey={{SUBPAGENAME}}}}

Текущая версия от 12:32, 4 апреля 2019

Для построения решений с 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)

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