实现功能:
A B 双机, 正常情况下A绑定vip1, B绑定vip2;顶层通过dns解析将不同的域名分别指向其中一个vip, 以充分利用服务器资源;
在发生故障时,A或B上同时绑定两个VIP。
在大流量的情况下不建议这么用,如果AB 都接近满载,一旦发生故障,其中一台的流量全部导到另一台,可能很快将另一台服务器也压崩。
仅作测试及小流量情况又不想浪费备机资源的情况下使用。
sever:
A: 192.168.80.138
B: 192.168.80.139
vip1: 192.168.80.130
vip2: 192.168.80.170
keepalived配置
A:
global_defs {
notification_email {
}
notification_email_from [email protected]
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
# vrrp_strict #在keepalived的服务器上配合使用nginx或haproxy时,需要把这一项注掉,否则VIP ping不通,80端口也无法正常访问
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER
interface ens37
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.80.130
}
}
vrrp_instance VI_2 {
state BACKUP
interface ens37
virtual_router_id 59
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.80.170
}
}
B.
global_defs {
notification_email {
}
notification_email_from [email protected]
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
# vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.80.130
}
}
vrrp_instance VI_2 {
state MASTER
interface ens33
virtual_router_id 59
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.80.170
}
}
A B 配置区别不大,主要在于针对每个VIP各自的角色不同以及优先级别的不同。
vrrp_instance VI_2 vrrp实体
virtual_router_id 一个vip针对的vrrp实体以id区分,id相同两个实例中的网卡匹配相同的vip
vrrp_strict 严格执行vrrp协议,在使用nginx或haproxy这类服务配合keepalived的时候,需要注掉。如果配置lvs使用是否需要注掉还需要验证?