您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“keepalived+vip+mysql雙機高可用的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“keepalived+vip+mysql雙機高可用的示例分析”這篇文章吧。
1.環境 mysql主從
更新
yum update glib*
配置第三方源
yum install -y epel-release
直接通過yum安裝keepalived
#查看是否有安裝包
yum list |grep keepalived
安裝
yum install keepalived.x86_64
各種參數定義查看如下bolg
http://blog.csdn.net/zhu_tianwei/article/details/43603135
真實生產環境案例
master
路徑/etc/keepalived/keepalived.conf
通過權重 priority 0-250 來判斷 主從
#######################master###########################
global_defs {
router_id HA_MySQL
}
vrrp_instance VI_1 {
state BACKUP
interface em1
virtual_router_id 12
priority 120
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
#vip
192.168.27.12
}
}
virtual_server 192.168.27.12 3306 {
delay_loop 2
lb_algo wrr
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 192.168.27.73 3306 {
weight 3
inhibit_on_failure
#檢查真實ip的端口3306 是否down 如果down 執行stop_keeplived.sh
notify_down /usr/local/keepalived/sbin/stop_keeplived.sh
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}
###########################slave###############################
slave
通過權重 priority 0-250 來判斷 主從
global_defs {
router_id HA_MySQL
}
vrrp_instance VI_1 {
state BACKUP
interface em1
virtual_router_id 12
priority 100
advert_int 1
#nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
#vip
192.168.27.12
}
}
virtual_server 192.168.27.12 3306 {
delay_loop 2
lb_algo wrr
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 192.168.27.72 3306 {
weight 3
notify_down /usr/local/keepalived/sbin/stop_keeplived.sh
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}
################stop_keeplived.sh############
/usr/local/keepalived/sbin/stop_keeplived.sh
內容
#! /bin/bash
echo "test" > text.txt
/etc/init.d/keepalived stop
#遇到的錯誤
停止mysql 3306端口
service mysqld stop
正常應該是vip 進行漂移,但是卻沒有漂,查看keepalived狀態
service keepalived status
發現 ipvs: Protocol not available 提示信息
此問題 導致vip無法漂移
原因是ip_vs模塊系統默認沒有自動加載
查看ip_vs模塊
lsmod | grep ip_vs 若沒有值需要手工加載
modprobe ip_vs
modprobe ip_vs_wrr
lsmod | grep ip_vs正常輸出
[root@hs-73 sbin]# lsmod | grep ip_vs
ip_vs_wrr 12697 0
ip_vs 140944 2 ip_vs_wrr
nf_conntrack 105745 1 ip_vs
libcrc32c 12644 2 xfs,ip_vs
設置開機加載
/etc/rc.local
將modprobe ip_vs
modprobe ip_vs_wrr
寫入rc.local配置文件
到此 問題解決
vip 可以正常漂移
使用命令 ip a 可以查看vip
-----keepalived 對應的機器必須開啟112端口 否則 兩邊無法通信
以上是“keepalived+vip+mysql雙機高可用的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。