热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

lvs的高可用集群(DR模式下的安全检测的负载均衡keepalived)

Lvs的DR模式(速率最高)实验描述:客户端去访问VIP(虚拟IP),整个集群vline中都含有这个VIP&#

Lvs 的DR模式(速率最高)
实验描述:客户端去访问VIP(虚拟IP),整个集群vline中都含有这个VIP,但是客户端只能访问到调度机上的VIP进而进行正确的调度,将客户发来的数据包的MAC地址改为调度器的地址,传送给后台处理完后返还给客户端。
实验操作:
环境:
调度器(VS):172.25.88.1(server1) ipvsadm
RS主机:172.25.88.2(server2) arptables_jf
172.25.88.3(server3) arptables_jf
VS 和 RS在同一局域网 两个有相同的虚拟地址(vip)(DR>TUN>NAT>FULLNAT)
调度机的操作如下:
1.在server1上关闭varnish、http

/etc/init.d/httpd stop
/etc/init.d/varnish stop
配置server1上的yum
[HighAvailability]
name=HighAvailability
baseurl=http://172.25.11.250/rhel6.5/HighAvailability
gpgcheck=0[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.11.250/rhel6.5/LoadBalancer
gpgcheck=0[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.11.250/rhel6.5/ResilientStorage
gpgcheck=0[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.11.250/rhel6.5/ScalableFileSystem
gpgcheck=0yum repolist # 刷新yum
所要添加的包的名字在镜像挂在的目录下

这里写图片描述

yum install ipvsadm -y
Ipvsadm -L # 查看调度器的后台服务器
Ipvsadm -A -t 172.25.88.100:80 -s rr # 以rr的方式添加调度ip
Ipvsadm -a -t 172.25.88.100:80 -r 172.25.11.2 -g # 将ip为172.25.88.2的主机添加为调度器的服务器
Ipvsadm -a -t 172.25.11.100:80 -r 172.25.88.3 -g # 将ip为172.25.88.3的主机添加为调度器的服务器
Ipvsadm -ln # 查看调度器
ip addr add 172.25.88.100/24 dev eth0 # 在server1的eth0网卡上添加100的地址,临时添加的地址,重启后失效
Curl 172.25.11.100 # 错误,server2,3上没有100,不能进行正确的数据传送
arp -a | grep 100 # 查看所取的100的物理网卡
arp -d 172.25.88.100 # 删除100的缓存
在server2上:
ip addr add 172.25.11.100/24 dev eth0
在server3上:
ip addr add 172.25.11.100/24 dev eth0
在server1上:
Curl 172.25.11.100 # 进行轮叫(清除之后,再次执行此命令,可能不会轮叫,不经过调度器,直接去服务后端去拿,所以不会进行轮叫)

这里写图片描述

在server2,3中安装arp
yum install arptables_jf -y
Arptables -L # 和iptables类似,有三条链
添加下面两条规则,进入的数据,全部阻止不回应
arptables -A IN -d 172.25.88.100 -j DROP
arptables -A OUT -s 172.25.11.100 -j mangle --mangle-ip-s 172.25.11.2
/etc/init.d/arptables_jf save # 保存修改,以免重启丢失server3同上
在物理机上清理缓存,重新curl 172.25.11.100
反复输入,重新轮叫在server1上查看调度,server2,3的后台服务器上都出现了相应次数的调度

这里写图片描述

DR+ld检测后台服务的健康检查
按照上面配置时,当后台服务挂掉之后,将不能进行访问,为了避免这种情况发生,我们需让调度器返回一个提示信息来告诉用户,站点不能被访问。

官网上下载ldirectord-3.9.5-3.1.x86_64.rpm安装包
rpm -ql ldirectord # 查看ldirectord服务的配置文件
cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/
cd /etc/ha.d/
vim ldirectord.cfVirtual=172.25.11.100:80real=172.25.11.2:80 gatereal=172.25.11.3:80 gatefallback=127.0.0.1:8080 gateservice=httpscheduler=rrprotocal=tcpchecktype=negotiatecheckport=80requset=’index.html#receive=’Test Page’#virtualhost=www.x.y.z
ipvsadm -C
ipvsadm -l #查看调度器
/etc/init.d/ldirectord start
ipvsadm -l #查看调度器,后台服务器自动添加在调度器上
vim /var/www/html/index.htmlserver1 ----- 站点正在维护

这里写图片描述
这里写图片描述

在物理机上验证,执行curl www.westos.org
会轮叫输出,server2,3上的页面中的内容,

这里写图片描述

当后台的服务器有一台挂掉之后,这台服务器就会自动从调度器上删除,所以当挂调这台服务器时,另一台服务器就会自动接替工作,在访问时不会出错,在两台服务器都挂了之后,本机就会自己接替工作,但是一台服务器,在数据量过大时不能独立承担,所以写上站点正在维护,以防服务器崩溃。

DR+Keepalive对调度器进行健康检查(高可用机群+负载均衡机群、双机热备)
当后台服务器挂掉后,会选择调度器来处理用户的请求,这样强大的数据量会让调度器崩溃,所以我们选择一个备用调度器,使用下面的ld对后台服务器做健康检查

安装另一台虚拟机server4,按照之前的配置,配置号yum,ip和域名解析
在官网上下载keepalived-2.0.6.tar.gz安装包,
tar zxf keepalived-2.0.6.tar.gz #对安装包进行解压,
cd keepalived-2.0.6
yum install gcc copenssl-devel -y
./configure --prefix=/usr/local/keepalived --with-init=SYSV
make # 若没有什么错误就可以忽略,(警告可以忽略)
make install
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/keepalived/etc/keepalived /etc/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
scp -r /usr/local/keepalived/ server4:/usr/local/

这里写图片描述

server4的操作(备用调度器)
在server4中作server1中的所有软链接
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/keepalived/etc/keepalived /etc/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/在server1中配置keepalived的配置文件
yum install -y mailx -y
vim /etc/sysconfig/keepalived/keepalived.conf
与server1的文件内容不同的是:优先级比1的低
主机state为MASTER
备用机为BACKUP

高可用调度测试:停掉主机的keepalived服务,备用机是否接管
在物理机上执行curl 172.25.88.100
server2,3后台服务器上的页面轮叫,当server1挂掉之后,server4会接替server1的工作,继续担任调度器的工作。
这里写图片描述


推荐阅读
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • Redis API
    安装启动最简启动命令行输入验证动态参数启动配置文件启动常用配置通用命令keysbdsize计算key的总数exists判断是否存在delkeyvalue删除指定的keyvalue成 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
  • 目录1、将mysql数据导出到SQL文件中(数据库存在的情况)2、将现有的sql文件数据导入到数据库中(前提数据库存在) 3、利用Navicat导出SQL文件和导入SQL文件1)从 ... [详细]
author-avatar
暂时不用的微博
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有