阿亮 2019-11-01
两台服务器,MySQL互为主从
MASTER 的 IP:10.0.0.11
BACKUP 的 IP:10.0.0.12
yum -y install keepalived cd /etc/keepalivedcp keepalived.conf keepalived.conf.bakvim keepalived.conf
vrrp_instance VI_1 {    state MASTER            # 主机的初始身份:MASTER/BACKUP    interface eth0          # VIP绑定网卡设备    virtual_router_id 51    # 路由广播ID,同步ID可以接受广播    priority 100            # 优先级,越大优先级越高,主的初始优先级必须要大于备份的主机    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        10.0.0.90      # VIP地址    }}virtual_server 10.0.0.90 3306 {      # 虚拟服务器,IP地址是VIP,端口是对应服务的端口    delay_loop 6    nat_mask 255.255.255.0    protocol TCP?    real_server 10.0.0.11 3306 {      # 真实服务器的ip和端口        weight 1        notify_down  /tmp/kill.sh           # 检测到down状态时要执行的脚本,内容为停止keepalived        TCP_CHECK {                             # 健康检查模块,通过TCP检查            connect_port 3306                   # TCP要检查的端口            connect_timeout 3                   # 超时时间            nb_get_retry 3                      # 重试次数            delay_before_retry 3               # 检查轮询周期时间        }    }}配置文件结束,保存退出
创建脚本
vim /tmp/kill.sh
#!/bin/bashservice keepalived stop
重启 keepalived 服务
service keepalived restart
查看 VIP 是否生成
ip a

yum -y install keepalived cd /etc/keepalivedcp keepalived.conf keepalived.conf.bakvim keepalived.conf
vrrp_instance VI_1 {    state BACKIP            # 主机的初始身份:MASTER/BACKUP    interface eth0          # VIP绑定网卡设备    virtual_router_id 51    # 路由广播ID,同步ID可以接受广播    priority 90            # 优先级,越大优先级越高,主的初始优先级必须要大于备份的主机    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        10.0.0.90      # VIP地址    }}virtual_server 10.0.0.90 3306 {      # 虚拟服务器,IP地址是VIP,端口是对应服务的端口    delay_loop 6    nat_mask 255.255.255.0    protocol TCP?    real_server 10.0.0.12 3306 {      # 真实服务器的ip和端口        weight 1        notify_down  /tmp/kill.sh           # 检测到down状态时要执行的脚本,内容为停止keepalived        TCP_CHECK {                             # 健康检查模块,通过TCP检查            connect_port 3306                   # TCP要检查的端口            connect_timeout 3                   # 超时时间            nb_get_retry 3                      # 重试次数            delay_before_retry 3               # 检查轮询周期时间        }    }}配置文件结束,保存退出
创建脚本
vim /tmp/kill.sh
#!/bin/bash service keepalived stop
重启 keepalived 服务
service keepalived restart
查看 VIP 是否生成
ip a

master 服务器上启动 MySQL keepalived
service mysql restart service keepalived restart

此时表示 master 服务器正在正常使用
service mysql stop
MySQL 停止,代表服务器宕机,此时去查看 Backup 的 IP

master 的 IP,已经漂浮到了 Backup 上,此时,Backup 是主