亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: keepalived 切換的疑問 [打印本頁]

作者: saup007    時間: 2015-08-27 15:33
標(biāo)題: keepalived 切換的疑問
本帖最后由 saup007 于 2015-08-27 15:33 編輯

A:172.19.1.201
B:172.19.1.202
VIP:172.19.1.249

# /opt/keepalived/sbin/keepalived -v
Keepalived v1.2.19 (08/21,2015)

當(dāng)停掉A的MySQL,正常切換到B,當(dāng)把A MySQL啟來后,vip依然在B,這個符合邏輯,但把A MySQL啟來后,再去停掉B MySQL,VIP卻沒有飄移到A上,why?

若在B節(jié)點重啟keepalived,VIP會飄移到A的。


A:

vim keepalived.conf
  1. #
  2. ! Configuration File for keepalived

  3. global_defs {
  4.    notification_email {
  5.      saup007@qq.com
  6.    }
  7.    notification_email_from root@dbaone
  8.    smtp_server dbaone
  9.    smtp_connect_timeout 30
  10.    router_id MySQL-HA
  11. }

  12. vrrp_script chk_mysql_server {
  13.    #script "/opt/keepalived/script/chk_mysql_server.sh"
  14.    script "killall -0 mysqld"
  15.    interval 30  # 檢測時間為30s
  16.    weight 21
  17. }

  18. vrrp_instance VI_1 {
  19.     state BACKUP
  20.     interface eth1
  21.     virtual_router_id 59
  22.     priority 100
  23.     advert_int 1
  24.     nopreempt  # 非搶占模式,只在優(yōu)化級高的機器設(shè)置,優(yōu)先級低的不設(shè)置
  25.     #mcast_src_ip 172.19.1.201
  26.     authentication {
  27.         auth_type PASS
  28.         auth_pass 1111
  29.     }
  30.     notify_master "/opt/keepalived/script/master.sh"
  31.     notify_backup "/opt/keepalived/script/backup.sh"
  32.     notify_fault  "/opt/keepalived/script/fault.sh"
  33.     notify_stop "/opt/keepalived/script/stop.sh"
  34.     track_script {
  35.         chk_mysql_server
  36.     }
  37.     virtual_ipaddress {
  38.         172.19.1.249/24 dev eth1 scope global label eth1:0
  39.     }
  40. }
復(fù)制代碼
B:

vim keepalived.conf
  1. #
  2. ! Configuration File for keepalived

  3. global_defs {
  4.    notification_email {
  5.      saup007@qq.com
  6.    }
  7.    notification_email_from root@dbatwo
  8.    smtp_server dbatwo
  9.    smtp_connect_timeout 30
  10.    router_id MySQL-HA
  11. }

  12. vrrp_script chk_mysql_server {
  13.    #script "/opt/keepalived/script/chk_mysql_server.sh"
  14.    script "killall -0 mysqld"
  15.    interval 30  # 檢測時間為30s
  16.    weight 21
  17. }

  18. vrrp_instance VI_1 {
  19.     state BACKUP
  20.     interface eth1
  21.     virtual_router_id 59
  22.     priority 90
  23.     advert_int 1
  24.     #nopreempt  # 非搶占模式,只在優(yōu)化級高的機器設(shè)置,優(yōu)先級低的不設(shè)置
  25.     #mcast_src_ip 172.19.1.202
  26.     authentication {
  27.         auth_type PASS
  28.         auth_pass 1111
  29.     }
  30.     notify_master "/opt/keepalived/script/master.sh"
  31.     notify_backup "/opt/keepalived/script/backup.sh"
  32.     notify_fault  "/opt/keepalived/script/fault.sh"
  33.     notify_stop "/opt/keepalived/script/stop.sh"
  34.     track_script {
  35.         chk_mysql_server
  36.     }
  37.     virtual_ipaddress {
  38.         172.19.1.249/24 dev eth1 scope global label eth1:0
  39.     }
  40. }
復(fù)制代碼

作者: saup007    時間: 2015-08-27 16:55
本帖最后由 saup007 于 2015-08-27 16:56 編輯

暫時通過shell的方式實現(xiàn) B->A的飄移VIP ,不知能否通過keepalived本身來實現(xiàn)。

#
! Configuration File for keepalived

global_defs {
   notification_email {
     saup007@qq.com
   }
   notification_email_from root@dbatwo
   smtp_server dbatwo
   smtp_connect_timeout 30
   router_id MySQL-HA
}

vrrp_script chk_mysql_server {
   script "/opt/keepalived/script/chk_mysql_server.sh"
   #script "killall -0 mysqld"
   interval 30  # 檢測時間為30s
   weight -21
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth1
    virtual_router_id 59
    priority 90
    advert_int 1
    #nopreempt  # 非搶占模式,只在優(yōu)化級高的機器設(shè)置,優(yōu)先級低的不設(shè)置
    #mcast_src_ip 172.19.1.202
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    notify_master "/opt/keepalived/script/master.sh"
    notify_backup "/opt/keepalived/script/backup.sh"
    notify_fault  "/opt/keepalived/script/fault.sh"
    notify_stop "/opt/keepalived/script/stop.sh"
    track_script {
        chk_mysql_server
    }
    virtual_ipaddress {
        172.19.1.249/24 dev eth1 scope global label eth1:0
    }
}

# cat /opt/keepalived/script/chk_mysql_server.sh
#!/bin/bash
killall -0 mysqld

if [[ $? -eq 0 ]]
then
   if [[ /tmp/keepalived ]]
   then
      rm -rf /tmp/keepalived
      exit 0;
   else
      exit 0;
   fi
else
   if [[ ! -f /tmp/keepalived ]]
   then
      /etc/init.d/keepalived restart
      echo "`date +%Y-%m-%d` keepalived" >> /tmp/keepalived
      exit 1;
   else
      exit 1;
   fi
fi
作者: noshell    時間: 2015-08-28 15:42
剛好最近也在玩這個,也遇到過這個問題。
1、timeout 5 我的參數(shù)是這個值
2、在”把A MySQL啟來后,再去停掉B MySQL,VIP卻沒有飄移到A上“。在B的keepalvie 是不是也沒停掉?
在控制腳本中加上,當(dāng)msql 停掉把keepalved 先停掉,并且把VIP去掉。然后再起keepalive. 這樣應(yīng)該就可以飄過去的。
作者: saup007    時間: 2015-08-28 17:50
本帖最后由 saup007 于 2015-08-28 17:50 編輯

回復(fù) 3# noshell


    A -> B 是不需要stop keepalive的,只需要優(yōu)先級就可以完成VIP飄移,但切換回來 B -> A,需要stop或restart keepalvied。




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2