Я пытаюсь настроить кластер кардиостимулятора с двумя хостами, я использую две виртуальные машины centos 7 (CentOS Linux, выпуск 7.2.1511 (Core)).
Что я сделал до сих пор: установил пакеты:
yum install pacemaker corosync haproxy pcs fence-agents-all
Установите пароль для пользователя hacluster на обоих серверах. Отредактируйте / etc / hosts на обеих машинах
10.0.0.14 vm_haproxy1 10.0.0.15 vm_haproxy2
После этого включены службы на обоих серверах
systemctl enable pcsd.service pacemaker.service corosync.service haproxy.service
И запустил pcsd (на обоих серверах)
systemctl start pcsd.service
Служба работает на обоих, я могу telnet от одного к другому через порт 2224
telnet vm_haproxy1 2224 Trying 10.0.0.14... Connected to vm_haproxy1. Escape character is '^]'.
Вывод netstat:
[root@vm_haproxy2 ~]# netstat -tulpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 849/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 946/master tcp6 0 0 :::2224 :::* LISTEN 1949/ruby tcp6 0 0 :::22 :::* LISTEN 849/sshd tcp6 0 0 ::1:25 :::* LISTEN 946/master udp 0 0 127.0.0.1:323 0.0.0.0:* 619/chronyd udp6 0 0 ::1:323 :::* 619/chronyd
Pcsd привязан к ipv6, но, как я уже сказал, telnet работает, Selinux и firewalld отключены.
Затем я попытался авторизовать хосты с помощью
pcs cluster auth vm_haproxy1 vm_haproxy2
но я получил ошибку:
pcs cluster auth vm_haproxy1 vm_haproxy2 Username: hacluster Password: Error: Unable to communicate with vm_haproxy1 Error: Unable to communicate with vm_haproxy2
Я не нашел помощи в Google. Может есть кто-то уже решил ту проблему с авторизацией ПК.
Обычно я не использую pcd в своих кластерах, но в тех случаях, когда у меня есть, я помню, как настраивал аутентификацию после того, как у меня был рабочий кластер; функция сначала, оборка позже.
Я бы попытался использовать следующие команды от обоих узлов для создания конфигурации corosync и запуска кластера перед настройкой вашей аутентификации:
# pcs cluster setup --local --name haproxy-cluster0 vm_haproxy1 vm_haproxy2
# systemctl start corosync
# systemctl start pacemaker
Как только вы увидите свои узлы в сети в выводе crm_mon
, попробуйте свои действия по настройке аутентификации узла.
Если не ответили, я сталкиваюсь с аналогичными проблемами, я пропустил настройку включения брандмауэра, после выполнения приведенных ниже команд проблема была решена для меня
firewall-cmd --permanent --add-service = высокая доступность
firewall-cmd --add-service = высокая доступность
firewall-cmd –reload
Если вы используете CentOS 7, проверьте:
systemctl start pcsd.service
systemctl enable pcsd.service
В start
буду запускать это сейчас. Если это приводит к появлению сообщений об ошибках, их следует устранить. В enable
вызвать его автоматический запуск при следующей загрузке.
У меня была эта проблема. В моем случае я отследил это до переменных среды для устанавливаемых прокси.
Чтобы проверить это: сначала запустите команду с --debug
включен:
pcs --debug cluster auth clua club cluc
В выводе отладки я мог видеть:
Sending HTTP Request to: https://club:2224/remote/check_auth
Data: None
Response Reason: Tunnel connection failed: 404 Not Found
...
"I, [2017-04-05T10:54:21.333320 #6755] INFO -- : No response from: cluc request: /auth, exception: 404 \"Not Found\"\n",
"I, [2017-04-05T10:54:21.334344 #6755] INFO -- : No response from: club request: /auth, exception: 404 \"Not Found\"\n",
"I, [2017-04-05T10:54:21.334852 #6755] INFO -- : No response from: clua request: /auth, exception: 404 \"Not Found\"\n"
Запуск curl к URL-адресу, который он пытался использовать, дал более явную информацию:
# curl https://club:2224/remote/check_auth
curl: (56) Received HTTP code 404 from proxy after CONNECT
Тревожный http_proxy
и https_proxy
позволил ему работать.
Если у вас не слишком много узлов, вы можете перечислить их в no_proxy
переменная окружения. В противном случае это немного болезненно - вам нужно убедиться, что вы всегда запускаете команды ПК без установленных переменных среды прокси. Я до сих пор не нашел способа, чтобы сконфигурированные компьютеры не использовали эти переменные.
Вы можете написать небольшую оболочку, которая сбрасывает переменные, а затем вызывает ПК.
Я получил это раньше:
[root@vm01 .ssh]# pcs cluster auth vm01 vm02 -u hacluster -p redhat
Error: Unable to communicate with vm02
vm01: Authorized
После очистки iptables на обоих узлах все заработало.
[root@vm01 .ssh]# pcs cluster auth vm01 vm02 -u hacluster -p redhat
vm02: Authorized
vm01: Authorized
Я столкнулся с той же проблемой, и когда я пытался создать кластер локально, чтобы создать файл cluster.conf, но он, похоже, не работает.
yum install кардиостимулятор corosync haproxy pc забор-агенты-все
systemctl отключить firewalld; systemctl stop firewalld systemctl enable pcd.service pacemaker.service corosync.service haproxy.service
настройка кластера ПК --local --name resource Openstackvm2.server.com OpenstackVm3.server.com --force
Завершение работы служб кардиостимулятора / corosync ...
Перенаправление в / bin / systemctl stop pacemaker.service Перенаправление в / bin / systemctl stop corosync.service Удаление всех оставшихся служб ... Удаление всех файлов конфигурации кластера.
Имя пользователя: hacluster
Пароль:
Ошибка: невозможно связаться с Openstackvm2.server.com
Ошибка: невозможно связаться с OpenstackVm3.server.com
Похоже, на сайте Redhat есть сообщение об ошибке, но у меня нет прав на просмотр всей темы.
Проверьте записи файла / etc / hosts.
кошка / etc / hosts
IP-адрес host1 Hostname1 IP-адрес host2 Hostname2
Это должно происходить указанным выше способом. Очистите таблицы IP-адресов на обоих узлах, используя узлы:
iptable -F