Keepalived + LVS 搭建高可用性負載均衡

     Keepalived和LVS部署以前已經分別討論過了,LVS通常須要配合Keepalived使用,LVS提供的是HP,而Keepalived則提供HA,確保負載均衡的高性能的同時保持服務不會中斷。

Keepalived-LVS配置:
DR配置:

vi /etc/keepalived/keepalived.conf

######################## #  全局配置 ########################後端

global_defs {                                  # global_defs 全局配置標識
    notification_email {                     # notification_email用於設置報警郵件地址
        acassen@firewall.loc              # 能夠設置多個,每行一個
        failover@firewall.loc                # 設置郵件報警,需開啓本機Sendmail 服務  
    }                                      

    notification_email_from email@firewall.loc  # 設置郵件發送地址  |
    smtp_server 192.168.1.105        # 設置郵件的smtp server地址  
    smtp_connect_timeout 30        # 設置鏈接smtp sever超時時間  
    router_id LVS_DEVEL              # 表示運行keepalived服務器標識,發郵件時顯示在郵件主題中的信息
}

###################### #  VRRP配置 ######################
vrrp_instance VI_1 {           # VRRP配置標識 VI_1是實例名稱   
    state MASTER             # 指定Keepalvied角色 MASTER表示此主機爲主服務器
                                     # BACKUP則是表示爲備用服務器   
    interface enp0s5         # 指定 HA 監測網絡的接口   
    virtual_router_id 51      # 虛擬路由標識,標識爲數字,同一個VRRP實例使用惟一的標識,
                                    #便可表示在同一個vrrp_instance下 MASTER_ID = BACKUP_ID   
    priority 100                # 定義節點優先級,數字越大表示節點的優先級越高,
                                    #同一個VRRP_instance下,MASTE_PRIORITY > BACKUP_PRIORITY   
    advert_int 1                # 設定MASTER與BACKUP主機質檢同步檢查的時間間隔,單位爲秒            
    authentication {          # 設定節點間通訊驗證類型和密碼,驗證類型主要有PASS和AH兩種       
        auth_type PASS     # 同一個vrrp_instance,MASTER驗證密碼和BACKUP保持一致       
        auth_pass 111111   服務器

    }   網絡

    virtual_ipaddress {     # 設置VIP,設置dev和label能夠經過ifconfig查看,不設置也能夠
        192.168.1.250/24 dev enp0s5 label enp0s5:0        
    }
}負載均衡

 

###################### #  LVS配置 ######################oop

virtual_server 192.168.1.250 80 { #設置虛擬lvs服務,VIP PORT
    delay_loop 6
    lb_algo rr
    lb_kind DR
    nat_mask 255.255.255.0
    persistence_timeout 60         #同一個IP地址在60秒內lvs轉發給同一個後端服務器
    protocol TCP

    real_server 192.168.1.102 80 { #設置真實服務器的心跳機制 RID PORT
        weight 1 #權重

        TCP_CHECK {                        #RS server健康檢查部分
            connect_timeout 10            #定義超出10s鏈接超時
            nb_get_retry 3                    #定義重試次數
            delay_before_retry 3           #定義重試時間間隔
            connect_port 80                 #定義健康檢查端口
        }
    }

    real_server 192.168.1.103 80 { #設置真實服務器的心跳機制 RID PORT
        weight 1 #權重

        TCP_CHECK {                        #RS server健康檢查部分
            connect_timeout 10             #定義超出10s鏈接超時
            nb_get_retry 3                    #定義重試次數
            delay_before_retry 3           #定義重試時間間隔
            connect_port 80                 #定義健康檢查端口
        }
    }
}

RS配置:
sudo ifconfig lo:0 192.168.1.100 netmask 255.255.255.255
// 配置虛擬網卡,網卡必須是lo,netmask必須爲255.255.255.255,不然會響應客戶端的arp

修改/etc/sysctl.conf
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
sysctl –p 生效性能

相關文章
相關標籤/搜索