玩龙天子 发表于 2018-12-30 09:06:47

Keepalived 实现MySQL双主HA

一、双主一个vip
  Mysql配置:
  My.cnf
  
  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
  
  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:(两者互为主备)
http://blog.运维网.com/attachment/201305/170551249.jpg
  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
      }
}



页: [1]
查看完整版本: Keepalived 实现MySQL双主HA