Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1021652
  • 博文数量: 361
  • 博客积分: 25
  • 博客等级: 民兵
  • 技术积分: 1759
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-22 23:18
个人简介

学海无涯 个人blog lnmps.com 新站

文章分类

全部博文(361)

文章存档

2017年(1)

2015年(2)

2014年(55)

2013年(303)

分类: LINUX

2013-10-03 19:13:47

安装完成之后,生成的配置文件放置于:/usr/local//etc//.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 #邮件服务链接超时的最长时间
_id string #Lvs负载均衡器标识,在一个网络里面,请保持他是唯一性。

}

#VRRP实例定义块

vrrp_sync_group string {  #确定失败切换(FailOver)包含的路由实例个数。即在有2个负载均衡器的场景,一旦某个负载均衡器失效
group {
string #备用的负载均衡的服务器名
string
}

vrrp_instance string { #前面定义的后备的负载均衡的服务器名

state MASTER|BACKUP #只有MASTER和BACKUP两种状态,都必须保持大写。

interface string #进行通信的端口,如eth0,eth1

mcast_src_ip @IP #真实的IP地址

_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
}
}

}

参考文档 :

http://www.keepalived.org/documentation.html

阅读(1673) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~