Mysql+keepalive高可用自動切換


Keepalive

Keepalived是HA cluster的一種實現方案,其以vrrp協議(Virtual Router Redundancy Protocol,即虛擬路由冗余協議)為實現基礎,在N台具有相同功能的路由器或服務器中選出一個master或多個backup,這些路由器或服務器會共用一個對外提供服務的VIP。在此HA cluster集群中,master主機會發送組播來跟backup主機進行通信確認雙方是否存活。當backup主機在指定的時間內沒有收到vrrp組播報文則認為master主機宕機了,此時就會在所有的backup主機中根據vrrp協議來選舉出新的master主機來保證服務的高可用性。

1、域名指向,域名只能指向一個固定IP,如果該IP綁定的機器宕機了,那么這個域名便無法訪問了;
2、數據庫服務指向,應用是通過一個固定的IP連接到數據庫,如果該IP宕機,也無法提供服務;

一般主要解決以上兩個問題,即keepalived+lvs+nginx和keepalive+mysql等等


keepalived主要有三個模塊,分別是ipvs wrapper、checkers和vrrp stack。

  • ipvs wrapper模塊為keepalived的核心,負責主進程的啟動、維護以及全局配置文件的加載和解析。
  • checkers負責健康檢查,包括常見的各種檢查方式。
  • vrrp stack模塊是來實現VRRP協議的。
  • IPVS wrapper 用來發送設定的規則到內核IPVS代碼。
  • Netlink Reflector 用來設定 vrrp 的vip地址等。

 


1、安裝

keepalived源碼包下載地址:http://www.keepalived.org/download.html

說明文檔:https://www.keepalived.org/LVS-NAT-Keepalived-HOWTO.html

安裝環境

# yum install -y openssl-devel popt-devel  curl gcc  libnl3-devel net-snmp-devel  libnfnetlink-devel

下載安裝包,主機備機都要安裝

wget https://www.keepalived.org/software/keepalived-2.0.0.tar.gz 

解壓縮、編譯、安裝,過程中提示缺什么庫就安裝什么庫,然后再重新編譯安裝。

# tar -zxf keepalived-2.0.0.tar.gz 
# cd keepalived-2.0.0
#  ./configure --prefix=/usr/local/keepalived
# make && make install
# echo $?
0
#
# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
# cp ./keepalived/etc/init.d/keepalived /etc/init.d/
# mkdir /etc/keepalived
# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

2、配置

keepalived 只有一個配置文件 keepalived.conf,其中包含了三類配置區域。

  • 全局配置 Global Configuration,包含了 global_defs(全局配置標識)、static_ipaddress(靜態地址)、static_routes(靜態路由) 區域配置項。
  • VRRP 配置,包含了 vrrp_instance(VRRP 實例)、vrrp_sync_group(VRRP 同步組)、vrrp_script(VRRP 腳本) 、virtual_server 區域配置項。

    • vrrp_instance 用來定義對外提供服務的 VIP 區域及其相關屬性。
    • vrrp_rsync_group 用來定義 vrrp_intance 組,使得這個組內成員動作一致。例如兩個 vrrp_instance 同屬於一個 vrrp_rsync_group,那么其中一個vrrp_instance 發生故障切換時,另一個 vrrp_instance 也會跟着切換(即使這個 instance 沒有發生故障)
  • vrrp_script 區域

    • 用來做健康檢查,當時檢查失敗時會將 vrrp_instance 的 priority 減少相應的值。
    • 首先在 vrrp_script 區域定義腳本名字和腳本執行的間隔和腳本執行的優先級變更。然后在實例 vrrp_instance 里面引用,有點類似腳本里面的函數引用一樣:先定義,后引用函數名。

 master

[root@nginx ~]# cat /etc/keepalived/keepalived.conf
global_defs {
    notification_email {                  #故障發生時給誰發郵件通知。
        root@localhost
        root@192.168.10.18
    }
    notification_email_from keepalived@localhost      #通知郵件的發出地址。
    smtp_server 127.0.0.1         #發現Email的smtp地址
    smtp_connect_timeout 30       #超時時間
    router_id node1               #運行keepalived的機器標識號,主從機必須不同
}

vrrp_instance VI_1 {
    state MASTER               #可以是 MASTER 或 BACKUP,不過當其他節點 keepalived 啟動時
#會將 Priority(優先級)比較大的節點選舉為 MASTER,因此該項其實沒有實質用途。
interface eth1 #本機物理網卡,節點固有 IP(非 VIP)的網卡,用來發 VRRP 包。 lvs_sync_daemon_inteface eth1 #綁定 lvs syncd 的網卡。 virtual_router_id 151 #虛擬路由,主從機必需一致。設置 VRID,取值在 0-255 之間,用來區分多個 instance 的 VRRP 組播
#(同一網段中 virtual_router_id 的值不能重復,否則會出錯)。
#將決定多播的 MAC 地址
priority 100 #用來選舉 master,要成為 master,這個選項的值最好高於其他機器 50 個點,
#該項取值范圍是 1-255(在此范圍之外會被識別成默認值 100)。
advert_int 5 #發 VRRP 包的時間間隔,即多久進行一次 master 選舉(可以認為是健康查檢時間間隔,默認為 1 秒)。 authentication { #認證區域,保持master和backup一致 auth_type PASS auth_pass 123456 } virtual_ipaddress { #VIP(虛擬 IP 地址),隨着 state 的變化而增加刪除,
#當 state 為 master 的時候就添加,當 state 為 backup 的時候刪除,
#主要由優先級來決定的,和 state 設置的值沒有多大關系,可以設置多個 IP 地址。
192.168.100.100 dev eth1 } } virtual_server 192.168.100.100 3306 { #LVS配置,VIP delay_loop 6 #服務輪詢的時間間隔 lb_algo wrr #LVS 調度算法 lb_kind DR                     #LVS 集群算法 persistence_timeout 60 #同一IP的鏈接50秒內被分配到同一台realserver protocol TCP #用TCP協議檢查realserver狀態 real_server 192.168.10.18 3306 { #實際服務器的IP和端口 weight 100 notify_down /data/sh/mysql.sh TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 3306 } } } [root@nginx ~]#

backup

[root@mysql ~]# 
[root@mysql ~]# cat /etc/keepalived/keepalived.conf
global_defs {
    notification_email {
        root@localhost
        root@192.168.10.18
    }
    notification_email_from keepalived@localhost
    smtp_server 127.0.0.1
    smtp_connect_timeout 30
    router_id node2
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth1
    lvs_sync_daemon_inteface eth1
    virtual_router_id 151
    priority 90
    advert_int 5
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.100.100 dev eth1
    }
}

virtual_server 192.168.100.100 3306 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    persistence_timeout 60
    protocol TCP
    real_server 192.168.10.23 3306 {
        weight 100
        notify_down /data/sh/mysql.sh
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 3306
        }
    }

}
[root@mysql ~]# 

在兩端/data/sh/mysql.sh建立關閉keepalived的腳本

[root@mysql ~]# cat /data/sh/mysql.sh 
pkill keepalived
[root@mysql ~]# 

3、啟動

master和backup都啟動keepalived服務

[root@nginx ~]# service keepalived start
Starting keepalived:                                       [  OK  ]
[root@nginx ~]# 
[root@nginx ~]# ps -ef | grep keep 
root     127942      1  0 12:27 ?        00:00:00 keepalived -D
root     127944 127942  0 12:27 ?        00:00:00 keepalived -D
root     127945 127942  0 12:27 ?        00:00:00 keepalived -D
root     130062 130014  0 14:27 pts/0    00:00:00 grep keep
[root@nginx ~]# 
[root@nginx ~]# 
[root@nginx ~]# netstat -lantup | grep keep
[root@nginx ~]# 
[root@mysql ~]# /etc/init.d/keepalived restart
Stopping keepalived:                                       [  OK  ]
Starting keepalived:                                       [  OK  ]
[root@mysql ~]# ps -ef | grep keep
root      49218      1  0 12:01 ?        00:00:00 keepalived -D
root      49220  49218  0 12:01 ?        00:00:00 keepalived -D
root      49221  49218  0 12:01 ?        00:00:00 keepalived -D
root      49223  48581  0 12:01 pts/3    00:00:00 grep keep
[root@mysql ~]# 
[root@mysql ~]# netstat -lantup | grep keep
tcp        0      1 192.168.10.23:58138         192.168.33.23:3306          SYN_SENT    49220/keepalived    
[root@mysql ~]# 

查看兩端的虛擬IP啟動情況,系統日志

Master端

[root@nginx ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:69:6e:c1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.18/24 brd 192.168.10.255 scope global eth1
   inet 192.168.100.100/32 scope global eth1
    inet6 fe80::20c:29ff:fe69:6ec1/64 scope link 
       valid_lft forever preferred_lft forever
[root@nginx ~]#

虛擬IP:192.168.100.100已經成功啟動

[root@nginx ~]# tail -fn 10 /var/log/messages6
Sep 20 15:13:22 nginx Keepalived_healthcheckers[419]: TCP connection to [192.168.10.18]:tcp:3306 success.
Sep 20 15:13:32 nginx Keepalived_vrrp[420]: (VI_1) Entering MASTER STATE
Sep 20 15:13:32 nginx Keepalived_vrrp[420]: (VI_1) setting protocol VIPs.
Sep 20 15:13:32 nginx Keepalived_vrrp[420]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:13:32 nginx Keepalived_vrrp[420]: (VI_1) Sending/queueing gratuitous ARPs on eth1 for 192.168.100.100
Sep 20 15:13:32 nginx Keepalived_vrrp[420]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:13:32 nginx Keepalived_vrrp[420]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:13:32 nginx Keepalived_vrrp[420]: Sending gratuitous ARP on eth1 for 192.168.100.100

說明已經成功作為MASTER啟動,且發送ARP包傳輸

backup端

[root@mysql ~]# tail -fn 10 /var/log/messages
Sep 20 15:25:37 mysql Keepalived_healthcheckers[52339]: WARNING - default user 'keepalived_script' for script execution does not exist - please create.
Sep 20 15:25:37 mysql Keepalived_healthcheckers[52339]: Unknown keyword 'nb_get_retry'
Sep 20 15:25:37 mysql Keepalived_healthcheckers[52339]: Please add a #! shebang to script /data/sh/mysql.sh
Sep 20 15:25:37 mysql Keepalived_vrrp[52340]: (VI_1) removing protocol VIPs.
Sep 20 15:25:37 mysql Keepalived_vrrp[52340]: (VI_1) Entering BACKUP STATE (init)
Sep 20 15:25:37 mysql Keepalived_healthcheckers[52339]: SECURITY VIOLATION - check scripts are being executed but script_security not enabled.
Sep 20 15:25:37 mysql Keepalived_healthcheckers[52339]: Gained quorum 1+0=1 <= 100 for VS [192.168.100.100]:tcp:3306
Sep 20 15:25:37 mysql Keepalived_healthcheckers[52339]: Activating healthchecker for service [192.168.10.23]:tcp:3306 for VS [192.168.100.100]:tcp:3306
Sep 20 15:25:37 mysql Keepalived_vrrp[52340]: VRRP sockpool: [ifindex(2), proto(112), unicast(0), fd(8,9)]
Sep 20 15:25:43 mysql Keepalived_healthcheckers[52339]: TCP connection to [192.168.10.23]:tcp:3306 success.
 (VI_1) Entering BACKUP STATE (init)已作為backup機啟用
[root@mysql ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:ad:ad:54 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.23/24 brd 192.168.10.255 scope global eth1
    inet6 fe80::20c:29ff:fead:ad54/64 scope link 
       valid_lft forever preferred_lft forever
[root@mysql ~]#

backup的IP情況


 

4、測試

當Master的MySQL服務意外掛掉后,會自動啟用backup的Mysql繼續為系統提供支持。

[root@nginx ~]# service mysqld stop
Stopping mysqld:                                           [  OK  ]
[root@nginx ~]# 
[root@nginx ~]# 
[root@nginx ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:69:6e:c1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.18/24 brd 192.168.10.255 scope global eth1
    inet6 fe80::20c:29ff:fe69:6ec1/64 scope link 
       valid_lft forever preferred_lft forever
[root@nginx ~]# 
[root@nginx ~]# 
[root@nginx ~]# 
[root@nginx ~]# tail -fn 10 /var/log/messages
Sep 20 15:36:44 nginx Keepalived_healthcheckers[419]: Error processing RCPT cmd on SMTP server [127.0.0.1]:25. SMTP status code = 501
Sep 20 15:36:44 nginx Keepalived_healthcheckers[419]: Can not read data from remote SMTP server [127.0.0.1]:25.
Sep 20 15:36:44 nginx Keepalived[417]: Stopping
Sep 20 15:36:44 nginx kernel: IPVS: __ip_vs_del_service: enter
Sep 20 15:36:44 nginx Keepalived_vrrp[420]: (VI_1) sent 0 priority
Sep 20 15:36:44 nginx Keepalived_vrrp[420]: (VI_1) removing protocol VIPs.
Sep 20 15:36:44 nginx Keepalived_healthcheckers[419]: Shutting down service [192.168.10.18]:tcp:3306 from VS [192.168.100.100]:tcp:3306
Sep 20 15:36:44 nginx Keepalived_healthcheckers[419]: Stopped
Sep 20 15:36:45 nginx Keepalived_vrrp[420]: Stopped
Sep 20 15:36:45 nginx Keepalived[417]: Stopped Keepalived v2.0.0 (05/27,2018)
^C
[root@nginx ~]# ps -ef  | grep keep
root       1127 130014  0 15:40 pts/0    00:00:00 grep keep
[root@nginx ~]# 

Master 測試關閉mysql服務,虛擬IP停止發送ARP包,keepalived服務終止

[root@mysql ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:ad:ad:54 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.23/24 brd 192.168.10.255 scope global eth1
    inet 192.168.100.100/32 scope global eth1
    inet6 fe80::20c:29ff:fead:ad54/64 scope link 
       valid_lft forever preferred_lft forever
[root@mysql ~]# 
[root@mysql ~]# tail -fn 20 /var/log/messages
Sep 20 15:25:37 mysql Keepalived_healthcheckers[52339]: SECURITY VIOLATION - check scripts are being executed but script_security not enabled.
Sep 20 15:25:37 mysql Keepalived_healthcheckers[52339]: Gained quorum 1+0=1 <= 100 for VS [192.168.100.100]:tcp:3306
Sep 20 15:25:37 mysql Keepalived_healthcheckers[52339]: Activating healthchecker for service [192.168.10.23]:tcp:3306 for VS [192.168.100.100]:tcp:3306
Sep 20 15:25:37 mysql Keepalived_vrrp[52340]: VRRP sockpool: [ifindex(2), proto(112), unicast(0), fd(8,9)]
Sep 20 15:25:43 mysql Keepalived_healthcheckers[52339]: TCP connection to [192.168.10.23]:tcp:3306 success.
Sep 20 15:36:44 mysql Keepalived_vrrp[52340]: (VI_1) Backup received priority 0 advertisement
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: (VI_1) Entering MASTER STATE
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: (VI_1) setting protocol VIPs.
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: (VI_1) Sending/queueing gratuitous ARPs on eth1 for 192.168.100.100
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:50 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:50 mysql Keepalived_vrrp[52340]: (VI_1) Sending/queueing gratuitous ARPs on eth1 for 192.168.100.100
Sep 20 15:36:50 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:50 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:50 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:50 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
ps^C
[root@mysql ~]# 
[root@mysql ~]# ps -ef | grep keepalived
root      52337      1  0 15:25 ?        00:00:00 keepalived -D
root      52339  52337  0 15:25 ?        00:00:00 keepalived -D
root      52340  52337  0 15:25 ?        00:00:00 keepalived -D
root      52760  51101  0 15:42 pts/0    00:00:00 grep keepalived
[root@mysql ~]# 
(VI_1) Entering MASTER STATE,backup機成為Master,繼續為系統提供mysql服務,測試成功。
重啟Master主機的mysql服務后,Master主機重新成為master,備機重新成為備機
[root@nginx ~]# 
[root@nginx ~]# service keepalived restasrt
Usage: /etc/init.d/keepalived {start|stop|reload|restart|condrestart|status}
[root@nginx ~]# service keepalived restart
Stopping keepalived:                                       [FAILED]
Starting keepalived:                                       [  OK  ]
[root@nginx ~]# 
[root@nginx ~]# 
[root@nginx ~]# 
[root@nginx ~]# tail -fn 10 /var/log/messages
Sep 20 15:44:35 nginx Keepalived_healthcheckers[1409]: Gained quorum 1+0=1 <= 100 for VS [192.168.100.100]:tcp:3306
Sep 20 15:44:35 nginx Keepalived_vrrp[1410]: Unknown keyword 'lvs_sync_daemon_inteface'
Sep 20 15:44:35 nginx Keepalived_vrrp[1410]: Assigned address 192.168.10.18 for interface eth1
Sep 20 15:44:35 nginx Keepalived_healthcheckers[1409]: Activating healthchecker for service [192.168.10.18]:tcp:3306 for VS [192.168.100.100]:tcp:3306
Sep 20 15:44:35 nginx Keepalived_vrrp[1410]: Assigned address fe80::20c:29ff:fe69:6ec1 for interface eth1
Sep 20 15:44:35 nginx Keepalived_vrrp[1410]: Registering gratuitous ARP shared channel
Sep 20 15:44:35 nginx Keepalived_vrrp[1410]: (VI_1) removing protocol VIPs.
Sep 20 15:44:35 nginx Keepalived_vrrp[1410]: (VI_1) Entering BACKUP STATE (init)
Sep 20 15:44:35 nginx Keepalived_vrrp[1410]: VRRP sockpool: [ifindex(2), proto(112), unicast(0), fd(8,9)]
Sep 20 15:44:36 nginx Keepalived_vrrp[1410]: (VI_1) received lower priority (90) advert from 192.168.10.23 - discarding
Sep 20 15:44:41 nginx Keepalived_vrrp[1410]: (VI_1) received lower priority (90) advert from 192.168.10.23 - discarding
Sep 20 15:44:41 nginx Keepalived_healthcheckers[1409]: TCP connection to [192.168.10.18]:tcp:3306 success.
Sep 20 15:44:46 nginx Keepalived_vrrp[1410]: (VI_1) received lower priority (90) advert from 192.168.10.23 - discarding
Sep 20 15:44:50 nginx Keepalived_vrrp[1410]: (VI_1) Entering MASTER STATE
Sep 20 15:44:50 nginx Keepalived_vrrp[1410]: (VI_1) setting protocol VIPs.
Sep 20 15:44:50 nginx Keepalived_vrrp[1410]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:44:50 nginx Keepalived_vrrp[1410]: (VI_1) Sending/queueing gratuitous ARPs on eth1 for 192.168.100.100
Sep 20 15:44:50 nginx Keepalived_vrrp[1410]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:44:50 nginx Keepalived_vrrp[1410]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:44:50 nginx Keepalived_vrrp[1410]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:44:50 nginx Keepalived_vrrp[1410]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:44:55 nginx Keepalived_vrrp[1410]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:44:55 nginx Keepalived_vrrp[1410]: (VI_1) Sending/queueing gratuitous ARPs on eth1 for 192.168.100.100
Sep 20 15:44:55 nginx Keepalived_vrrp[1410]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:44:55 nginx Keepalived_vrrp[1410]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:44:55 nginx Keepalived_vrrp[1410]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:44:55 nginx Keepalived_vrrp[1410]: Sending gratuitous ARP on eth1 for 192.168.100.100
^C
[root@nginx ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:69:6e:c1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.18/24 brd 192.168.10.255 scope global eth1
    inet 192.168.100.100/32 scope global eth1
    inet6 fe80::20c:29ff:fe69:6ec1/64 scope link 
       valid_lft forever preferred_lft forever
[root@nginx ~]# 
[root@mysql ~]# 
[root@mysql ~]# tail -fn 20 /var/log/messages
Sep 20 15:25:37 mysql Keepalived_vrrp[52340]: VRRP sockpool: [ifindex(2), proto(112), unicast(0), fd(8,9)]
Sep 20 15:25:43 mysql Keepalived_healthcheckers[52339]: TCP connection to [192.168.10.23]:tcp:3306 success.
Sep 20 15:36:44 mysql Keepalived_vrrp[52340]: (VI_1) Backup received priority 0 advertisement
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: (VI_1) Entering MASTER STATE
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: (VI_1) setting protocol VIPs.
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: (VI_1) Sending/queueing gratuitous ARPs on eth1 for 192.168.100.100
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:45 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:50 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:50 mysql Keepalived_vrrp[52340]: (VI_1) Sending/queueing gratuitous ARPs on eth1 for 192.168.100.100
Sep 20 15:36:50 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:50 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:50 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:36:50 mysql Keepalived_vrrp[52340]: Sending gratuitous ARP on eth1 for 192.168.100.100
Sep 20 15:44:50 mysql Keepalived_vrrp[52340]: (VI_1) Master received advert from 192.168.10.18 with higher priority 100, ours 90
Sep 20 15:44:50 mysql Keepalived_vrrp[52340]: (VI_1) Entering BACKUP STATE
Sep 20 15:44:50 mysql Keepalived_vrrp[52340]: (VI_1) removing protocol VIPs.
^C
[root@mysql ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:ad:ad:54 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.23/24 brd 192.168.10.255 scope global eth1
    inet6 fe80::20c:29ff:fead:ad54/64 scope link 
       valid_lft forever preferred_lft forever
[root@mysql ~]# 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM