lvs负载均衡—高可用集群(keepalived)

基本概念:

什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生,那说到keepalived时不得不说的一个协议就是VRRP协议,可以说这个协议就是keepalived实现的基础。

VRRP( Virtual Router Redundancy Protocol )协议:
虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议,Keepalived就是巧用VRRP协议来实现高可用性(HA)的。
1.用于实现路由器冗余的协议
2.解决静态路由单点故障问题
3.通过一种竞选(election)协议来实现虚拟路由器的功能

LVS提供负载均衡,keepalived提供健康检查,故障转移,提高系统的可用性! 采用这样的架构以后,很容易对现有系统进行扩展,只要在后端添加或者减少realserver,更改lvs的配置文件,就能实现无缝配置变更!

实验搭建:

server1:lvs调度服务器DS1:192.168.13.111
server2:后端服务器RS1:192.168.13.112
server3:后端服务器RS2:192.168.13.113
server4:lvs调度服务器DS2:192.168.13.114
VIP:192.168.13.100

1 . 在server1与server4上分别解压keepalived并编译安装:

tar zxf keepalived-2.0.6.tar.gz        # 解压
yum install gcc openssl-devel -y   # 解决依赖
cd keepalived-2.0.6     
./configure --prefix=/usr/local/keepalived --with-init=systemd      # 编译
make &&make install     # 安装 

在这里插入图片描述
装好之后会有这个keepalived目录,
其实不用两边都这么装,麻烦,一边装好之后直接scp传过去就好了。

2 . 配置启动配置文件 调度器(server1和server4)都进行相同操作:

ln -s /usr/local/keepalived/etc/sysconfig/keepalived/etc/sysconfig ##配置文件,脚本都做成软链接
ln -s /usr/local/keepalived/etc/keepalived/ /etc/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/

3 . 配置keepalived:

编写主节点server1的配置文件

cd /etc/keepalived
vim keepalived.conf
global_defs {notification_email {root@localhost #节点宕机了将会接收到异常邮件的主机}notification_email_from keepalived@localohost #邮件发送人smtp_server 127.0.0.1  #发送的服务器smtp_connect_timeout 30 #指定连接超时时间router_id LVS_DEVELvrrp_skip_check_adv_addrvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_instance VI_1 {state MASTER  #主节点表示interface ens33      # 网卡名virtual_router_id 13priority 100  #权重advert_int 1  #检查的间隔1sauthentication {auth_type PASS  #认证方式auth_pass 1111  #认证的密码}virtual_ipaddress {192.168.13.100}
}
virtual_server 192.168.13.100 80 {delay_loop 6 #连接失败六次之后,发送邮件lb_algo rr  #lvs调度算法lb_kind DR  #lvs该工作方式protocol TCP  # 端口real_server 192.168.13.112 80 {TCP_CHECK {weight 1connect_port 80connect_timeout 3}}real_server 192.168.13.113 80 {TCP_CHECK {weight 1connect_port 80connect_timeout 3}}
}

编好之后
systemctl start keepalived
systemctl enable keepalived

再给server4 scp 过去

scp keepalived.conf root@192.168.13.114:/etc/keepalived/

在server4端只需要

state BACKUP
priority 50		##修改这两个选项

改好之后
systemctl start keepalived
systemctl enable keepalived

3 . 真实服务器设置

1). 安装httpd 启动设置访问页面

注意:该处为了验证负载均衡的效果,后端真实服务器设置不同的访问内容,明显标示内容来自不同的后端服务器。

2). 添加VIP到各自的物理网卡中

ip addr add 192.168.13.100/24 dev ens33    # 临时添加ip到eth0网卡

3). 设置arptable策略,解决将用户所有针对VIP的请求发送到DS 而不是RS

yum install arptables -y # 安装管理工具
arptables -A INPUT -d 192.168.13.100 -j DROP
arptables -A OUTPUT -s 192.168.13.100 -j mangle --mangle-ip-s 192.168.13.112

在另一端RS修改记着ip

4 . 测试:

1). 设置完成真实服务器之后,在两个调度器上查看ipvsadm 全部自动生成负载均衡策略:
在这里插入图片描述
2). 使用客户端主机测试:
负载均衡正常

在这里插入图片描述
3 ). 关闭真实服务器172.25.13.140的http的服务。模拟该服务器故障,测试该真实服务器被踢除出列表,当服务正常的时候会自动添加到列表中

在这里插入图片描述
在这里插入图片描述
当打开服务时,恢复正常
在这里插入图片描述
在这里插入图片描述
4 ) . 目前负载均衡服务器工作在主服务器,主服务器上会添加vip,关闭主服务器的keepalived,模拟负载均衡主服务器异常,这时候会切换到由服务器提供负载均衡服务,并且vip会主动漂移到副服务器。

主服务器

在这里插入图片描述
在这里插入图片描述
负载均衡主服务器异常,将会由副服务器提供服务,vip会自动漂移到副服务器:

在这里插入图片描述
客户端测试服务正常:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

定期定量采购_企业常见的六种采购策略

注册职业采购经理CPPM考试网​www.apscppm.com对不起,我是采购合同生效的条件是什么?怎样制定谈判方案?如何在采购时让供应商听你的指挥!没做预算不能采购,应该作为企业采购管理的基本原则。编制现金预算就是要解决收入…

pacemaker+corosync实现集群管理

前言: 高可用集群,是指以减少服务中断(如因服务器宕机等引起的服务中断)时间为目的的服务器集群技术。简单的说,集群就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点。 …

更换mysql_这些被你忽视的MySQL细节,可能会让你丢饭碗!

我们在 MySQL 入门篇主要介绍了基本的 SQL 命令、数据类型和函数,在具备以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我们就来探讨一下 MySQL 都需…

rhcs集群套件—红帽6的高可用

含义及理解: RHCS是Red Hat Cluster Suite的缩写,也就是红帽子集群套件,RHCS是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合,,它将集群系统中三大集群架构(高可用性集群、…

MapReduce二次排序

2019独角兽企业重金招聘Python工程师标准>>> 默认情况下,Map输出的结果会对Key进行默认的排序,但是有时候需要对Key排序的同时还需要对Value进行排序,这时候就要用到二次排序了。下面我们来说说二次排序 1、二次排序原理 我们把二…

数据有序_详解数据库插入性能优化:合并+事务+有序数据进行INSERT操作

概述对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。其实最有效的…

容器内应用日志收集方案

容器化应用日志收集挑战 应用日志的收集、分析和监控是日常运维工作重要的部分,妥善地处理应用日志收集往往是应用容器化重要的一个课题。 Docker处理日志的方法是通过docker engine捕捉每一个容器进程的STDOUT和STDERR,通过为contrainer制定不同log dri…

python统计行号_利用Python进行数据分析(第三篇上)

上一篇文章我记录了自己在入门 Python 学习的一些基础内容以及实际操作代码时所碰到的一些问题。这篇我将会记录我在学习和运用 Python 进行数据分析的过程:介绍 Numpy 和 Pandas 两个包运用 Numpy 和 Pandas 分析一维、二维数据数据分析的基本过程实战项目【用 Pyt…

lnmp架构搭建—源码编译(nginx、mysql、php)

含义及理解: LNMP LinuxNginxMysqlPHP:LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指P…

解析xml_Mybatis中mapper的xml解析详解

上一篇文章分析了mapper注解关键类MapperAnnotationBuilder,今天来看mapper的项目了解析关键类XMLMapperBuilder。基础介绍回顾下之前是在分析configuration的初始化过程,已经进行到了最后一步mapperElement(root.evalNode("mappers"))&#x…

lnmp—MemCache的作用

含义及理解: 1 . memcache是一个高性能的分布式的内存对象缓存系统,用于动态web应用以减轻数据库负担。通过在内存里维护一个统一的巨大的hash表,来存储经常被读写的一些数组与文件,从而极大的提高网站的运行效率。 memcache是一…

openresty—实现缓存前移

含义及理解: OpenResty(又称:ngx_openresty) 是一个基于 NGINX 的可伸缩的 Web 平台,由中国人章亦春发起,提供了很多高质量的第三方模块。 其目标是让Web服务直接跑在Nginx服务内部,充分利用Nginx的非阻塞I/O模型&am…

Nginx+Keepalived+Tomcat之动静分离的web集群

NginxKeepalivedTomcat之动静分离的web集群 博客分类: webserverNginxKeepalivedTomcat之动静分离的web集群为小公司提供大概一天持续在100万/日之间访问的高性能、高可用、高并发访问及动静分离的web集群方案NginxKeepalived 高可用、反向代理NginxPHP …

安装完成后的配置_cent os7 默认安装后的一般配置

在安装cent os7后,进入系统会出现一些命令无法执行。这是因为最小化没有安装包含的软件包。这时候先要配置一下基本的IP参数,(包括动态,静态,或者是双网卡绑定)。我们在虚拟机中模拟操作一下,配置文件在/etc/sysconfig…

lnmp构架——对tomcat详解

tomcat的安装部署 安装jdk和tomcat tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/ tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/做好软连接便于访问 cd /usr/local ln -s jdk1.7.0_79/ java ln -s apache-tomcat-7.0.37/ tomcat配置环境变量 vim /etc/profile…

zabbix监控部署 与添加主机

zabbix介绍: zabbix([zbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决…

打开是什么样子的图片_情侣头像 | 无论是什么样子的你 我都好喜欢

点击【情侣图片大全】- 右上角找到【…】立刻设我为星标/置顶 - 不迷路哦情侣图片大全“时光真疯狂,我一路执迷与匆忙”情侣/闺蜜/动漫/闺蜜网名长按图片保存 点击图片放大图片高清,建议在 W i f i 下浏览这个世界是多么神奇我竟然遇见了你无论是什么…

zabbix监控平台添加服务(http,nginx,mysql)

1 . 监控httpd服务: 首先确保已经搭建zabbix监控平台,并且将需要监控的主机已经添加。 对主机server2 上的http服务进行监控,首先确保server2主机安装了http服务。 使用http在zabbix中自带监控模版 点击配置->主机->server2->模…

zabbix使用JMX监控tomcat

JMX 全称是Java Management Extensions,即Java管理扩展。Java程序会开放一些端口,用来获取运行状况。 从Zabbix2.0开始,内置了监控JMX的功能,叫做"Zabbix Java Gateway ",在Zabbix Serve上会启动名为"Zabbix Java Gateway "的进程&…

自定义控件添加属性_|AutoCAD LT 2019 Mac自定义功能区的方法

AutoCAD LT是一款非常好用的CAD三维设计绘图软件,最新版本2019拥有改进的桌面、新应用实现跨设备工作流,以及DWG比较等新功能,并且AutoCAD LT 2019 Mac可以根据你的需要和工作习惯来自定义功能区,下面为大家带来自定义功能区的详细…