Назад | Перейти на главную страницу

Нужна помощь в настройке кардиостимулятора

Я пытаюсь настроить двухузловой кластер openais / pacemaker, и найти информацию / учебные пособия очень сложно.

Моя цель - установить 2 сервера MySQL в сценарии репликации главный-подчиненный, где я могу читать с обоих серверов, но писать только на «главный» сервер.

Таким образом, у меня есть репликация и ручное переключение работает, меняя местами вторичные IP-адреса и перенастраивая новое ведомое устройство с опцией «только для чтения» в my.cnf. Теперь я хотел бы автоматизировать это с помощью кардиостимулятора. В основном я хочу главный IP-адрес всегда должен быть на сервере, на который я могу писать, а подчиненный IP, чтобы всегда быть на другом. Я бы хотел, чтобы переключение произошло, когда mysql на главном сервере не отвечает.

Вот конфигурация, которая у меня есть. Есть ли кто-нибудь, кто мог бы проверить мою работу (я уверен, что она неполная), и подскажи, что я делаю не так? (примечание: сценарий mysql-master - это настраиваемый сценарий в /etc/init.d, который устанавливает / очищает параметр только для чтения и перезапускает mysql)

primitive virtual_master_ip ocf:heartbeat:IPaddr2 \
    params ip=192.168.250.xxx.xxx \
    op monitor interval=10s
primitive virtual_slave_ip ocf:heartbeat:IPaddr2 \
    params ip=192.168.xxx.yyy
primitive mysql_service ocf:heartbeat:mysql
    params binary="/usr/bin/mysqld_safe" config="/etc/mysql/my.cnf" \
    op minitor interval="60s" timeout="30s" \
    meta target-role="Started"
primitive mysql_master_role lsb:mysql-master

group mysql virtual_master_ip mysql_master virtual_slave_ip
colocation ms_ip inf: virtual_master_ip virtual_slave_ip score="-INFINITY"

Зная, в чем проблема на самом деле является как говорит Камил, была бы ужасно полезной информацией. Однако у меня сразу возникло несколько проблем:

  • Ваш IP-адрес состоит из пяти октетов: 192.168.250.xxx.xxx
  • Мне неизвестна операция под названием minitor: op minitor interval="60s" timeout="30s"
  • Я использую lsb:mysql класс, а не ocf:heartbeat:mysql; если у вас проблемы с этой частью, возможно, стоит попробовать.
  • Ты наверное не хочешь virtual_master_ip и virtual_slave_ip в той же группе, если у вас есть -INF ограничение размещения. Это вызовет аритмию у кардиостимулятора.

Я даже не уверен, что вы хотите делать то, что думаете. Я был бы более склонен установить два ресурса, mysql_as_master и mysql_as_slave, который гарантирует, что MySQL работает в соответствующем режиме на компьютере (я бы запустил MySQL с параметром только для чтения, установленным в командной строке, а не возился с файлом конфигурации и использовал клиент mysql для запроса запущенного сервера, чтобы убедиться, что он работает только для чтения или чтения-записи, в зависимости от необходимости), а затем сгруппируйте их по соответствующему IP-адресу.