Keepalived

下面是keepalived詳細配置文件解析:

[root@localhost kernels]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived 
global_defs { 
#  notification_email { 
#    [email protected] 
#    [email protected] 
#    [email protected] 
#  } 
#  notification_email_from [email protected] 
#  smtp_server 192.168.200.1
#  smtp_connect_timeout 30
router_id LVS_DEVEL    //負載均衡器標識,同一網段內,可以相同 

vrrp_sync_group VGM {  //定義一個vrrp組 
group { 
VI_1 


vrrp_instance VI_1 {    //定義vrrp實例 
state MASTER        //主LVS是MASTER,從的BACKUP 
interface eth0      //LVS監控的網絡接口 
virtual_router_id 51  //同一實例下virtual_router_id必須相同 
priority 100            //定義優先級,數字越大,優先級越高 
advert_int 5          //MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒 
authentication {      //驗證類型和密碼 
auth_type PASS 
auth_pass 1111

virtual_ipaddress {    //虛擬IP 
192.168.1.8
#        192.168.1.9    //如果有多個,往下加就行了 
#        192.168.1.7


virtual_server 192.168.1.8 80 {    //定義虛擬服務器 
delay_loop 6                  //健康檢查時間,單位是秒 
lb_algo rr              //負載調度算法,這裏設置爲rr,即輪詢算法 
lb_kind DR              //LVS實現負載均衡的機制,可以有NAT、TUN和DR三個模式可選 
persistence_timeout 50        //會話保持時間,單位是秒(可以適當延長時間以保持session) 
protocol TCP                  //轉發協議類型,有tcp和udp兩種 
sorry_server 127.0.0.1 80      //web服務器全部失敗,vip指向本機80端口 
real_server 192.168.1.16 80 {  //定義WEB服務器 
weight 1                  //權重 
TCP_CHECK {                //通過tcpcheck判斷RealServer的健康狀態 
connect_timeout 5      //連接超時時間 
nb_get_retry 3        //重連次數 
delay_before_retry 3  //重連間隔時間 
connect_port 80        //檢測端口 


real_server 192.168.1.17 80 { 
weight 1
TCP_CHECK { 
connect_timeout 5
nb_get_retry 3
delay_before_retry 3
connect_port 80

}

實例:

vim /etc/keepalived/keepalived.conf

vrrp_instance VI_1 {

    state MASTER    # 備用用 BACKUP

    interface eth2   #用的是哪個網卡

    virtual_router_id 51  #虛擬路由地址必須一樣,才能配置成一個組

    priority 100   # 備用用 90

    advert_int 1  #MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒

    authentication {

        auth_type PASS  #(密碼形式)

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.32.100

    }

}

virtual_server 192.168.32.100 80 {

    delay_loop 6    #每隔6s 查詢 realserver 狀態

    lb_algo rr    #lvs 算法

    lb_kind NAT     #Direct Route

    persistence_timeout 60    #會話保持時間,單位是秒(可以適當延長時間以保持session)

    protocol TCP     # 用 TCP協議檢查 realserver 狀態

    real_server 192.168.32.85 80 {

        weight 1

          TCP_CHECK {

              connect_timeout 10   #10s 無響應超時

               nb_get_retry 3

               delay_before_retry 3

               connect_port 80

          }

    }

   #  real_server 192.168.32.86 80 {

        weight 2

          TCP_CHECK {

              connect_timeout 10   #10s 無響應超時

               nb_get_retry 3

               delay_before_retry 3

               connect_port 80

          }

    }

   #

}

使用源碼先安裝keepalived 1.2.6:

cd /usr/src

wget  http://www.keepalived.org/software/keepalived-1.2.13.tar.gz

tar zxf keepalived-1.2.13.tar.gz 

cd keepalived-1.2.13

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

make

make install

1.  建立服務啓動腳本,以便使用service命令控制之 

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived

chmod +x /etc/init.d/keepalived

因爲我們使用非默認路徑(/usr/local)安裝keepalived, 故需要修改幾處路徑,以保證keepalived能正常啓動, 需要修改的文件如下:

2. 修改/etc/init.d/keepalived, 尋找大約15行左右的. /etc/sysconfig/keepalived, 修改爲:

sed -i "15d;14a . /usr/local/keepalived/etc/sysconfig/keepalived" /etc/init.d/keepalived 

同時在上述行下添加以下內容(將keepavlied主程序所在路徑導入到環境變量PATH中):

sed -i '15a PATH="$PATH:/usr/local/keepalived/sbin"' /etc/init.d/keepalived 

sed -i '16a export PATH' /etc/init.d/keepalived

3. 修改/usr/local/keepalived/etc/sysconfig/keepalived文件,設置正確的服務啓動參數 

sed -i '14d;13a KEEPALIVED_OPTIONS="-D -f /etc/keepalived/keepalived.conf"' /usr/local/keepalived/etc/sysconfig/keepalived

mkdir /etc/keepalived/

cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

4. 經過以上修改,keepalived基本安裝即可完成,啓動測試之: 
service keepalived start

5. 切勿忘記將此服務設置爲開機啓動

chkconfig keepalived on


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章