keepalived+LVS实现负载均衡集群

简介:

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
相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
3天前
|
运维 负载均衡 监控
keepalived+LVS实现高可用性集群
通过结合keepalived和LVS,你可以创建一个高可用性的负载均衡集群,确保服务器的稳定性和性能。这对于托管Web服务、应用服务器等关键服务的服务器集群非常有用。
12 1
|
8天前
|
负载均衡 算法 网络协议
LVS、Nginx和HAProxy负载均衡器对比总结
LVS、Nginx和HAProxy负载均衡器对比总结
|
8天前
|
负载均衡 监控 Linux
CentOS6.5高可用集群LVS+Keepalived(DR模式)
CentOS6.5高可用集群LVS+Keepalived(DR模式)
|
9天前
|
负载均衡 监控 网络协议
使用haproxy实现负载均衡集群
【4月更文挑战第14天】HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,快速并且可靠的一种解决方案。
9 1
|
4月前
|
Kubernetes 负载均衡 监控
Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
|
4月前
|
缓存 负载均衡 应用服务中间件
【分布式技术专题】「分析Web服务器架构」Tomcat服务器的运行架构和LVS负载均衡的运行机制(修订版)
在本章内容中,我们将深入探讨 Tomcat 服务器的运行架构、LVS 负载均衡的运行机制以及 Cache 缓存机制,并提供相应的解决方案和指导。通过理解这些关键概念和机制,您将能够优化您的系统架构,提高性能和可扩展性。
208 4
【分布式技术专题】「分析Web服务器架构」Tomcat服务器的运行架构和LVS负载均衡的运行机制(修订版)
|
5月前
|
负载均衡 监控 调度
Keepalived+Lvs(dr)调度器主备配置小实验
Keepalived和LVS(Linux Virtual Server)是两个常用的开源软件,通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalived是一种用于实现高可用性的软件,它可以监控服务器的健康状态,并在主服务器出现故障时自动切换到备份服务器。
99 2
|
4月前
|
负载均衡 算法 Linux
LVS集群
LVS(Linux Virtual Server)集群是一种基于Linux操作系统的高可用性和负载均衡解决方案。它通过将网络流量分发到多个后端服务器上,实现了对网络服务的负载均衡,并提高了系统的可用性和性能。
66 1
|
5月前
|
负载均衡 网络协议 Linux
小白带你学习linux的keepalived+lvs和keepalived双机热备(三十七)
小白带你学习linux的keepalived+lvs和keepalived双机热备(三十七)
77 0
|
5月前
|
负载均衡 算法 网络协议
小白带你学习linux的LVS集群(三十六)
小白带你学习linux的LVS集群(三十六)
73 0