一、双主一个vip
Mysql配置:
My.cnf
[mysqld]
log-bin=master2
server-id=2
master-host=192.168.1.243
master-user=slave2
master-password=123
auto-increment-increment=2
auto-increment-offset=1
[mysqld]
log-bin=master1
server-id=1
master-host=192.168.1.244
master-user=slave1
master-password=123
auto-increment-increment=2
auto-increment-offset=1
grant replication slave on ccut.* to slave2@192.168.1.244 identified by '123';
change master to master_host='192.168.1.244',master_user='slave1',master_password='123',master_log_file='master2.0000011',master_log_pos=98;
Keepalived 配置:不抢占,避免来回切换
机器192.168.1.10
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKEUP
interface eth0
track_interface {
eth0
}
virtual_router_id 56
priority 150
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.245/24 dev eth0 scope global
}
}
virtual_server 192.168.1.245 3306 {
delay_loop 6
lb_algo rr
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 192.168.1.244 3306 {
weight 100
notify_down /tmp/mysql.sh
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
cat /tmp/mysql.sh
pkill -9 keepalived
ip addr del 192.168.1.245/24 dev eth0
启动keepalived/etc/init.d/keepalivedstart
查看vip :ip addr show dev eth0
二、双主部署2个vip:(两者互为主备)
global_defs {
notification_email {
sysadmin@firewall.loc
}
notification_email_from sysadmin@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id MySQL
}
vrrp_instance mysql1 {
state MASTER
#state BACKUP
dont_track_primary
interface eth0
track_interface {
eth0
}
virtual_router_id 51
priority 200
advert_int 5
#nopreempt
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
10.1.0.200/24 dev eth0 scope global
}
}
vrrp_instance mysql2 {
#state MASTER
state BACKUP
dont_track_primary
interface eth0
track_interface {
eth0
}
virtual_router_id 56
priority 100
advert_int 5
#nopreempt
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
10.1.0.210/24 dev eth0 scope global
}
}