keepalived.conf 文件詳解

安裝完成以後,生成的配置文件放置於:/usr/local/keepalived/etc/keepalived/keepalived.conf
官方提供了很多模板性的配置文件:/usr/local/keepalived/etc/keepalived/samples
建議將配置文件放置於: /etc/keepalived/keepalived.conf
若是運用不指定配置文件,他能夠直接調用/etc/keepalived/keepalived.conf中的配置文件 算法

接下來,詳細說明配置文件中的各項含義: 服務器

#全局定義塊,如下模塊不可省略,必須存在。
global_defs {
notification_email {
email #若有故障,發郵件報警的地址,通常不採用,能夠隨意填寫
} 網絡

notification_email_from email
smtp_server host
smtp_connect_timeout num #郵件服務連接超時的最長時間
lvs_id string #Lvs負載均衡器標識,在一個網絡裏面,請保持他是惟一性。 負載均衡

} oop

#VRRP實例定義塊

vrrp_sync_group string {  #肯定失敗切換(FailOver)包含的路由實例個數。即在有2個負載均衡器的場景,一旦某個負載均衡器失效
group {
string #備用的負載均衡的服務器名
string
} url

vrrp_instance string { #前面定義的後備的負載均衡的服務器名 spa

state MASTER|BACKUP #只有MASTER和BACKUP兩種狀態,都必須保持大寫。 router

interface string #進行通訊的端口,如eth0,eth1 server

mcast_src_ip @IP #真實的IP地址 接口

lvs_sync_daemon_interface string #負載均衡器之間的監控接口。若是採用DR模式,能夠保持和通訊端口一致。

virtual_router_id num #這個標識是同一個vrrp實例使用惟一的標識。即同一個vrrp_stance,MASTER和BACKUP的virtual_router_id是一致的,同時在整個vrrp內是惟一的。

priority num #權重,數值越大,權重越大,Master大於Slave。

advert_int num #Master和Slave負載均衡器之間同步檢查的時間間隔,單位:秒

smtp_alert

authentication { #Master和Slave之間認證的方式

auth_type PASS|AH

auth_pass string #認證的祕密

}

virtual_ipaddress { # Block limited to 20 IP addresses

IP
IP
IP

}

virtual_ipaddress_excluded { # Unlimited IP addresses number

IP
IP
IP

}

#虛擬服務器定義塊

virtual_server (@IP PORT)|(fwmark num) { #上面定義的virtual_ipaddress,須要添加端口

delay_loop num #服務健康檢查週期,單位:秒

lb_algo rr|wrr|lc|wlc|sh|dh|lblc #負載均衡的調度算法方式,通常使用rr或者wlc。

lb_kind NAT|DR|TUN #負載均衡轉發規則,通常採用DR

(nat_mask @IP) #地址掩碼,可不填

persistence_timeout num #會話保持時間,單位:秒。若是是動態服務,建議開啓。

persistence_granularity @IP

virtualhost string

protocol TCP|UDP #通訊協議,有

sorry_server @IP PORT

real_server @IP PORT { #真實IP地址

weight num #權重值,數值越大,權重越高,分發的可能越大。

TCP_CHECK {

connect_port num #檢查端口

connect_timeout num #檢查超時時間

}

}

real_server @IP PORT {

weight num

MISC_CHECK {

misc_path /path_to_script/script.sh

(or misc_path 「/path_to_script/script.sh 」)

}

}

real_server @IP PORT {

weight num

HTTP_GET|SSL_GET {

url { # You can add multiple url block

path alphanum

digest alphanum

}

connect_port num

connect_timeout num

nb_get_retry num

delay_before_retry num

}

}

}

keepalived 實例

Master 服務器

#guration File for keepalived (Master Server)

#writed by eric.w.t 2011/04/12

###################################
#   global define
###################################

global_defs {
notification_email {
mesopodamia@gmail.com
}
notification_email_from sns-lvs@gmail.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

####################################
#   vrrp define
####################################

vrrp_sync_group VGM {
group {
VI_1
}
}

vrrp_instance VI_1 {

state MASTER
interface eth0
virtual_router_id 110
priority 100
advert_int 1
virtual_ipaddress {
10.249.0.208
}
}

#####################################
#   virtual machine setting
#####################################

virtual_server 10.249.0.208 80 {
delay_loop 6
lb_algo rr
lb_kind NAT
nat_mask 255.255.255.0
protocol TCP
persistence_timeout 20

real_server 10.249.0.254 80 {

weight 10
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}

}

Slave 服務器配置

#guration File for keepalived (Slave Server)

#writed by eric.w.t 2011/04/12

###################################
#   global define
###################################

global_defs {
notification_email {
mesopodamia@gmail.com
}
notification_email_from sns-lvs@gmail.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

####################################
#   vrrp define
####################################

vrrp_sync_group VGM {
group {
VI_1
}
}

vrrp_instance VI_1 {

state SLAVE
interface eth0
virtual_router_id 110
priority 99
advert_int 1
virtual_ipaddress {
10.249.0.208
}
}

#####################################
#   virtual machine setting
#####################################

virtual_server 10.249.0.208 80 {
delay_loop 6
lb_algo rr
lb_kind NAT
nat_mask 255.255.255.0
protocol TCP
persistence_timeout 20

real_server 10.249.0.254 80 {

weight 10
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}

}

相關文章
相關標籤/搜索