У меня сейчас 3 сервера ubuntu, подключенных к Tinc VPN. 2 сервера работают под управлением mysql 5.6 db, а 3-й используется только как монитор. Мы используем mmm для мониторинга и назначения плавающего IP-адреса роли писателя. (Прежде чем кто-то скажет мне, что мне не следует использовать ммм, я знаю, что есть другие решения для репликации базы данных высокой доступности, однако для наших целей асинхронное решение на самом деле лучше, чем новые синхронные параметры, и у нас есть ммм, работающий на другое приложение, поэтому я уже немного знаком с ним, поэтому мы выбрали его для этого, и даже с его недостатками это лучше, чем ничего не иметь).
Проблема, с которой я столкнулся, заключается в том, что плавающий IP-адрес записи никогда не маршрутизируется должным образом. Вот результат работы mmm_control show:
server4(192.168.2.4) master/ONLINE. Roles: writer(192.168.2.201)
server5(192.168.2.5) master/ONLINE. Roles:
Итак, ммм думает, что у него есть IP-адрес .201, назначенный для прямого доступа к серверу .4, но когда я пингую .201, я получаю следующее:
From 192.168.2.201 icmp_seq=1 Destination Net Unknown
Базовая настройка tinc работает - я могу пинговать / ssh / etc между 3 серверами:
64 bytes from 192.168.2.4: icmp_seq=1 ttl=64 time=0.740 ms
Базовая настройка mmm работает - если я перемещаю роль писателя на server5, она тоже работает (server4 становится доступным только для чтения, server5 теперь доступен для записи, а вывод mmm_control показывает, что роль записи .201 теперь находится на server5).
Я не знаю, есть ли какая-то простая конфигурация, которую я пропустил (мой опыт работы как программист, я изучаю работу с сетями / системным администратором по мере необходимости). Или, возможно, способ, которым mmm назначает плавающий ip, несовместим с тем, как работает tinc vpn? (Наша другая система, использующая mmm, не использует tinc vpn, поэтому я не могу сравнивать ее напрямую).