Ubuntu安裝keepalived


Ubuntu安裝keepalived

一、Keepalived是什么鬼東西:

keepalived是集群管理中保證集群高可用的一個服務軟件,其功能類似於heartbeat,用來防止單點故障。

二、Keepalived 這個鬼東西的工作原理:

keepalived是以VRRP協議為實現基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協議

虛擬路由冗余協議,可以認為是實現路由器高可用的協議,即將N台提供相同功能的路由器組成一個路由器組,這個組里面有一個master和多個backup,master上面有一個對外提供服務的vip(該路由器所在局域網內其他機器的默認路由為該vip),master會發組播,當backup收不到vrrp包時就認為master宕掉了,這時就需要根據VRRP的優先級選舉一個backup當master。這樣的話就可以保證路由器的高可用了。

keepalived主要有三個模塊,分別是core、check和vrrp。core模塊為keepalived的核心,負責主進程的啟動、維護以及全局配置文件的加載和解析。check負責健康檢查,包括常見的各種檢查方式。vrrp模塊是來實現VRRP協議的。

以下是keepalived官網上提供的架構圖

 

 

 

三、環境准備和keepalived的安裝

1、通過ip addr list 或者ip addr show 或者是ip a 等命令查詢本機ip

 

 

2、修改網絡配置

  修改/etc/sysctl.conf配置文件

 

 

首先找到net.ipv4.ip_forward=1這個配置,並其注釋去除,然后在下面插入net.ipv4.ip_nonlocal_bind=1這句配置

 

 

保存並退出;

查看是否配置成功

 

 

如果輸出不是1而是0就說明可能還沒生效,執行sudo sysctl –p使其生效

 

 

這樣網絡配置就配置好了

3、安裝keepalived和相關包

先安裝相關包

 

 

再安裝keepalived

 

 

輸入y繼續

 

 

安裝成功

 

4、配置keepalived.conf

編輯keepalived.conf文件

 

 

在keepalived.conf中編輯如下內容

global_defs {

    notification_email {

        1412262314@qq.com

    }

    notification_email_from guoxm@puzek.com

    smtp_server smtp.mxhichine.com

    smtp_connect_timeout 30

    router_id server71

}

vrrp_script chk_health {

    script "/opt/keepalived/check_health.sh"

    interval 1

    weight 1

}

vrrp_instance VI_1 {

    state BACKUP

    interface ens33

    virtual_router_id 51

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass puzek

    }

    virtual_ipaddress {

        192.168.100.100

    }

    track_script {

        chk_health

    }

    notify_master "/opt/keepalived/notify.sh master"

    notify_backup "/opt/keepalived/notify.sh backup"

    notify_fault "/opt/keepalived/notify.sh fault"

}

 

 

這里可以創建一個keepalived_script用戶(可以不用),用於執行keepalived的腳本

sudo useradd keepalived_script

然后創建密碼

sudo passwd keepalived_script

輸入密碼和確認密碼就創建完成了

然后創建keepalived需要使用shell腳本后,將腳本的用戶和用戶組都設置成keepalived_script

sudo chown -R keepalived_script:keepalived_script notify.shsudo

然后就可以啟動keepalived了

啟動keepalived(停止使用stop)

 

 

查看是否啟動成功

 

 

必須要有三個keepalived的進程,這三個分別是keepalived父進程,vrrp子進程、check子進程;兩個子進程都被系統watchlog看管,兩個子進程各自負責復雜自己的事;

然后查看虛擬ip是否起來了

 

 

 

如果有其他問題可以查看keepalived的日志(keepalived的日志默認打在系統日志中,所以可以使用grep 過濾一下)

cat /var/log/syslog | grep Keepalived

 


免責聲明!

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



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