问题:
1.lvs会挂,业务下线,单点故障
2.RS会挂,一部分用户会请求异常,lvs还存有这个RS的负载记录
解决:
单点故障的解决方式:它是一个,一个有问题,可以用一堆:一变多!
多点 形式 1)主备 2)主主
lvs 内核中有模块:ipvs 增加代码 or 第三方实现
keepalived代替人自动运维,解决单点故障,实现HA
1.监控自己服务
2.Master通告自己还活着,Backup监听Master状态,Master挂了,一堆Backup推举出一个新的Master
3.配置:vip 添加ipvs keepalived是有配置文件
4.对后端server做健康检查
keepalied是一个通用工具,主要作为HA实现
nginx,可以作为公司的负载均衡来用,ngnx成为单点故障,也可用keepalived来解决
学习keepalived
node01: 清一下lvs配置
ipvsadm -ln
ipvsadm -C
ipvsadm -ln
卸一下vip
ifconfig eth0:8 down
node01,node04
yum install keepalived -y
node04 yum install keepalived ipvsadm -y
cd /etc/keepalived
cp keepalived.conf keepalived.conf.bak
vi keepalived.conf
vrrp : 虚拟路由冗余协议
node01~
vrrp_instance VI_1{
state MASTER // node04 BACKUP
interface eth0
virtual_router_id 51
priority 100 // node04 50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddres{
192.168.150.100/24 dev eth0 label eth0:3
}
}
virtual_server 192.168.150.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 0
protocol TCP
real_server 192.168.150.12 80 {
weight 1
HTTP_GET{
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.150.13 80 {
weight 1
HTTP_GET{
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}