местоположение A: два прокси MySQL HA (serv1 ip 192.168.0.1, serv2 ip 192.168.0.2)
местоположение B: два основных ведущих устройства MySQL Data (serv1 ip 192.168.0.3, serv2 ip 192.168.0.4)
serv1
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 200M
binlog_ignore_db = test
binlog_ignore_db = mysql
master-host = 192.168.0.4
master-user = replication
master-password = you_pass
master-port = 3306
mysql -u root -p
Enter password:
>grant replication slave on *.* to 'replication'@'192.168.0.4' identified by 'you_pass';
>flush privileges;
>quit;
/etc/init.d/mysql restart
serv2
server-id = 2
log_bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 200M
binlog_ignore_db = test
binlog_ignore_db = mysql
master-host = 192.168.0.3
master-user = replication
master-password = you_pass
master-port = 3306
mysql -u root -p
Enter password:
>grant replication slave on *.* to 'replication'@'192.168.0.3' identified by 'you_pass';
>flush privileges;
>quit;
/etc/init.d/mysql restart
mysql —u root —p
Enter password:
>show slave status \G
местоположение serv1 и serv2 устанавливает mysql-прокси и heartbeat
mysql-proxy --proxy-backend-addresses=192.168.0.3 \
--proxy-backend-addresses=192.168.0.4 \
--proxy-address=:3306
—daemon
authkey
auth 2
2 sha1 your-strong-password
ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 10
initdead 120
bcast eth0
udpport 694
auto_failback on
node mysql-proxy1
node mysql-proxy2
mysql-proxy1 и mysql-proxy1 являются uname-n на этом хосте
haresources
mysql-proxy1 192.168.0.5
192.168.0.5 виртуальных адреса mysql
Я никогда не слышал о runit , но я большой пользователь Monit ...
Глядя на runit
, вижу, что это замена init. Я бы сказал, что большинство корпоративных систем придерживаются своих значений по умолчанию Sys V init или Upstart . Я не думаю, что это обычная практика.
Однако связь здесь может заключаться в том, что runit предоставляет удобный способ создания Monit и обеспечения его работы. Возможно, это похоже на запуск Monit из inittab. По сути, это «наблюдение за наблюдателем» или мониторинг вашей системы мониторинга.
На практике я использую Monit как демон, и у меня не было никаких проблем с его падением или отключением. Возможно, привлекательность runit
заключается в том, что он предлагает дополнительную защиту.
runit хорошо подходит для управления службами и ведения журналов, а также хорошо придерживается unix-way: легко комбинируйте простые части по своему усмотрению. Он может выполнять некоторые проверки и обработку событий запуска / остановки службы, но вам придется написать все это самостоятельно. Примечание: runit не работает, если ваша служба не может работать на переднем плане.
monit подходит для управления службами (но не так хорош, как runit, потому что вам придется обрабатывать демонизацию и регистрацию себя), а также хорошо работает с самодемонизирующимися процессами, если они предоставляют правильный pidfile. С другой стороны, это действительно здорово для наблюдения за сервисами: обработка событий, проверка на утечки памяти и тому подобное. Также у него есть хорошая панель для просмотра состояний служб (как на основе командной строки, так и на основе Интернета) и коммерческая панель m / monit для получения данных с нескольких серверов.
Таким образом, использование runit + monit становится следующим: