keepalived 配置說明

Keepalived是一個基於VRRP協議來實現的WEB服務高可用方案,能夠利用其來避免單點故障。一個WEB服務至少會有2臺服務器運行Keepalived,一臺爲主服務器(MASTER),一臺爲備份服務器(BACKUP),可是對外表現爲一個虛擬IP,主服務器會發送特定的消息給備份服務器,當備份服務器收不到這個消息的時候,即主服務器宕機的時候,備份服務器就會接管虛擬IP,繼續提供服務,從而保證了高可用性。html

假設兩臺機器,服務器一 : 10.1.1.10  服務器二: 10.1.1.11 ,虛擬ip爲 10.1.1.12 系統爲 linux rhel 5.9mysql

keepalived 安裝與配置linux

./configure --prefix=/usr/local/keepalived
make
make install

cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ 
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ 
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ 
mkdir -p /etc/keepalived 
cd /etc/keepalived/ 
# 配置
vi keepalived.conf #/usr/local/keepalived/etc/keepalived/keepalived copy

在服務器一上:sql

global_defs {
notification_email {
                # 郵箱配置,略
    }
}

vrrp_instance VI_1 {
    state MASTER #備用服務器上改成 BACKUP
    interface eth0  # 使用 ifconfig 查看ip 屬於哪一個網卡號
    virtual_router_id 51  #主備必須一直
    priority 100 #備用服務器上改成99 優先級,越大越高
    advert_int 1
    authentication { #主從服務器驗證方式主備的keepalived這2個配置要同樣。
        auth_type PASS
        auth_pass 1111
    }
virtual_ipaddress {
    10.1.1.12   # 虛擬 IP  主從使用相同的虛擬 ip
    }
}

lvs 相關配置,假設 10 和 11 上有 mysql 服務服務器

virtual_server 10.1.1.12 3306 {
    delay_loop 6 #每隔6秒檢查一次real_server狀態
    lb_algo rr
    lb_kind NAT
    nat_mask 255.255.255.0
    persistence_timeout 50 #回話保持時間
    protocol TCP

    real_server 10.1.1.10 3306 {
        weight 1
        notify_down "/usr/local/keepalived/mysql.sh"   #新建這個mysql.sh文件,輸入 pkill keepalived

        TCP_CHECK {
            connect_timeout 3
            connect_port 3306
          }
    }
    }

使用:負載均衡

chkconfig keepalived on
service keepalived start

驗證:能夠簡單的 ping 真實IP和虛擬 ip檢查配置是否成功,可使用虛擬ip 訪問真實IP部署的程序oop

查看虛擬在哪一個 ip 上網站

ip a

圖片描述

參考:Keepalived配置與使用
安裝keepalived
Linux下keepalived+mysql實現高可用
【大型網站技術實踐】初級篇:藉助LVS+Keepalived實現負載均衡spa

相關文章
相關標籤/搜索