LVS+keepalived集羣

host1 主調度器,host4輔調度器,host2,host3是服務器

基本配置:服務器host2和host3,不需要vip,start keepalived時會自動生成vip,[root@host1 ~]# ipvsadm -A -t 172.25.254.10:80 -s rr
[root@host1 ~]# ipvsadm -a -t 172.25.254.10:80 -r 172.25.254.2:80 -g
[root@host1 ~]# ipvsadm -a -t 172.25.254.10:80 -r 172.25.254.3:80 -g
[root@host1 ~]# /etc/init.d/ipvsadm save
ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm: [ OK ]
調度器vip不用自己手動添加,
這裏寫圖片描述

host2,host3服務器需要

arptables    -A IN -d 172.25.254.10 -j DROP 
arptables    -A OUT -s 172.25.254.10 -j mangle --mangle-ip-s 172.25.254.2  #host3最後ip爲172.25.254.3

1:安裝源碼包編譯需要的工具。並下載keepalived的源碼包。 (兩個節點都需要做)

gcc 和 openssl-devel
這裏寫圖片描述

2:解壓並且編譯keepalived的源碼包

 tar zxf keepalived-1.4.1.tar.gz  ##解壓
 ./configure --prefix=/usr/local/keepalived --with-init=SYSV ##進入解壓後的目錄中編譯
make
make install

這裏寫圖片描述

3:連接或者複製配置文件到正常目錄

cp  /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ ##往掠配置文件
cp -r /usr/local/keepalived/etc/keepalived/ /etc  ##配置主目錄
cd /usr/local/keepalived/etc/rc.d/init.d                   
chmod +x keepalived
cp -r /usr/local/keepalived/sbin/keepalived  /usr/sbin/  ##keepalived命令
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/   ##服務啓動命令

MASTER主機

安裝yum install openssh-clients.x86_64
scp  -r /usr/local/keepalived/ 備機:/usr/local/

BACKUP輔機

yum -y install ipvsadm*
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/etc/keepalived/ /etc/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
/etc/init.d/keepalived start
/etc/init.d/keepalived stop

4主調度器文件配置:

[root@host1 ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {
   notification_email {
   root@localhost     ###接受報警的郵箱
   }
   notification_email_from keepalived@localhost  ##郵件發送者
   smtp_server 127.0.0.1    ##
   smtp_connect_timeout 30  ##連接smtp的超時時間
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER   #備機需要改爲BACKUP
    interface eth1  #高可用的檢測網絡接口
    virtual_router_id 51  #主和備機的id必須一樣,且在0~255
    priority 100   #主機的優先級,備機應該此值小點
    advert_int 1  #主備之間的通告時間間隔秒數
    authentication {
        auth_type PASS #設置驗證類型
        auth_pass 1111  #設置驗證密碼
    }
    virtual_ipaddress {
        172.25.254.10  #VIP
    }
}

virtual_server 172.25.254.10 80 {
    delay_loop 6   #每隔4秒查詢realserver的狀態
    lb_algo rr   #rr論叫算法
    lb_kind DR   #LVS的DR模式
    #persistence_timeout 50  #保持會話使用的時常ftp服務類型
    protocol TCP  ##tcp協議

    real_server 172.25.254.2 80 {   ##RS
        weight 1  #權重
        TCP_CHECK {  #realserver的狀態檢測設置部分
            connect_timeout 3  #3秒無響應超時
            retry 3    #重試次數
            delay_before_retry 3   #重試間隔
       }
   }
    real_server 172.25.254.3 80 {
        weight 1  
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
       } 
   }   
}

###5輔調度器文件配置

[root@host4 ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {
   notification_email {
   root@localhost
   }
   notification_email_from keepalived@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth1
    virtual_router_id 51
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.25.254.10
    }
}

virtual_server 172.25.254.10 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    #persistence_timeout 50
    protocol TCP

    real_server 172.25.254.2 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
       }
   }
    real_server 172.25.254.3 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
       } 
   }  
}

6完成測試:

這裏寫圖片描述

@高可用的解決方案:

主調度器在使用中,輔調度器開啓,
這裏寫圖片描述
這裏寫圖片描述

當主調度器host1 down掉,備用調度器會接替工作

這裏寫圖片描述
這裏寫圖片描述

@健康檢查機制,host2關閉http服務

這裏寫圖片描述
日誌和郵件查看相關信息

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