1. 程式人生 > >keepalived配置手冊(V1.2.24)中文版詳解

keepalived配置手冊(V1.2.24)中文版詳解

建立本文的目的 筆者最近在詳細研究keepalived軟體,發現網上關於這方面的詳細描述較少,需要案例配置引數在新版本中已經失效。keepalived官方網站提供的文件資料,雖然以案例為基礎,提供了較為常用的引數配置,但是筆者發現許多引數並未提及。作為IT行業的人,似懂非懂只能做一個三流的技術人員,本著刨根問題的精神,建立了該篇文章。 本文以keepalived manual pages英文版為基礎而建立的,你可以將該檔案理解為manual pages中文。但筆者並不是單純的文字翻譯,對於文中的功能描述,筆者為驗證其正確性,進行了大量實驗,已確認其描述的正確性。筆者才疏學淺,難免有錯誤的地方,請廣大網友給予批評指正,以便不斷的完善。
注意:文中紅色條目為筆者暫時不能確認其功能的部分 版本:keepalived  1.2.24 考拉先生 GLOBAL CONFIGURATION Global definitions global_defs {      notification_email      {          [email protected]       }      stmp_server 112.3.3.3. 25      stmp_hole_name   #用於指定傳送hole訊息的主機,一般是mx記錄的主機      stmp_connect_timeout 30      router_id my_hostname              #指定一個字串給keepalived,不一定是主機名,預設為本地主機名      vrrp_mcast_group4  224.0.0.18  #指定vrrp的多播ipv4地址,預設是224.0.0.18      vrrp_mcast_group6  ff02::12      #指定vrrp的多播ipv6地址,預設是ff02::12      default_interface  p33p1.3         # 設定使用者static ipaddress的預設網路介面,如果系統沒有eth0介面或者想為多個static ipaddress配置不同的介面時,使用該配置將會簡化配置。      lvs_sync_daemon <INTERFACE> <VRRP_INSTANCE> [id <SYNC_ID>] [MAXLEN <LEN>] [port <PORT>]  [ttl <TTL>] [group <IP ADDR>] 
#該選項沒有詳細的官方文件說明,根據測試發現,該引數作用於ipvsad的sync daemon選項,lvs_sync的狀態根據keepalived的狀態一致,當kill掉master keepalived時,backup keepalive的state轉變為master狀態      lvs_flush                                           #該功能新增於1.2.23版本。啟動keepalived時重新整理lvs配置,如果lvs沒有配置,這不會重新整理      vrrp_garp_master_delay 10                  #設定當keepalived轉變為master後,延遲多少秒傳送第二組gratuitous arp。時間單位為秒,預設5秒,0表示不傳送第二組gratuitous arp傳送。                                                                 #注意第二組傳送和第二次傳送的區別      vrrp_garp_master_repeat 1                  #keepalived狀態轉變為master後,每次傳送多少組grntuitous APR 資訊的數量,預設為5個      vrrp_garp_lower_prio_repeat 1             #當master keepalived接收到一個較低優先順序的廣播後,一次傳送gratuitous apr的數量組      vrrp_garp_master_refresh 60               #master keepalived 每次傳送gratuitous arp的最小時間間隔。預設是0,沒有      vrrp_garp_master_refresh_repeat 2      #master keepalived 每次傳送gratuitous arp訊息的組數量。      vrrp_garp_interval  0.001                     #小數型別,單位秒,在一個網絡卡上每組gratuitous arp訊息之間的延遲時間,預設為0,一個傳送的訊息=n組 arp報文      vrrp_gna_interval    0.000001              #小數型別,單位秒, 在一個網絡卡上每組na訊息之間的延遲時間,預設為0      vrrp_lower_prio_no_advert  
               #如果接收到一個低優先順序的通告,只需要丟棄它,不用傳送其他通告,字元型別:布林值,false/true      vrrp_version <2 or 3>                         #設定vrrp協議版本,預設是版本2      vrrp_iptables                                        #該配置添加於1.2.21版本,新增vrrp_iptables全域性配置選項。 iptables / ip6tables條目始終新增在INPUT鏈的末尾,但對於許多配置,這在處理中太晚了。 此修補程式允許指定要新增規則的鏈名稱,                                                                                #並且還允許新增指定無規則的選項。 如果指定了鏈名稱,則該鏈必須已經存在於iptables和/或ip6tables配置中,並且該鏈將從ip(6)表配置中的適當點呼叫。                                                                  #預設是入站過濾      vrrp_iptables keepalived_in keepalived_out          #或用於出站過濾。注意,出站過濾將不適用於IPv4,因為可以選擇VIP作為出站連線的源地址。 對於IPv6,由於地址已過時,因此不太可能      vrrp_iptables                                                     #不新增任何iptables規則      vrrp_ipset [keepalived [keepalived_if [keepalived6 [keepalived_if6]]]]               #Keepalived可以選擇將ipset與iptables結合使用。 如果是這樣,則可以指定ipset名稱,預設如下。如果沒有指定名稱,則不使用ipsets,否則將通過向先前指定的名稱新增“_if”和/                                                                                                                           #或“6”來構造任何省略的名稱。ipset是iptables的擴充套件,它允許你建立匹配整個地址sets(地址集合)的規則。      vrrp_check_unicast_src                        #該選項允許在unicast模式中,檢查vrrp包的源ip地址是否是unicast peers中的一個      vrrp_skip_check_adv_addr                    #檢查vrrp報文中的所有地址比較耗時,設定此標誌的意思是如果接收的到報文和上一個報文來至同一個路由器,則不執行檢查。預設是跳過檢查      vrrp_strict                                             #嚴格遵守vrrp協議,下面這些功能將會禁止:1.   0 VIP   2. unicast(單播) peers    3. vrrp 版本2的ipv6功能      #當vrrp或checker程序超時時,可以使用下面4個選項。這可以是備vrrp例項變為主vrrp狀態。有時由於主或備系統太過繁忙,導致無法處理vrrp資料包,但這個時候主系統依然還在執行。 這時就需要使用下列四個選項來處理該問題。      vrrp_priority <-20 to 19>                    #設定vrrp子程序優先順序      checker_priority <-20 to 19 >               #設定checker子程序優先順序      vrrp_no_swap                                        #設定vrrp子程序不可交換      checker_no_swap                                   #設定checker子程序不可交換       #keepalived已經構建了對SNMP的支援,keepalived,checker和RFC支援可以單獨啟用/禁用      snmp_sockert udp:1.2.3.4:705           #使用者指定連線到SNMP主代理的套接字(預設 unix:/var/agentx/master),除非使用的是網路空間名稱,預設為udp:localhost:705      enable_snmp_keepalived                    #enable keepalived MIB的vrrp元素的SNMP處理功能      enable_snmp_checker                         #enable keepalived MIB的checker元素的SNMP處理功能      enable_snmp_rfc                                  #enable RFC2787和RFC6527處理功能      enable_snmp_rfcv2                              #enable RFC2787 vrrp MIB的處理功能      enable_snmp_rfcv3                              #enable RFC6527 vrrp  MIB的處理功能      enable_traps                                        #enable SNMP traps功能 } net_namespace NAME                      #設定要執行的網路名稱空間,/var/run/keepalived目錄將被建立為非共享掛載點,例如pid檔案.syslog條目將_NAME附加到ident。注意,不能在重新載入配置是更改名稱空間                                                           # 在Linux協議棧中引入網路名稱空間,是為了支援網路協議棧的多個例項,而這些協議棧的隔離就是由名稱空間來實現的(有點像程序的線性地址空間,協議棧不能訪問其他協議棧的私有資料)。                                                           #需要納入名稱空間的元素包括程序,套接字,網路裝置。程序建立的套接字必須屬於某個名稱空間,套接字的操作也必須在名稱空間內進行,網路裝置也必須屬於某個名稱空間,但可能會改變,因為網路裝置屬於公共資源 instance NAME                                  #如果有多個keepalived例項運作在同一個名稱空間,將會建立一個pid檔案,將NAME作為檔名的一部分,在/var/run/keepalived。 注意:配置重啟時無法更改例項名稱 use_pid_dir                                         #在/var/run/keepalived中建立pid檔案 linkbeat_user_poling                           #輪詢以件車媒體鏈路故障,否則嘗試使用ETHTOOL或MII介面 ##Static routes/address/rules #keepalived可以配置靜態地址,路由和跪著,這些地址不會被vrrpd移除,他們留在伺服器上。如果你的機器上已經有ip和路由,並且你的計算機可以相互ping通對方,則可以不需要這個部分。路由和規則的語法和 ip rule add /ip route add 相同。 #虛擬地址和虛擬路由的語法相同,如果沒有指定dev元素,預設的介面為eth0 static_ipaddress {      192.168.1.1/24 dev eth0  scope  global                 ##指定192.168.1.1/24在eth0,範圍為全域性地址      ...... } static_routes {      192.168.2.0/24 via 192.168.1.100 dev eth0      192.168.100.0/24 table 6909 nexthop     via 192.168.101.1 dev wlan0 onlink weight 1 nexthop via 192.168.101.2 dev wlan0 onlink weight 2      192.168.200.0/24    dev p33p1.2 table 6909 tos 0x04 protocol bird scope link priority 12 mtu 1000 hoplimit 100 advmss 101 rtt 102 rttvar 103 reordering 104 window 105 cwnd      106 ssthresh lock 107 realms PQA/0x14 rto_min 108 initcwnd 109 initrwnd 110 features ecn      2001:470:69e9:1:2::4 dev p33p1.2 table 6909 tos 0x04 protocol bird scope link priority 12 mtu 100 hoplimit 100advmss 101 rtt 102 rttvar 103 reordering 104 window 105  cwnd           106 ssthresh      lock 107 rto_min 108 initcwnd 109 initrwnd 110 features ecn      ... } static_rules {      from 192.168.2.0/24 table 1      to 192.168.2.0/24 table 1      from 192.168.28.0/24 to 192.168.29.0/26 table small iff p33p1 oif wlan0 tos 22 fwmark 24/12 preference 39 realms 30/20 goto 40      to 1:2:3:4:5:6:7:0/112 from 7:6:5:4:3:2::/96 table 6908      ... } ##VRRPD CONFIGURATION      該選項包含4個子塊: subblocks of VRRP script(s), VRRP synchronization group(s), VRRP gratuitous ARP and unsolicited neighbour advert delay group(s) and VRRP instance(s) ##VRRP script(s) #新增一個用於定期指定的指令碼,它的退出碼將被所有的VRRP instance記錄,它以非0的權重監視 vrrp_script<SCRIPT_NAME> {      script   <STRING>|<QUOTED-STRING>   #執行指令碼的路徑      interval <INTEGER>    #呼叫指令碼兩次之間的間隔,預設為1秒      timeout <INEGER>     #第二次呼叫指令碼後多長時間沒有迴應的超時時間      weight  <INTEGER:-254..254>   #根據該權重,動態調整呼叫該指令碼選項的vrrp例項優先順序,預設是2. 當指令碼執行碼為0,權重大於0時,vrrp例項優先順序增加;當指令碼執行碼為非0,權重小於0時,vrrp例項優先順序減小,其他情況優先順序不變。                                                        #當該值為0時,不改變例項的優先順序      rise <INTEGER>    ##設定指令碼返回值連續為0的次數。加入該引數後,當指令碼執行碼連續為0的次數為rise次,且權重大於0時,vrrp例項優先順序增加      fall  <INTEGER>    ##設定指令碼返回值連續為0的次數。加入該引數後,當指令碼執行碼連續為非0的次數為rfall次,且權重小於0時,vrrp例項優先順序增加 } ##VRRP synchronization group(s)  #字串型別,共同故障轉移的ip群組的名稱 vrrp_sync_group VG_1 {      group {      inside_network      #每個vrrp_instance 的名稱      ouside_network      #每個vrrp_instance 的名稱  暫沒有查詢到相關的詳細文件,關於這兩個選項的使用者,網上的解釋各有差異,在lvs的DR和NAT模式中,可能用法各不相同,後期驗證      }      ##指定選項中帶有引數是,需用引號,如“ notify_master /path/to_master.sh   master”      notify_master /path/to_master.sh   #轉換成master時,執行的指令碼,網上的一種用法是,執行一個郵件傳送指令碼      notify_backup /path/to_backup.sh   ##轉換成backup時,執行的指令碼,網上的一種用法是,執行一個郵件傳送指令碼      notify_fault  /path/to_fault.sh    ##轉換成fault狀態是,執行的指令碼,網上的一種用法是,執行一個郵件傳送指令碼      #該一下幾個選項,使用者任何狀態的轉換。"notify“指令碼在notify_* 之後呼叫,並使用keepalived提供的3個引數執行(所有notify中沒有指定引數),如果使用下面選項,建議停用上面選項      #$1        #"GROUP|INSTANCE",引數為GROUP或INSTANCE      #$2        #指定GROUP或INSTANCE的名稱      #$3        #“MASTER"|"BACKUP"|"FAULT",指定轉換的狀態      notify /path/notify.sh      smtp_alter    #當狀態發生變化後,傳送通知郵件,使用配置檔案上面”global_defs“定義的郵件地址      global_tracking   #所有的VRRP共享相同的跟蹤配置 }     #end of vrrp_sync_group VG_1 VRRP grantuitous ARP and unsolicited neighbour advert delay group(s) #指定VRRP grantuitous ARP 和 unsolicited neighbour advert設定,這是用於當上遊的角環境無法處理大量的ARPS/NAS流。 #當限制適用的介面為物理介面時,使用“interface”;當限制適用的介面為一組介面時,使用“interfaces”。 #如果已經設定了vrrp_grap_interval/vrrp_gna_interval,且在garp_group中沒有指定的介面,將使用全域性配置引數 garp_group {      garp_interval <DECIMAL>   #設定傳送gratuitous ARPs時,兩次之間的延時時間。單位秒,解析度微秒      gna_interval  <DECIMAL>    #設定兩次unsolicited neighbour advers時間的延時時間。單位秒,解析度微秒      interface <STRING>             #用於以上兩個選項的物理介面      interfaces {                          #用於以上兩個選項的介面列表          <STRING>          <STRING>           ...      } }   end of garp_group VRRP instance(s) #描述vrrp_sync_group中每個例項組的可移動ip。這裡描述了兩個ip(inside_network outsid和outside_network),在機器“my_host_name”,它們屬於同一個組VG_1,並且在任何情況下都會一起轉換狀態。 #你將需要為“outside_network”寫入另一個塊中 vrrp_instance inside_network {      state MASTER                #初始狀態,MASTER|BACKUP ,一旦有其他機器加入,將會舉行選舉,具有最高優先順序的機器將會成為MASTER,所以這個條目的並不重要      interface eth0                #指定該例項使用者vrrp的網絡卡,用於傳送vrrp      user_vmac [<VMAC_INTERFACE>]     #指定VRRP虛擬mac地址      vmac_xmit_base          #從基本介面傳送和接受vrrp訊息,而不是VMAC介面      native_ipv6                    #強制instance使用ipv6(當混合ipv4和ipv6的配置)      dont_track_primary     #忽略VRRP介面錯誤      track_interface {               #可選項,以下網絡卡中如果任意個網絡卡不通,所有的網絡卡都會進入FAULT狀態           eth0           eth1           eth2 weight <-254..254>           ...      }      track_script {           <SCRIPT_NAME>   #增加一個跟蹤指令碼到網口上(<SCRIPT_NAME>是vrrp_script條目的名稱)           <SCRIPT_NAME> weight <-254..254>      }      #在網絡卡上,用於繫結vrrpd的預設ip是主ip,如果你想隱藏本地vrrpd,可以使用這個ip作為多播和單播vrrp報文的源地址(如果是多麼,vrrpd將會接收到資料包,無論使用什麼樣的源IP地址)      mcast_src_ip <IPADDR>          #指定多播源ip地址      unicast_src_ip <IPADDR>          #指定單播源ip地址      version <2 or 3>           #指定執行在這個網絡卡上的vrrp版本,預設使用的是全域性配置的引數“vrrp_version”      unicast_peer {           #不通過vrrp組播群組傳送vrrp廣播報文。相反,通過單播的方式將廣告發送到一下ip列表中。在某些不支援多播的網路環境中          <IPADDR>           #使用VRRP  FSM(Finite State Machine有限狀態機)和功能也是不錯的。           ...                         #指定的ip可以是IPV4 和IPV6      }      #指定網絡卡口設定,和全域性引數一樣,預設使用的是全域性引數       garp_master_delay     10      garp_master_repeat     1      garp_lower_prio_delay     10      garp_lower_prio_repeat     1      garp_master_refresh     10      garp_master_refresh_repeat     2      garp_interval     100      gna_interval      100      lower_prio_no_advert [<BOOL>]        #任意一個0-255之間的數字      #使用者區分執行在相同NIC(和相同套接字)上的vrrpd的多個例項      virtual_router_id 51      advert_int 1          #VRRP廣告的時間間隔(e.g. 0.92)(使用預設值)      #注意:2004年,RFC3768C從VRRPv2規範中刪除了認證。使用此選項是不合規的,可能會導致一些問題。如果可能,儘量避免使用,除非使用單播是,他可能會有幫助。      authentication {     #認證塊           #PASS|AH           #PASS-Simple password(建議)           #AH-IPSEC(不推薦)           auth_type PASS           auth_pass 12345668     #使用者訪問vrrpd的密碼,在所有的機器上應該是相同的。只會使用前8個字元。      }      #指定狀態在MASTER與BACKUP之間切換時,新增或刪除的ip地址。其他與之有相同條目配置的機器,將會發送想法的狀態轉換。      virtual_ipaddress {           <IPADDR>/<MASK> brd <IPADDR> dev <STRING> scope <SCOPE> label <LABEL>           192.168.200.17/24 dev eth1           192.168.200.18/24 dev eth2    label eth2:1      }     #重VRRP中排出一部分VRRP ip地址     #     #對於在同一個網口上具有大量ip(例如有200個)的情況。為了減少廣告發送的資料包的數量,你可以重廣告中排除一部分ip。     #ip的新增或刪除均為vritual_ipaddress中的。如果你希望能夠新增ipv4和ipv6地址的混合,你也可以使用,因為virtual_ipaddress中所有的地址必須是同一系列。     virtual_ipaddress_excluded {          <IPADDR>/<MASK> brd <IPADDR> dev <STRING> scope <SCOPE>          <IPADDR>/<MASK> brd <IPADDR> dev <STRING> scope <SCOPE>      ...     }     #當狀態改變時,增加或刪除route    virtual_routes {        #src <IPADDR> [to] <IPADDR>/ <MASK> via|gw <IPADDR> [ or<IPADDR>]  dev <STRING> scope <SCOPE> table <TABLE>        src 192.168.100.1  to   192.168.109.0/24   via  192.168.200.254 dev eth1        192.168.100.0/24 via 192.168.200.254 dev eth1        192.168.111.0/24  dev   eth2        192.168.112.0/24   via 192.168.100.254        192.168.113.0/24   via  192.168.200.254 or  192.168.100.254 dev eth1        blackole 192.168.114.0/24        0.0.0./0 gw 192.168.0.1 table 100 #設定預設閘道器為表100        }    virtual_rules {     #vrrpd狀態發生變化是,新增或刪除rules        from 192.168.2.0/24 table 1        to 192.168.2.0/24 table 1       }     accept           #允許非master所有者處理髮送給VIP的資料包     nopreempt    #當一臺高優先順序的機器出現後,vrrp通常會搶佔低優先順序的機器。“nopreempt”允許較低優先順序的機器繼續維持“master”角色,甚至當一臺                       #高優先順序的機器恢復線上狀態。注意:為了這個工作,這個初始化的條目必須為backup。     preempt        #向後相容     skip_check_adv_addr [no|off|true|false|yes|no]     #當該選項中沒有指定任何引數是,預設為on。沒有指定該條目是,預設使用全域性條目vrrp_skep_check_adv_addr.                                                                              #詳情檢視   vrrp_skep_check_adv_addr     strict_mode [on|off|true|false|yes|no]                    #如果該條目沒有指定引數,預設為on      #啟動keepalive後或者發現了一個低優先順序的master後,多少秒開始搶佔      #這裡需禁用”nopreempt“功能,該選項才能生效      #範圍為:0-3000秒,預設0      #注意:為使該選項工作,初始狀態必須是BACKUP      preempt_delay 300 #單位秒     #調式等級,還沒有實現,建議不使用該選項     debug  <LEVEL>   #範圍為:0-4      #通知指令碼      notify_master  <STRING>|<QUOTED-STRING>      notify_backup <STRING>|<QUOTED-STRING>      notify_fault <STRING>|<QUOTED-STRING>      notify_stop <STRING>|<QUOTED-STRING>      notify <STRING>|<QUOTED-STRING>      smtp_alert }   #  end of instance  #用於SSL_GET check的引數 SSL {                password <STRING>          #密碼                ca <STRING>                    #ca檔案                certificate <STRING>          #certificate檔案                key <STRING>                    #key檔案     } #########  end of instance  ########## LVS CONFIGURATION      包含子塊:Virtual server group(s)和Virtual server(s)      子塊包含ipvsadm(8)的引數 Virtual server group(s)      #可選      #這個群組執行一個真實伺服器的服務屬於多個虛擬服務,並且只進行一次健康檢查,僅用於大型lvs  virtual_server_group <STRING> {           #VIP 埠           <IPADDR> <PORT>           <IPADDR> <PORT>           ...           #ip地址範圍           #e.g. 192.168.200.1-10           <IPADDR RANGE> <PORT> #VIP範圍           <IPADDR RANGE> <PORT>           ...           fwmark <INT>  #fwmark           fwmark <INT>   ... }     #end of  virtual_server_group ######## end of  virtual_server_group ######### Virtual server(s) # 一個virtual_server可以申明一個vip和port(ip和port是成對的) fwmark<INT> (virtual server ) group <STRING> virtual_server IP port  |  virtual_server fwmark int  |  virtual_server group string      {      delay_loop <INT>     #延遲輪詢時間      #LVS排程演算法      lb_algo rr|wrr|lc|wlc|lblc|sh|dh      ops #暫未詳細說明      lb_kind NAT|DR|TUN     #LVS轉發方法      persistence_engine <STRING>           #LVS persistence engine name      persistence_timeout [<INT>]              #LVS持續會話超時時間,預設6分鐘,單位秒      persistence_granularity <NETMASK> #LVS顆粒度掩碼      protocol TCP|UDP|SCTP      #第四層網路協議      ha_suspend            #加入虛擬服務的ip沒有設定,則暫停healthchecker       lvs_sched                #lb_alog的同義詞      lvs_methlod            #lb_kind的同義詞      virtualhost <STRING>     #使用者HTTP_GET或SSL_GET的虛擬主機字串,eg virtualhost www.firewall.loc      alpha            #在啟動daemon時,預設所有的RS是down狀態,healthcheck健康檢查failed。這有助於其啟動時誤報錯誤,預設情況下禁用alpha模式           omega          #開啟omega模式,清除rs時會執行相應的指令碼(rs的notify_up,quorum_up),預設為禁用模式           quorum <INT> 設定     #指定池中正常提供虛擬服務(VS)所需要的所有活動伺服器的總weight的最小權重值。預設是1      hysteresis <INT>          #延遲係數,與quorum配置使用      quorum_up <STRING>|<QUOTED-STRING>           #當quorum增長時,設定執行該指令碼。eg quorum_up " ip addr add 114.11x.9x.185/32 dev lo       quorum_down <STRING>|<QUOTED-STRING>      #quorum減小時,設定執行的指令碼      ip_family inet|inet6     #用於fwmark服務的ip系列,可選      sorry_server <IPADDR> <PORT>   #當時所有的真實伺服器down後,增加一個sorry伺服器      sorry_server_inhibit           #將inhibit_on_faulure做使用者指令sorry_server      #為每個正式伺服器配置說明      real_server <IPADDR> <PORT>        {           weihht <INT>                              #權重,預設:1           inhibit_on_failure                                        #當時weight為0時,健康檢查偵測失效           notify_up <STRING>|<QUOTED-STRING>                #指定伺服器up時,執行的指令碼           notify_down <STRING>|<QUOTED-STRING>           #指定伺服器down時,執行的指令碼           uthreshold <INTERGER>                 #設定連線到這臺RS的最大連線數           lthreshlod   <INTERGER>                 #設定這臺RS的最小連線數           #設定健康檢查           #HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK           #HTTP SSL healthchecker           HTTP_GET|SSL_GET           {              #一個url用於測試,你可以配置多個條目測試               url {                      path <STRING>         #eg path  /,or path /mrtg2/                      digest <STRING>       #健康檢查需要狀態碼或需要狀態碼和摘要,摘要是通過genhash計算出來的,eg digest 9b3a0c85a887a256d6939da88aabd8cd                      status_code <INT>    #HTTP標頭中返回的狀態碼,eg status_code 200,預設是任何2xx值                       }               nb_get_retry <INT>       #最大重試次數               delay_befor_retry <INT> #每次重試間隔時間               connect_ip <IP ADDRESS>     #可選,用於連線的ip,預設是realserver的ip               connect_port <PORT>               #可選,用於連線的埠,預設是realserver的埠               bindto <IP ADDRESS>               #可選,指定用於發起連線的網口               bind_port    <PORT>                #可選,用於發起連線的源埠               connect_timeout <INTEGER>     #可選,指定連線超時時間               fwmark  <INTEGER>                  #可選,用於fwmark所有外出的檢查包               warmup <INT>  #可選,用於指定隨機延遲開始的初始檢查時間,最大N秒。用於分散到同一個時刻多個到同一臺RS的檢查。                                         #最大時間為delay_loop的值,指定為0時,禁用該功能。                                         #如果後端有眾的realserver時,如果按精確時間傳送檢測報文,可能會造成本機的網路堵塞,因此使用該引數,指定一個時間,將傳送檢測的報文時間時間差                                         #錯開一點,以免造成本機的堵塞。           }      TCP_CHECK      {            connect_ip <IP ADDRESS>           #可選,用於連線的ip,預設是realserver的ip            connect_port <PORT>                #可選,用於連線的埠,預設是realserver的埠            bindto <IP ADDRESS>                #可選,指定用於發起連線的網口            bind_port <PORT>                     #可選,用於發起連線的源埠            connect_timeout <INTEGER>      #可選,指定連線超時時間            fwmark <INTEGER>                     #可選,用於fwmark所有外出的檢查包                     warmup <INT>  #可選,用於指定隨機延遲開始的初始檢查時間,最大N秒。用於分散到同一個時刻多個到同一臺RS的檢查。                                      #最大時間為delay_loop的值,指定為0時,禁用該功能。                                         #如果後端有眾的realserver時,如果按精確時間傳送檢測報文,可能會造成本機的網路堵塞,因此使用該引數,指定一個時間,將傳送檢測的報文時間時間差                                             #錯開一點,以免造成本機的堵塞。            retry <INT>               #檢測到一臺活動伺服器失敗,重新檢查的次數。預設:1            delay_before_retry <INT>     #重新檢查前的延遲時間,預設:1      }      SMTP_CHECK      {            connect_ip <IP ADDRESS>      #可選,用於連線的ip,預設是realserver的ip            connect_port <PORT>           #可選,用於連線的埠,預設是25            bindto <IP ADDRESS>           #可選,指定用於發起連線的網口            bind_port <PORT>                #可選,用於發起連線的源埠            connect_timeout <INTEGER>           #可選,指定連線超時時間            fwmark <INTEGER>                #可選,用於fwmark所有外出的檢查包            #一個可選的主機介面檢查。如果沒有該指令,這隻檢查realserver的ip地址           host {                      connect_ip <IP ADDRESS>      #可選,用於連線的ip,預設是realserver的ip                 connect_port <PORT>           #可選,用於連線的埠,預設是25                 bindto <IP ADDRESS>           #可選,指定用於發起連線的網口                 bind_port <PORT>                     #可選,用於發起連線的源埠                 connect_timeout <INTEGER>     #可選,每個主機的連線超時時間。預設是outer-scope(外部範圍)的超時連線                 fwmark <INTEGER>                #可選,用於fwmark所有外出的檢查包                  }            retry <INT> #檢測到一臺活動伺服器失敗,重新檢查的次數。            delay_before_retry <INT>                     #重新檢查前的延遲時間            helo_name <STRING>|<QUOTED-STRING>     #可選,使用者SMTP HELO請求的字元            warmup <INT>                 #可選,用於指定隨機延遲開始的初始檢查時間,最大N秒。用於分散到同一個時刻多個到同一臺RS的檢查。                                                     #最大時間為delay_loop的值,指定為0時,禁用該功能。                                                     #如果後端有眾的realserver時,如果按精確時間傳送檢測報文,可能會造成本機的網路堵塞.                                                           #因此使用該引數,指定一個時間,將傳送檢測的報文時間時間差錯開一點,以免造成本機的堵塞。            } #end of  SMTP_CHECK      #混合檢查      MISC_CHECK      {       misc_path <STRING>|<QUOTED-STRING>    #外部指令碼或程式       misc_timeout <INT>     #指令碼執行超時時間       warmup <INT>  #可選,用於指定隨機延遲開始的初始檢查時間,最大N秒。用於分散到同一個時刻多個到同一臺RS的檢查。                                  #最大時間為delay_loop的值,指定為0時,禁用該功能。                                  #如果後端有眾的realserver時,如果按精確時間傳送檢測報文,可能會造成本機的網路堵塞,因此使用該引數,指定一個時間,將傳送檢測的報文時間時間差                                 #錯開一點,以免造成本機的堵塞。            misc_dynamic     #如果設定,使用來是healthchecker的推出發動態調整權重如下:                                #exit status 0:svc檢查成功,權重不變                                #exit status 1:svc檢查失敗                                #exit status 2-255:svc檢查成功,權重更改為退出狀態碼減去2.(eg:退出狀態碼為255,權重為255-2=253)      }   } # end of  realserver } #end of virtual

相關推薦

keepalived配置手冊(V1.2.24)中文版

建立本文的目的 筆者最近在詳細研究keepalived軟體,發現網上關於這方面的詳細描述較少,需要案例配置引數在新版本中已經失效。keepalived官方網站提供的文件資料,雖然以案例為基礎,提供了較為常用的引數配置,但是筆者發現許多引數並未提及。作為IT行業的人,似懂非懂

[js高手之路]深入淺出webpack教程系列2-配置文件webpack.config.js

基本用法 tle webpack 函數 ges 配置 ref 高手之路 pack 接著上文,重新在webpack文件夾下面新建一個項目文件夾demo2,然後用npm init --yes初始化項目的package.json配置文件,然後安裝webpack( npm inst

Apache2 httpd.conf配置檔案中文版

Apache2 httpd.conf配置檔案中文版詳解## 基於 NCSA 服務的配置檔案。##這是Apache伺服器主要配置檔案。#它包含伺服器的影響伺服器執行的配置指令。#參見以取得關於這些指令的詳細資訊##不要只是簡單的閱讀這些指令資訊而不去理解它。#這裡只是做了簡單的說明,如果你沒有參考線上檔案,你就

zabbix 4.0.0配置手冊2)zabbix server端原始碼包安裝

zabbix監控原理     Agentd安裝在被監控的主機上,Agent負責定期收集客戶端本地各項資料,併發送至Zabbix Server端,Zabbix Server收到資料,將資料儲存到資料庫中,使用者基於Zabbix WEB可以看到資料在前端展現影象。當Zabbix監

阿里巴巴Java開發手冊v1.2.0網頁版

前言 ​ 《阿里巴巴Java開發手冊》是阿里巴巴集團技術團隊的集體經驗總結,經歷了多次大規模一線實戰的檢驗及不斷的完善,反饋給廣大開發者。現代軟體行業的高速發展對開發者的綜合素質要求越來越高,因為不僅是程式設計知識點,其它維度的知識點也會影響到軟體的

Apache httpd.conf配置文件AllowOverride參數

put tracking 指令 utf 逗號 browser write icon directory AllowOverride從字面上解釋是允許覆蓋的意思,即Apache允許另一配置文件覆蓋現有配置文件。 我們通常利用Apache的rewrite模塊對URL進行重寫,r

systemd配置文件及管理方法

systemd一、systemd文件夾配置文件夾: systemd 配置文件存在於以下三個文件夾中: ①/etc/systemd/system 存放系統啟動的默認級別及啟動的unit的軟連接,優先級最高。②/run/systemd/system,系統執行過程中產生的服務腳本,優先級次

[js高手之路]深入淺出webpack教程系列3-配置文件webpack.config.js(下)

json 學習 所在 npm chunk target get lan cnblogs 本文繼續接著上文,繼續寫下webpack.config.js的其他配置用法. 一、把兩個文件打包成一個,entry怎麽配置? 在上文中的webpack.dev.config.js中,用數

Nginx配置文件nginx.conf中文

free /var/ /dev/ 配置文件 passwd 運行 bus body 虛擬主機 #定義Nginx運行的用戶和用戶組user www www; #nginx進程數,建議設置為等於CPU總核心數。worker_processes 8; #全局錯誤日誌定義類型,[

Android面試收集錄2 Broadcast Receiver

定義 pla tro 一個 安全性 ont button ova 運行 1.Broadcast Receiver廣播接收器簡單介紹 1.1.定義 Broadcast Receiver(廣播接收器),屬於Android四大組件之一 在Android開發

MYSQL數據庫配置文件與權限

net index 域名解析 eap iso 記錄 expire 隊列 sin “1” MYSQL配置文件常用參數說明:bind-address:MYSQL實例啟動後綁定的IPport : MYSQL實例啟動後監聽的端口socket: 本地SOCKET方式登錄MYSQL時S

CentOS6.5配置MYSQL一主多從

ali ati In restart 配置文件 left 主庫 vim 數據庫 一、環境 1 操作系統 :CentOS 6.5 2 數據庫版本:MySQL 5.6.27 3 主機A:192.168.1.1 (Master) 4 從機B:192.168.1.2 (

Spring Boot 核心配置文件 bootstrap & application

公眾 官方 boot str 解密 額外 就是 應用程序 app 用過 Spring Boot 的都知道在 Spring Boot 中有以下兩種配置文件 bootstrap (.yml 或者 .properties) application (.yml 或者 .prope

(總結)Nginx配置文件nginx.conf中文

頁面 ulimit 正常 index.php 獲取 權重 bsd types keepal PS:Nginx使用有兩三年了,現在經常碰到有新用戶問一些很基本的問題,我也沒時間一一回答,今天下午花了點時間,結合自己的使用經驗,把Nginx的主要配置參數說明分享一下,也參考了一

Tomcat安裝、配置、優化及負載均衡

error png cache 新的 ip地址 ace ppa 不同步 工作目錄 一、常見JavaWeb服務器 1、WebLogic:是BEA公司的產品、WebSphereAS:是IBM公司的產品、JBossAS:紅帽公司的產品,可以自行了解 2、Tomcat服務器:S

Spring MVC 配置檔案dispatcher-servlet.xml 檔案

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframew

[Unity2018.2]ShaderGraph更新

洪流學堂,讓你快人幾步!本文首發於洪流學堂微信公眾號。 洪流學堂公眾號回覆節點,獲取ShaderGraph節點詳解PDF檔案(帶目錄)。 ShaderGraph 2018.2 更新詳解 在2018.1中,Shader Graph作為Unity的新功能,以預覽版

%date~0,4%和 %time~0,2%等用法

在windows中,有個原始並且功能強大的批處理,好像是被人遺忘了,比如博主最近在一個專案中就用到它,非常好用。今天就和博主一直來看看用批處理生動生成每日的資料夾。 為了能正確地生成每天的日期資料夾,請先將本機時間的短日期格式設定為yyyy-MM-dd。   然後就開始寫bat批處理檔案了,新

【ML_Preparation 2 】Anaconda 及多 Python 版本切換實現

1 Anaconda具體是用來幹什麼的 根據其主頁介紹:https://www.anaconda.com/what-is-anaconda/ Anaconda - The Most Popular Python Data Science Platform Anaconda Distr

Vmstat -SM 2資訊命令-

一、前言 vmstat命令:  用來獲得有關程序、虛存、頁面交換空間及 CPU活動的資訊。這些資訊反映了系統的負載情況 二、虛擬記憶體執行原理 在系統中執行的每個程序都需要使用到記憶體,但不是每個程序都需要每時每刻使用系統分配的記憶體空間。當系統執行所