keepalived 配置文件解析


! Configuration File for keepalived
global_defs {                                     #全局定義部分
    notification_email {                          #設置報警郵件地址,可設置多個
        acassen@firewall.loc                      #接收通知的郵件地址
    }                        
    notification_email_from test0@163.com         #設置 發送郵件通知的地址
    smtp_server smtp.163.com                      #設置 smtp server 地址,可是ip或域名.可選端口號 (默認25)
    smtp_connect_timeout 30                       #設置 連接 smtp server的超時時間
    router_id LVS_DEVEL                           #主機標識,用於郵件通知
    vrrp_skip_check_adv_addr                   
    vrrp_strict                                   #嚴格執行VRRP協議規范,此模式不支持節點單播
    vrrp_garp_interval 0                       
    vrrp_gna_interval 0     
    script_user keepalived_script                 #指定運行腳本的用戶名和組。默認使用用戶的默認組。如未指定,默認為keepalived_script 用戶,如無此用戶,則使用root
    enable_script_security                        #如過路徑為非root可寫,不要配置腳本為root用戶執行。
}       

vrrp_script chk_nginx_service {                   #VRRP 腳本聲明
    script "/etc/keepalived/chk_nginx.sh"         #周期性執行的腳本
    interval 3                                    #運行腳本的間隔時間,秒
    weight -20                                    #權重,priority值減去此值要小於備服務的priority值
    fall 3                                        #檢測幾次失敗才為失敗,整數
    rise 2                                        #檢測幾次狀態為正常的,才確認正常,整數
    user keepalived_script                        #執行腳本的用戶或組
}                                             

vrrp_instance VI_1 {                              #vrrp 實例部分定義,VI_1自定義名稱
    state MASTER                                  #指定 keepalived 的角色,必須大寫 可選值:MASTER|BACKUP
    interface ens33                               #網卡設置,lvs需要綁定在網卡上,realserver綁定在回環口。區別:lvs對訪問為外,realserver為內不易暴露本機信息
    virtual_router_id 51                          #虛擬路由標識,是一個數字,同一個vrrp 實例使用唯一的標識,MASTER和BACKUP 的 同一個 vrrp_instance 下 這個標識必須保持一致
    priority 100                                  #定義優先級,數字越大,優先級越高。
    advert_int 1                                  #設定 MASTER 與 BACKUP 負載均衡之間同步檢查的時間間隔,單位為秒,兩個節點設置必須一樣
    authentication {                              #設置驗證類型和密碼,兩個節點必須一致
        auth_type PASS                        
        auth_pass 1111                        
    }                                         
    virtual_ipaddress {                           #設置虛擬IP地址,可以設置多個虛擬IP地址,每行一個
        192.168.119.130                       
    }
    track_script {                                #腳本監控狀態
        chk_nginx_service                         #可加權重,但會覆蓋聲明的腳本權重值。chk_nginx_service weight -20
    }
        notify_master "/etc/keepalived/start_haproxy.sh start"  #當前節點成為master時,通知腳本執行任務
        notify_backup "/etc/keepalived/start_haproxy.sh stop"   #當前節點成為backup時,通知腳本執行任務
        notify_fault  "/etc/keepalived/start_haproxy.sh stop"   #當當前節點出現故障,執行的任務; 
}                                             

virtual_server 192.168.119.130 80  {          #定義RealServer對應的VIP及服務端口,IP和端口之間用空格隔開
    delay_loop 6                              #每隔6秒查詢realserver狀態
    lb_algo rr                                #后端調試算法(load balancing algorithm)
    lb_kind DR                                #LVS調度類型NAT/DR/TUN
    #persistence_timeout 60                   同一IP的連接60秒內被分配到同一台realserver
    protocol TCP                              #用TCP協議檢查realserver狀態
    real_server 192.168.119.120 80 {          
        weight 1                              #權重,最大越高,lvs就越優先訪問
        TCP_CHECK {                           #keepalived的健康檢查方式HTTP_GET | SSL_GET | TCP_CHECK | SMTP_CHECK | MISC
            connect_timeout 10                #10秒無響應超時
            retry 3                           #重連次數3次
            delay_before_retry 3              #重連間隔時間
            connect_port 80                   #健康檢查realserver的端口
        }                                     
    }                                         
    real_server 192.168.119.121 80 {          
        weight 1                              #權重,最大越高,lvs就越優先訪問
        TCP_CHECK {                           #keepalived的健康檢查方式HTTP_GET | SSL_GET | TCP_CHECK | SMTP_CHECK | MISC
            connect_timeout 10                #10秒無響應超時
            retry 3                           #重連次數3次
            delay_before_retry 3              #重連間隔時間
            connect_port 80                   #健康檢查realserver的端口
        }                                     
    }                                         
}                                             

vrrp_instance VI_2 {                          #vrrp 實例部分定義,VI_1自定義名稱
    state   BACKUP                            #指定 keepalived 的角色,必須大寫 可選值:MASTER|BACKUP 分別表示(主|備)
    interface ens33                           #網卡設置,綁定vip的子接口,lvs需要綁定在網卡上,realserver綁定在回環口。區別:lvs對訪問為外,realserver為內不易暴露本機信息
    virtual_router_id 52                      #虛擬路由標識,是一個數字,同一個vrrp 實例使用唯一的標識,MASTER和BACKUP 的 同一個 vrrp_instance 下 這個標識必須保持一致
    priority 90                               #定義優先級,數字越大,優先級越高。
    advert_int 1                              #設定 MASTER 與 BACKUP 負載均衡之間同步檢查的時間間隔,單位為秒,兩個節點設置必須一樣
    authentication {                          #設置驗證類型和密碼,兩個節點必須一致
        auth_type PASS                        
        auth_pass 1111                        
    }                                         
    virtual_ipaddress {                       #設置虛擬IP地址,可以設置多個虛擬IP地址,每行一個
        192.168.119.131                       
    }                                         
}                                             

virtual_server 192.168.119.131 80 {           #定義RealServer對應的VIP及服務端口,IP和端口之間用空格隔開
    delay_loop 6                              #每隔6秒查詢realserver狀態
    lb_algo rr                                #后端調試算法(load balancing algorithm)
    lb_kind DR                                #LVS調度類型NAT/DR/TUN
    #persistence_timeout 60                   #同一IP的連接60秒內被分配到同一台realserver
    protocol TCP                              #用TCP協議檢查realserver狀態
    real_server 192.168.119.120 80 {          
        weight 1                              #權重,最大越高,lvs就越優先訪問
        TCP_CHECK {                           #keepalived的健康檢查方式HTTP_GET | SSL_GET | TCP_CHECK | SMTP_CHECK | MISC
            connect_timeout 10                #10秒無響應超時
            retry 3                           #重連次數3次
            delay_before_retry 3              #重連間隔時間
            connect_port 80                   #健康檢查realserver的端口
        }                                     
    }                                         
    real_server 192.168.119.121 80 {          
        weight 1                              #權重,最大越高,lvs就越優先訪問
        TCP_CHECK {                           #keepalived的健康檢查方式HTTP_GET | SSL_GET | TCP_CHECK | SMTP_CHECK | MISC
            connect_timeout 10                #10秒無響應超時
            retry 3                           #重連次數3次
            delay_before_retry 3              #重連間隔時間
            connect_port 80                   #健康檢查realserver的端口
        }
    }
}

 


免責聲明!

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



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