Я настраиваю два балансировщика нагрузки (lb01 и lb02) с keepalived для моих двух серверов mysql (db01 и db02) со стандартным портом 3306. Существует виртуальный IP-адрес (192.168.205.10) для доступа к нему также действует как аварийное переключение, но каким-то образом веб-сервер спереди не может получить доступ к этому серверу mysql с помощью vip. Вот мой конфиг:
Keepalived:
Только та часть mysql, которую я добавил сюда.
virtual_server 192.168.205.10 3306 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.205.4 3306 {
weight 10
TCP_CHECK {
connect_port 3306
connect_timeout 2
}
}
}
virtual_server 192.168.205.10 3306 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.205.6 3306 {
weight 10
TCP_CHECK {
connect_port 3306
connect_timeout 2
}
}
}
Я уже закомментировал часть "bind-address = 127.0.0.1" на обоих серверах my.cnf. Также удалите все проги брандмауэра с моего сервера ubuntu (ufw или iptables).
Любая помощь?
Спасибо.
Вы проверяли, не забыли ли вы удалить параметр mysql --skip-network из файла конфигурации?
Самый простой способ выяснить, является ли проблема сетью / брандмауэром, - это установить telnet-соединение на порт 3306 lb * mysql серверов с веб-сервера. Если вы можете пройти, это не проблема сети :)
Или используйте tcpdump -i ethX port 3306