一、双主一个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:(两者互为主备)

Keepalived 实现MySQL双主HA_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

 

    }

}