初步DR模型搭建之后可能会出现如下问题:
- lvs故障:业务下线,属于单点故障
- RS故障:一部分用户请求异常,lvs还有RS的负载配置
解决问题:单点故障的原因主要是因为它只有一台服务器,可以配置多台服务器。以多点的思路,采用主备或者主主的形式。
如何确定RS故障?即HTTP协议请求返回200则确定RS正常
如何实现解决方案?
keepalived是一个通用的工具,主要作为HA(高可用:high availability)实现,另外nginx也可以作为公司的负载均衡使用,nginx单点故障也可以使用keepalived解决。
keepalived的主要作用
- 监控自己服务(所有主机均需要安装)
- Master通知,Backup监听,Master故障选主
- 自动化配置:vip与ipvs的自动化配置
- RS的健康检查
keepalived部署
4台主机:
centos 1:10.211.55.7 [负载服务器-主]
centos 2:10.211.55.10 [真实服务器1,简称RS1]
centos 3:10.211.55.8 [真实服务器2,简称RS2]
centos 4:10.211.55.9 [负载服务器-备]
1.清理负债服务器的ipvs的负载配置
命令:ipvsadm -C

2.清理负载服务器的vip
命令:ifconfig eth0:8 down

tips:Linux操作系统,对非配置文件的修改,重启后都会消失。如果你重启过服务器,对于负债服务器的vip已经消失了。
3.安装keepalived
命令:yum Install keepalived -y
4.配置keepalived
配置文件目录:/etc/keepalived
配置负载服务器vip:
- 主负载服务器
 - 从负载服务器:将state改为BACKUP,priority改为50

配置负载服务器的负载地址:

vrrp:虚拟路由冗余协议
state:master/backup,即主/从
virtual_router_id:虚拟路由唯一标志(同一台服务器上,可能有多个keepalived的配置)
priority:权重值
virtual_ipaddress:vip配置命令(等同于ifconfig命令)
另外linux有帮助程序包(man包)
安装命令:yum install man
配置文件帮助命令:man 5 [file_name]
如:man 5 keepalived.conf,即查看keepalived的配置文件的帮助文档
5.查看效果
master负载服务器自动配置:

backup负载配置:

浏览器:

当master单点故障:
down掉主负载服务器的默认网卡

备用负债服务器网卡,配置vip实现负载

当RS服务故障:
停掉RS1的httpd应用服务

查看负载服务器的ipvsadm的负载列表