企业级运维——lvs(DR模式)+ldirectord实现高可用(HA)

HA(High Available)概念

HA(High Available),高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点。当活动节点出现问题,导致正在运行的业务(任务)不能正常运行时,备用节点此时就会侦测到,并立即接续活动节点来执行业务。从而实现业务的不中断或短暂中断。

我们之前学习了LVS的三种模式和十种算法,保证了集群的负载均衡,但是,实际生产环境中,作为负载均衡的集群中的一个节点,万一发生了故障,将是十分棘手的问题。如何解决这种问题呢?HA的概念应运而生,我们这里就学习利用lvs+ldirectord实现高可用集群,避免单点故障对用户访问造成的影响。

lvs+ldirectord实现HA实验

实验环境准备

主机服务
真实主机localhost客户端
server1DS(Director Sever——LVS调度器)
server2RS(Real Server——后端真实提供服务的虚拟机)
server3RS(Real Server——后端真实提供服务的虚拟机)

注意:我们所有的虚拟机server1-3的实验环境都是rhel7.5版本。

server1(DS)

  • 清除之前模式的影响。保持环境纯净。
ipvsadm -C
ipvsadm -ln
  • DR模式的添加
[root@server1 ~]# ipvsadm -A -t 172.25.66.100:80 -s rr
[root@server1 ~]# ipvsadm -a -t 172.25.66.100:80 -r 172.25.66.2:80 -g
[root@server1 ~]# ipvsadm -a -t 172.25.66.100:80 -r 172.25.66.3:80 -g
# 添加DR模式策略
[root@server1 ~]# ip addr add 172.25.66.100 dev eth0
# 添加VIP

server2与server3(Real Server)

  • 清理之前的ip和网卡(如果有的话),添加VIP。
ip addr add 172.25.66.100 dev eth0

安装配置HA软件ldirectord

  • 官网下载安装包,本主机已下载。
    在这里插入图片描述
  • 在DS(server1)上使用yum安装,发现缺少相关依赖。

在这里插入图片描述

  • 配置高可用的yum源,解决依赖性,再次安装,成功!

在这里插入图片描述

  • 查看ldirectord安装后产生的配置文件
[root@server1 keepalive_ldirectord]# rpm -qpl ldirectord-3.9.5-3.1.x86_64.rpm 
warning: ldirectord-3.9.5-3.1.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 7b709911: NOKEY
/etc/ha.d
/etc/ha.d/resource.d
/etc/ha.d/resource.d/ldirectord
/etc/init.d/ldirectord
/etc/logrotate.d/ldirectord
/usr/lib/ocf/resource.d/heartbeat/ldirectord
/usr/sbin/ldirectord
/usr/share/doc/ldirectord-3.9.5
/usr/share/doc/ldirectord-3.9.5/COPYING
/usr/share/doc/ldirectord-3.9.5/ldirectord.cf
/usr/share/man/man8/ldirectord.8.gz
  • 拷贝模板到主配置目录中
cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/
  • 修改配置文件
    在这里插入图片描述

物理机上测试

[root@localhost HighAvailability]# curl 172.25.66.100
server3
[root@localhost HighAvailability]# curl 172.25.66.100
server2
[root@localhost HighAvailability]# curl 172.25.66.100
server3
[root@localhost HighAvailability]# curl 172.25.66.100
server2

此时,如果一台RS宕机,服务不会中断,而是只由剩余RS提供,这就实现了服务的高可用。

[root@localhost HighAvailability]# curl 172.25.66.100
server2
[root@localhost HighAvailability]# curl 172.25.66.100
server2

如果所有的RS都宕机了,(当然,这种情况几乎不可能)我们可以在DS上写一个页面反馈给用户。

  • 在DS(server1)上:
 yum install  -y httpd
echo "糟糕,505 ERROR" > /var/www/html/index.html
systemctl start httpd.service
  • 我们停掉所有服务,再次请求VIP,发现:
[root@localhost HighAvailability]# curl 172.25.66.100
糟糕,505 ERROR
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值