lvs+keepalived实现LB热备实现网站高可用

简介:

在lvs高负载中,LB节点(也就是常说的DR)会存在单点问题;这里使用了keepalived来解决单点问题;实现冗余;

看图操作;

LB1:eth0:192.168.182.133  (vip:eth0:0 192.168.182.200)

LB2: eth0:192.168.182.138  (vip: eth0:0 192.168.182.200)

rs1: eth0:192.168.182.130  (vip: lo:0   192.168.182.200)

rs2: eth0:192.168.182.129  (vip: lo:0   192.168.182.200)

lvs模型为DR;

首先在两台rs1、rs2上进行操作;

1
2
3
4
5
6
7
8
9
10
11
echo  2  > /proc/sys/net/ipv4/conf/all/arp_announce
echo  2  > /proc/sys/net/ipv4/conf/eth0/arp_announce
echo  1  > /proc/sys/net/ipv4/conf/all/arp_ignore
echo  1  > /proc/sys/net/ipv4/conf/eth0/arp_ignore
service network restart
ifconfig lo: 0  192.168 . 182.200  netmask  255.255 . 255.255  broadcast  182.168 . 182.200
route add -host  192.168 . 182.200  dev lo: 0
yum install httpd -y
echo web1 > / var /www/html/index.html    #rs1标识web1
echo web2 > / var /www/html/index.html    #rs2标识web2
service httpd start

LB1、LB2上进行操作;

1
yum install ipvsadm keepalived httpd -y

LB1的上的keepalived配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
! Configuration File  for  keepalived
global_defs {
    notification_email {
     coffee_lanshan@sina.com
    }
    notification_email_from root@localhost
    smtp_server  127.0 . 0.1
    smtp_connect_timeout  30
    router_id LVS_1
}
vrrp_instance VI_1 {
     state MASTER    #LB2为BACKUP
     interface  eth0
     virtual_router_id  51
     priority  101        #LB2为 100
     advert_int  1
     authentication {
         auth_type PASS
         auth_pass lansgg
     }
     virtual_ipaddress {
         192.168 . 182.200
     }
}
virtual_server  192.168 . 182.200  80  {
     delay_loop  6
     lb_algo wrr
     lb_kind DR
     nat_mask  255.255 . 255.0
     persistence_timeout  50
     protocol TCP
     real_server  192.168 . 182.130  80  {
         weight  2
         TCP_CHECK {
             connect_timeout  3
             nb_get_retry  3
             delay_before_retry  1
         connect_port  80
         }
     }
     sorry_server  127.0 . 0.1  80
     real_server  192.168 . 182.129  80  {
         weight  2
         TCP_CHECK {
             connect_timeout  3
             nb_get_retry  3
             delay_before_retry  1
         connect_port  80
         }
     }
}

LB1:

1
echo error: 192.168 . 182.133  > / var /www/html/index.html  #此步为了测试错误展示页面

LB2:

1
echo error: 192.168 . 182.138  > / var /www/html/index.html

LB1、LB2分别启动keepalived、httpd、ipvsadm

在LB1查看发现如下:

发现vip和ipvs规则已经添加;

下面进行测试;

我们停掉rs1的httpd服务

你会发现LB1的ipvs规则变化;并且进行页面测试;

现在你可以停掉LB1上的keepalived,vip会自动漂移到LB2上;服务及相关规则不受影响;

1
[root@LB1 ~]# /etc/init.d/keepalived stop

你发现vip由优先级为100的顶替了,也就是LB2

而我们的业务没有受到影响:

然后进行测试当停掉2台rs,看看vip显示的页面;

上图就相当于我们网站的错误提示页面;

欢迎大家更好的建议及补充;


本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1238530


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
8月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
328 11
|
12月前
|
存储 负载均衡 NoSQL
搭建高可用及负载均衡的Redis
通过本文介绍的高可用及负载均衡Redis架构,可以有效提升Redis服务的可靠性和性能。主从复制、哨兵模式、Redis集群以及负载均衡技术的结合,使得Redis系统在应对高并发和数据一致性方面表现出色。这些配置和技术不仅适用于小型应用,也能够支持大规模企业级应用的需求。希望本文能够为您的Redis部署提供实用指导和参考。
831 9
|
负载均衡 算法 Linux
LVS+Keepalived:实现高效软负载均衡的利器
本文介绍了如何使用LVS(Linux Virtual Server)和Keepalived搭建高可用负载均衡集群。LVS通过不同调度算法将请求转发给后端服务器,而Keepalived基于VRRP协议实现服务高可用,避免IP单点故障。具体步骤包括环境准备、安装配置ipvsadm和Keepalived、启动服务及测试。文中还详细解释了配置文件中的关键参数,并提供了故障转移测试方法。最后,文章简要对比了软件、硬件和云负载均衡方案的特点,帮助读者选择合适的负载均衡策略。
1734 4
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
379 8
LVS+Keepalived 负载均衡
|
域名解析 运维 负载均衡
LVS+Keepalived 负载均衡(二)28-1
【8月更文挑战第28天】LVS+Keepalived 负载均衡 配置 LVS VIP
267 5
|
负载均衡 NoSQL 应用服务中间件
搭建高可用及负载均衡的Redis
【7月更文挑战第10天】
728 1
|
负载均衡 安全 Cloud Native
云上负载均衡:构建高可用、高性能的网络应用架构
与云原生技术深度融合:随着云原生技术的普及和发展未来的云上负载均衡将更加紧密地与云原生技术相结合。例如与Kubernetes等容器编排平台集成实现自动化的服务发现和路由管理;与Serverless架构结合提供无缝的流量接入和请求处理能力。 安全性能提升:面对日益严峻的网络安全威胁云上负载均衡将更加注重安全性能的提升。通过引入加密传输、访问控制、DDoS防护等安全措施确保网络流量的安全性和隐私性;同时还将建立完善的安全监控和应急响应机制以应对各种安全事件和突发事件。 支持多协议和多场景:未来的云上负载均衡将支持更多种类的网络协议和应用场景以满足不同用户和业务的需求。例如支持HTTP/2、
542 0
|
8月前
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
254 21
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
305 2
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
754 3