Linux自动化运维——LVS+Keepalived

一、keepalived是什么?

Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节点的状态,它根据TCP/IP参考模型的第三、第四层、第五层交换机制检测每个服务节点的状态,如果某个服务器节点出现异常,或者工作出现故障,Keepalived将检测到,并将出现的故障的服务器节点从集群系统中剔除,这些工作全部是自动完成的。Keepalived 是以 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)协议为实现基础的。

二、问题解决



1.某台RS down (安全监测)

如果停止server2的httpd服务,进行负载均衡测试

systemctl stop httpd.service

 此时curl 172.25.0.100 调度器依然正常工作,但是客户端将会有错误连接提示(不合理),这就说明调度器并不关心后端real server的状态,即使已经down掉了也依然会对其进行调度

解决方法:
调度器(server1)安装 keepalived (健康检测,高可用)
在这里插入图片描述

编辑配置文件

 root@localhost :邮件通知,如果主机联网的话可以写外部邮箱,用于通知集群状态,如果写localhost(本机)的话需要安装mailx;
notification_email_from keepalived@localhost:邮件发送方;
#vrrp_strict :禁掉这个选项,这一参数功能是在出问题时抓取数据包;

 vrrp_instance VI_1 :指定 keepalived 的角色,MASTER 表示此主机是主服务器,BACKUP 表示此主机是备用服务器;
interface eth0:指定网卡;
virtual_router_id 51:虚拟路由标识,这个标识是一个数字,同一个vrrp实例使用唯一的标识。 即同一vrrp_instance下,MASTER和BACKUP必须是一致的;
priority 100:定义优先级,数字越大,优先级越高(0-255),在同一个vrrp_instance下,MASTER 的优先级必须大于 BACKUP 的优先级;

 virtual_server 172.25.1.100 80:这部分相当于将lvs的策略以文本的方式写出来了,集群将会根据这部分内容来制定lvs策略;
delay_loop 6:每隔6秒钟对后端做一次健康检查;
lb_algo rr:定义调度算法;
lb_kind DR:lvs模式;
persistence_timeout 50 :50秒内同一个客户端发过来的请求将会交给同一个后端处理,为了实验效果,将其注释。

 修改完毕之后重启服务:systemctl start keepalived;

在这里插入图片描述
 

 此时删掉server1上的虚拟ip172.25.0.100

 ipvsadm -C :清除LVS的策略规则的所有记录;
ipvsadm -ln:查看当前连接情况(-ln不用解析)

此时重启keepalived服务后,vip自动添加到server1上 

 轮询正常

 停止server2的http服务

 调度器依然正常工作,但是客户端不在有错误连接提示,这就说明调度器上的keepalived对后端RS进行了健康检测,不再让server2提供服务

查看日志,发现有server2 down掉的邮件信息

在这里插入图片描述

 2.lvs down (高可用)

解决方法:创建虚拟机快照文件server4作BACKUP(高可用(master>backup)),同样的修改其主机名、IP
在这里插入图片描述

 server4安装keepalived,并拷贝server1的keepalived.conf文件

yum -y install keepalived

 编辑配置文件,修改其state为BACKUP;优先权为50,重启keepalived服务

vim /etc/keepalived/keepalived.conf

 安装ipvsadm(用于管理LVS的策略规则)

yum install ipvsadm -y

systemctl restart keepalived.service  重启keepalived

ipvsadm -ln:查看当前连接情况

 之后查看server4的日志,可以看到此时的server4是BACKUP

 当server1停止keepalived服务后

systemctl stop keepalived.service

再次查看server4的日志,可以看到此时的server4是MASTER

 仍然不影响客户端的正常访问,调度依然可以进行

 查看vip所对应的MAC,此时正是server4(master)的MAC

 

 再次开启server1的 keepalived服务后

 

    轮询正常, 过滤得到172.25.0.100的MAC地址是server1的MAC地址 

因为server4为BACKUP(优先级低)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值