Как настроить кластер кардиостимуляторов для сценария «активный/активный» и как это работает?

Как настроить кластер кардиостимуляторов для сценария «активный/активный» и как это работает?

Я пытаюсь настроить свой первый кластер pacemaker как FTP-сервер. Есть два сервера, установленных с новым centos 6.5 и proftpd

введите описание изображения здесь

Первым шагом была установка кардиостимулятора и некоторых инструментов конфигурации:

yum install pacemaker cman pcs ccs resource-agents

После запуска этой команды на каждом сервере я начинаю настраивать свой первый кластер Pacemaker с помощью следующих команд:

# ccs -f /etc/cluster/cluster.conf --createcluster ftpcluster 
# ccs -f /etc/cluster/cluster.conf --addnode ftp01 
# ccs -f /etc/cluster/cluster.conf --addnode ftp02
# ccs -f /etc/cluster/cluster.conf --addfencedev pcmk agent=fence_pcmk  
# ccs -f /etc/cluster/cluster.conf --addmethod pcmk-redirect ftp01 
# ccs -f /etc/cluster/cluster.conf --addmethod pcmk-redirect ftp02  
# ccs -f /etc/cluster/cluster.conf --addfenceinst pcmk node1 pcmk-redirect port=ftp01 
# ccs -f /etc/cluster/cluster.conf --addfenceinst pcmk node2 pcmk-redirect port=ftp02

Теперь я запускаю кластер на обоих узлах:

# service cman start 
# service pacemaker start

Следующий шаг — установить ClusterIP и FTPService Ressource следующим образом:

# pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=10.2.1.50 cidr_netmask=32 op monitor interval=30s
# pcs resource create FTPService lsb:proftpd op monitor interval=30s

Если я запрошу статус, то получу следующий результат:

# pcs status
Cluster name: ftpcluster
Last updated: Thu Jul 25 01:04:48 2013
Last change: Thu Dec  5 08:56:39 2013 via crmd on ftp01
Stack: cman
Current DC: ftp02 - partition with quorum
Version: 1.1.10-14.el6-368c726
2 Nodes configured
2 Resources configured


Online: [ ftp01 ftp02 ]

Full list of resources:

 ClusterIP  (ocf::heartbeat:IPaddr2):   Started ftp01 
 FTPService (lsb:proftpd):  Started ftp02 

Мой вопрос касается доступа к FTP Service. IP кластера работает на ftp01, но FTPService на ftp02, если я пытаюсь получить доступ к "ftp 10.2.1.50", я получаю ответ от ftp01.

Вопрос 1:В чем разница между ClusterIP и FTPService, почему мне следует использовать FTP-сервис, если ClusterIP делает то же самое?

Вопрос 2:Что мне делать с этого момента, чтобы построить сценарий activ/active и как он работает? Это балансировка нагрузки или простой циклический перебор?

решение1

Ситуация у вас не такая простая, как можно подумать. Я работаю над такими решениями уже пару месяцев. Я также пробовал кластер Linux. Вот что я знаю:

Сначала вам нужно понять, что ваши два приложения в текущей конфигурации не могут быть активными/активными. Когда вы начнете думать об этом, вы заметите, что то, чего вы достигли прямо сейчас, — это приложение, которое не перестанет работать, когда один из узлов выйдет из строя. Но все данные на вышедшем из строя узле (если это активный узел, который выходит из строя) не будут волшебным образом перенесены на второй узел. Например, пользовательские папки не будут находиться на втором узле (дело в том, что отказоустойчивый кластер не предоставляет хранилище).

Итак, прежде всего вам нужно хранилище, доступное с обоих узлов (третий сервер хранения) и файловая система, которая будет знать о кластере. Затем вы можете начать думать о решении ative/active. Но это снова имеет еще одно ограничение — когда сервер хранения выходит из строя, весь ваш кластер мертв как мертв.

Вы также можете сделать что-то вроде этого. Запустите glusterfs (или любую другую файловую систему, поддерживающую кластеры) на обоих узлах кластера, и тогда у вас будет реплицированная файловая система (оба узла все время имеют одни и те же данные), но по моему опыту glusterfs очень медлителен с маленькими файлами.

решение2

Прежде всего, виртуальный ip используется для доступа к кластерному сервису. Вам нужно привязать ftp-сервер к vip (кластерный ip). Я увидел из вашей конфигурации, что вы упускаете некоторые фундаментальные детали pacemaker.

Если вы привязываете FTP-сервер к IP-адресу кластера, вам необходимо использовать ограничение или группу совместного размещения.

Более подробную информацию о кластере кардиостимуляторов можно найти в документации на сайте Clusterlabs.

решение3

У вас есть ресурс кластера, IP-адрес, но IP-адрес может быть только на одном узле одновременно. Вы можете запустить FTP на обоих серверах, но все равно сможете получить доступ только к одному из них одновременно с этим IP-адресом. Вероятно, вам нужен балансировщик нагрузки спереди, который будет обрабатывать соединения с серверами FTP на заднем конце, что является другой проблемой. Или вы можете иметь разные IP-адреса на обоих (что у вас обычно есть) и использовать циклический DNS, чтобы иметь возможность добраться до одного или другого с тем же именем хоста. Но на самом деле вы не будете использовать pacemaker ни для одного из них.

В общем, я не думаю, что кардиостимулятор является решением проблемы.

Обычные активные/активные ресурсы кластера (например, веб-серверы) будут реализованы с помощью клонированных ресурсов:http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/_reconfigure_pacemaker_for_active_active.html

Связанный контент