LVS DR + Keepalived 负载均衡配置详解(测试篇)

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

 一、启动服务

1、在每台RS(真实服务器)上绑定LVS的虚拟IP及抑制ERP

 
  1. [root@LVS_RS_104 ~]# /etc/rc.d/init.d/lvs_dr.sh start 
  2. RealServer Start OK 
  3. [root@LVS_DR_103 ~]# /etc/rc.d/init.d/lvs_dr.sh start 
  4. RealServer Start OK 

2、启动LVS主的Keepalived服务 并查看日志 /var/log/messages

 
  1. [root@LVS_Master_101 ~]# /etc/rc.d/init.d/keepalived start 
  2. 正在启动 keepalived:                                      [确定] 
  3. [root@LVS_Master_101 ~]# tail -f  /var/log/messages 
  4. Jan 22 04:06:28 centos1 Keepalived_healthcheckers: Using MII-BMSR NIC polling thread... 
  5. Jan 22 04:06:28 centos1 Keepalived_healthcheckers: Netlink reflector reports IP 192.168.1.101 added 
  6. Jan 22 04:06:28 centos1 Keepalived_healthcheckers: Registering Kernel netlink reflector 
  7. Jan 22 04:06:28 centos1 Keepalived_healthcheckers: Registering Kernel netlink command channel 
  8. Jan 22 04:06:29 centos1 Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE 
  9. Jan 22 04:06:30 centos1 Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE 
  10. Jan 22 04:06:30 centos1 Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs. 
  11. Jan 22 04:06:30 centos1 Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.1.181 
  12. Jan 22 04:06:30 centos1 Keepalived_vrrp: Netlink: skipping nl_cmd msg... 
  13. Jan 22 04:06:30 centos1 avahi-daemon[1261]: Registering new address record for 192.168.1.181 on eth0.IPv4. 

3、启动备的Keeplived服务,并查看日志

 
  1. [root@LVS_Backup_114 ~]# /etc/rc.d/init.d/keepalived start 
  2. 正在启动 keepalived:                                      [确定] 
  3. [root@LVS_Backup_114 ~]# cat /var/log/messages  
  4. Jan 22 04:17:29 test Keepalived: Starting Keepalived v1.1.17 (01/13,2013) 
  5. Jan 22 04:17:29 test Keepalived: Starting Healthcheck child process, pid=1528 
  6. Jan 22 04:17:29 test Keepalived: Starting VRRP child process, pid=1529 
  7. Jan 22 04:17:29 test Keepalived_vrrp: Using MII-BMSR NIC polling thread... 
  8. Jan 22 04:17:29 test Keepalived_healthcheckers: Using MII-BMSR NIC polling thread... 
  9. Jan 22 04:17:29 test Keepalived_healthcheckers: Netlink reflector reports IP 192.168.1.114 added 
  10. Jan 22 04:17:29 test Keepalived_vrrp: Netlink reflector reports IP 192.168.1.114 added 
  11. Jan 22 04:17:29 test Keepalived_healthcheckers: Registering Kernel netlink reflector 
  12. Jan 22 04:17:29 test Keepalived_healthcheckers: Registering Kernel netlink command channel 
  13. Jan 22 04:17:29 test Keepalived_vrrp: Registering Kernel netlink reflector 
  14. Jan 22 04:17:29 test Keepalived_vrrp: Registering Kernel netlink command channel 
  15. Jan 22 04:17:29 test Keepalived_vrrp: Registering gratutious ARP shared channel 
  16. Jan 22 04:17:29 test Keepalived_vrrp: Opening file '/etc/keepalived/keepalived.conf'.  #打开Keepalived的主配置文件
  17. Jan 22 04:17:29 test Keepalived_vrrp: Configuration is using : 62711 Bytes 
  18. Jan 22 04:17:29 test Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE  #进入备 角色
  19. Jan 22 04:17:29 test Keepalived_vrrp: VRRP sockpool: [ifindex(2), proto(112), fd(10,11)] 

4、使用ipvsadm -Ln查看状态

 
  1. [root@LVS_Master_101 ~]# ipvsadm  
  2. IP Virtual Server version 1.2.1 (size=4096)  
  3. Prot LocalAddress:Port Scheduler Flags  
  4.   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn  
  5. TCP  192.168.1.181:http rr persistent 50  
  6.   -> 192.168.1.104:http           Route   1      0          0           
  7.   -> 192.168.1.103:http           Route   1      0          0   

如果输出和上面的一致表明 LVS + Keepalived安装配置成功。接下来测试负载均衡和高可用。

二、测试负载均衡

1、在192.168.1.103和192.168.1.104上分别执行如下命令(在这里放不同的内容是为了方便测试,在生产环境中内容应该是相同的):

 
  1. 在192.168.1.103上执行下面命令 
  2. [root@LVS_RS_104 ~]# echo "The is server 103" >/var/www/html/index.html 
  3. 在192.168.1.104上执行下面命令 
  4. [root@LVS_DR_103 ~]# echo "The is server 104" >/var/www/html/index.html 

2、用两个不同的浏览器访问 http://192.168.1.181

我们看到上面两个浏览器访问到的是不同的RS服务器,负载均衡测试完成。

三、测试高可用:

1、关闭主LVS的Keepalived服务,查看备LVS的日志

 

[root@LVS_Master_101 ~]# /etc/rc.d/init.d/keepalived stop

停止 keepalived:                                          [确定]

 

 
  1. [root@LVS_Backup_114 ~]# cat /dev/null >/var/log/messages  
  2. [root@LVS_Backup_114 ~]# tail -f /var/log/messages  
  3. Jan 22 04:41:09 test Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE  #在没收到主LVS的心跳检测后过度到主
  4. Jan 22 04:41:10 test Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE  #进入主的角色
  5. Jan 22 04:41:10 test Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs. #设置虚VIP协议
  6. Jan 22 04:41:10 test Keepalived_healthcheckers: Netlink reflector reports IP 192.168.1.181 added  #添加192.168.1.181IP地址
  7. Jan 22 04:41:10 test avahi-daemon[1180]: Registering new address record for 192.168.1.181 on eth0.IPv4.  #将192.168.1.181绑定到eth0上
  8. Jan 22 04:41:10 test Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.1.181  #
  9. Jan 22 04:41:10 test Keepalived_vrrp: Netlink: skipping nl_cmd msg... 

2、启动主LVS的Keepalived服务,查看备节点的日志

 

[root@LVS_Master_101 ~]# /etc/rc.d/init.d/keepalived start

正在启动 keepalived:                                      [确定]

查看备的日志如下

 

[root@LVS_Backup_114 ~]# tail -f /var/log/messages 

Jan 22 04:47:42 test Keepalived_vrrp: VRRP_Instance(VI_1) Received higher prio advert

Jan 22 04:47:42 test Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE

Jan 22 04:47:42 test Keepalived_vrrp: VRRP_Instance(VI_1) removing protocol VIPs.

Jan 22 04:47:42 test Keepalived_healthcheckers: Netlink reflector reports IP 192.168.1.181 removed

Jan 22 04:47:42 test avahi-daemon[1180]: Withdrawing address record for 192.168.1.181 on eth0.

Jan 22 04:47:42 test Keepalived_vrrp: Netlink: skipping nl_cmd msg...

在主LVS挂掉以后,备LVS会接替主节点的工作,主LVS起来以后,备LVS会把工作交给主节点

 

 

本文转自1594cqb 51CTO博客,原文链接:http://blog.51cto.com/wolfchen/1123498,如需转载请自行联系原作者

相关实践学习
通过ACR快速部署网站应用
本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
3天前
|
负载均衡 算法 Ubuntu
IPVSADM命令详解及负载均衡配置示例
IPVSADM命令详解及负载均衡配置示例
|
6天前
|
负载均衡 网络协议 算法
使用IPVSADM配置LVS负载均衡
使用IPVSADM配置LVS负载均衡
|
13天前
|
运维 Java 测试技术
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
17 3
|
6天前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
38 0
|
12天前
|
Java 测试技术 数据库
【单文件版本】java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境
【单文件版本】java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境
17 0
|
12天前
|
Java 测试技术 数据库
java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境【多文件版本】
java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境【多文件版本】
15 0
|
13天前
|
缓存 Java Spring
SpringBoot配置第三方专业缓存技术Memcached 下载 安装 整合测试 2024年5000字详解
SpringBoot配置第三方专业缓存技术Memcached 下载 安装 整合测试 2024年5000字详解
14 0
|
22天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之holo源表有6亿数据,binlogStartupMode配置为initial,无法插入数据到结果表,少量数据测试可以,该怎么办
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
9月前
|
负载均衡 应用服务中间件 Linux
企业实战(13)LVS负载均衡NAT(网络地址转换)模式实战详解(一)
企业实战(13)LVS负载均衡NAT(网络地址转换)模式实战详解(一)
132 0
|
9月前
|
存储 负载均衡 网络协议
企业实战(13)LVS负载均衡DR(直接路由)模式实战详解(二)
企业实战(13)LVS负载均衡DR(直接路由)模式实战详解(二)
146 0