keepalived+LVS实现负载均衡集群

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介:

keepalived

keepalived基于vrrp(虚拟路由冗余)协议,是vrrp协议在linux主机上的实现,早先是设计出来和LVS协同工作的,在配置文件中可以直接支持生成ipvs规则

vrrp协议:

vrrp协议将route_id相同的主机或路由绑定在一起组成一个虚拟路由组,一个组内有一个master和多个backup,master每隔一段时间通过组播的方式向整个虚拟路由组发送一个数据包告诉所有backup在线信息。

当多个路由器组成了一个虚拟组,vrrp或给这个虚拟主生成一个虚拟ip和虚拟mac,这个虚拟ip和mac都工作在master服务器上,当一段时间之后backup服务器,没有收到主服务器的通过信息,backup服务器就会通过选举,重新计算出一个新的master服务器,客户机的网关地址指向虚拟ip地址

选举过程:

1、优先级0-255,数字越大优先级越高,一般master服务器优先级最高,每个backup服务器的优先级根据硬件配置的高度调整优先级

2、ip地址,ip地址越大优先级越高

3、对比mac,mac越大优先级越高

keepalived主要用于实现HA集群

HA集群的配置注意事项:

1、保证整个集群的时间同步,可以搭建ntp(忘了时间同步服务)

2、结构化数据尽量存储在数据库中

3、非结构化数据尽量采用共享文件系统(如nfs),尽量少用同步的方式

共享文件系统工作原理(以nfs为例)

客户机将nfs挂载到本地,不占用本地磁盘空间,用户的读写操作看似是在本地完成的,其实是用户将读写请求发送给nfs服务由nfs进行读写操作,这样可以保证在同一时间内只有一个进程在操作同一文件,避免文件的损坏


配置实例:

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
                 
global_defs {
   notification_email {
      acassen@firewall.loc       #管理员邮箱
    }
    notification_email_from Alexandre.Cassen@firewall.loc     #发件人
    smtp_server  192.168 . 200.1     #邮箱地址
    smtp_connect_timeout  30       #连接邮件服务器超时时间
    router_id LVS_DEVEL
    vrrp_skip_check_adv_addr
    vrrp_strict
}
 
vrrp_instance VI_1 {       #虚拟路由组
     state MASTER        #从改为BACKUP
     interface eth0      #绑定网卡
     virtual_router_id  51    #router_id
     priority  100        #从的优先级必须低于主
     advert_int  1
     authentication {
         auth_type PASS  #认证类型
       auth_pass  1111  #认证密码
     }
     virtual_ipaddress {
         192.168 . 0.201        #VIP
     }
}
 
virtual_server  192.168 . 0.201  80  {     #生成LVS,监听的VIP
     delay_loop  6            #健康检查间隔时间
     lb_algo rr          #负载均衡算法
     lb_kind DR          #LVS负载方式
     persistence_timeout  50      #长连接超时时间(为了验证效果建议在实验时警用此配置)
     protocol TCP            #TCP协议集群
 
     real_server  192.168 . 0.40  80  {     #监听的节点和端口
         weight  1            #位权
         TCP_CHECK {             #检查方式
         connect_port  80         #监听端口
             connect_timeout  3   #连接超时时间
             nb_get_retry  3      #重试次数
             delay_before_retry  3    #重试间隔
         }
     }
     real_server  192.168 . 0.60  80  {
         weight  1
         TCP_CHECK {
             connect_timeout  3
             nb_get_retry  3
             delay_before_retry  3
         }
     }
}
 
     从keepalived和主keepalived配置差不多
 
     
         
节点服务器配置:
192.168 . 0.40 :配置:
     echo  '2'  / proc / sys / net / ipv4 / conf / lo / arp_announce     #关闭ARP更新
     echo  '1'  / proc / sys / net / ipv4 / conf / all / arp_ignore
     echo  '2'  / proc / sys / net / ipv4 / conf / all / arp_announce
     echo  '1'  / proc / sys / net / ipv4 / conf / lo / arp_ignore
     cd  / etc / sysconfig / network - scripts /        
     cp ifcfg - lo ifcfg - lo: 0           
     vim ifcfg - lo: 0
         DEVICE = lo: 0
         IPADDR = 192.168 . 0.201             #VIP
         NETMASK = 255.255 . 255.255          #必须为4个255
         ONBOOT = yes
     ifup lo: 0                   #启用网卡
     route add  - host  192.168 . 0.201  dev lo: 0  #添加路由信息
     yum  - y install httpd              #安装web服务器
     service httpd start                #启动web服务
     echo  "192.168.0.40"  / var / www / html / index.html     #创建测试网页
     
     192.168 . 0.60 192.168 . 0.40 配置差不多
    

本文转自  红尘世间  51CTO博客,原文链接:http://blog.51cto.com/hongchen99/1920334
相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
15天前
|
负载均衡 算法 Linux
LVS+Keepalived:实现高效软负载均衡的利器
本文介绍了如何使用LVS(Linux Virtual Server)和Keepalived搭建高可用负载均衡集群。LVS通过不同调度算法将请求转发给后端服务器,而Keepalived基于VRRP协议实现服务高可用,避免IP单点故障。具体步骤包括环境准备、安装配置ipvsadm和Keepalived、启动服务及测试。文中还详细解释了配置文件中的关键参数,并提供了故障转移测试方法。最后,文章简要对比了软件、硬件和云负载均衡方案的特点,帮助读者选择合适的负载均衡策略。
132 4
|
4月前
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
107 8
LVS+Keepalived 负载均衡
|
4月前
|
域名解析 运维 负载均衡
LVS+Keepalived 负载均衡(二)28-1
【8月更文挑战第28天】LVS+Keepalived 负载均衡 配置 LVS VIP
82 5
|
5月前
|
负载均衡 算法 应用服务中间件
负载均衡技术在Web服务器集群中的应用
【8月更文第28天】随着互联网的发展和用户对Web服务需求的增长,单台服务器很难满足大规模访问的需求。为了提高系统的稳定性和扩展性,通常会采用Web服务器集群的方式。在这种架构中,负载均衡器扮演着至关重要的角色,它能够合理地分配客户端请求到不同的后端服务器上,从而实现资源的最优利用。
162 2
|
5月前
|
负载均衡 算法 关系型数据库
MySQL集群如何实现负载均衡?
【8月更文挑战第16天】MySQL集群如何实现负载均衡?
309 6
|
5月前
|
缓存 负载均衡 算法
在Linux中, LVS负载均衡有哪些策略?
在Linux中, LVS负载均衡有哪些策略?
|
5月前
|
负载均衡 监控 算法
在Linux中,如何配置和管理LVS集群?
在Linux中,如何配置和管理LVS集群?
|
1月前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
63 3
|
7月前
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
139 2
|
6月前
|
负载均衡 算法 应用服务中间件
nginx自定义负载均衡及根据cpu运行自定义负载均衡
nginx自定义负载均衡及根据cpu运行自定义负载均衡
118 1