当前位置: 首页 > news >正文

LVS负载均衡群集

群集(集群)的称呼来自于英文Cluster,表示一群一连串的意思,在服务器领域则表示大量的服务器集合体,以区分与单个服务器。下面将对集群的结构、工作模式、以及LVS共享存储做一个总结
壹:集群的类型:
1、负载均衡群集:以提高应用系统的响应的相应能力,尽可能处理更多的访问请求,减少延迟目标,获得高并发,高负载(LB)的整体性能。例如:DNS轮询、应用层交换、反向代理、等多可以用做负载均衡群集。LB的负载分配依赖于主节点的分类算法,将来自客户端的请求分担给多个服务器节点,从而缓解整个系统的负载能力(原理前端有负载调度,后方有大量的真是服务器予以支持
2、高可用群集:以提高系统的可靠性,以尽可能的减少中断事件为目标,确保服务的连贯性从而达到高可用(HA)的容错效果,HA的工作方式包括双工和主从两种。双工即所有节点同时在线,主从则是只有主在线当主服务器出现故障时才会自动启动从服务器多机热备、故障切换、双机热备都属于高可用
3、高性能运算集群:以提高应用系统的CPU运算速度,扩展硬件资源和分析能力为目标,获得相当于大型,超级计算机的高性能运算(HPC)能力例如云计算
贰、负载均衡的工作原理:
LVS负载均衡群集
1)地址转换,简称nat模式,负载均衡调度器作为网关,服务器和负载调度器在同一个私有网络,安全性较好。
2)Ip隧道,简称tun模式,负载调度器仅作为客户机的访问入口,各节点通过各自的internet连接直接回应客户机,不在经过负载调度器,服务器的节点分散在互联网的不同位置,具有独立的共有ip地址,通过专用的ip隧道与负载调度器相互通信。
3)直接路由,简称DR模式,与TUN模式类似,但各节点不是分散在各地,而是与调度器位于同一个物理网络,负载调度器与各节点服务器通过本地网络连接,不需要建立专用的ip隧道。
以上三种模式中,nat方式只需要一个公网地址,从而成为最容易的一种负载均衡模式,安全性也比较好,许多硬件负载均衡设备就是采用这种方式,性比较而言,DR模式和TUN模式的负载能力更强大,使用范围更广,但节点的安全性要稍差一些
叁、LVS虚拟服务器
LVS是linux内核的一部分,由我国的章文嵩博士在1998年创建,也是极少数由中国人开发的优秀软件之一,我们可以直接手动加载ip_vs模块,并查看当前系统中ip_vs模块的版本信息,命令如下:
LVS负载均衡群集
1、lvs的负载调度算法
1)轮询:将受到的访问请求按顺序轮流分配给群集中的各节点,不管服务器的连接数和系统负载。
2)加权轮询:也是轮流分配,但是可以调整权重,让处理性能强的服务器承担更多的访问流量。
3)最少连接:根据连接数分配,分配给连接数少的节点。
4)加权最少连接:权重高的节点将承担更大比例的负载
2、使用ipvsadm管理工具
ipvsadm管理工具是在负载调度器上是用的群及管理工具,通过ip_vs模块添加、删除服务器节点。需要手动安装
肆、配置LVS服务器
1、环境:四台centos6.5
nat双网卡:nat:172.16.16.172/host:192.168.7.254
web1:7.21 web2:7.22
nfs:7.250
IP:lvs服务器双网卡内网web服务器和nfs服务器配置IP和网关
2、使用yum安装ipvsadm管理工具(因为我是无网条件下进行的所以直接更改了yum源)光盘镜像是centos6.5系统盘
LVS负载均衡群集
LVS负载均衡群集
挂载系统盘yum安装ipvsadm管理工具
1)创建虚拟服务器:
LVS负载均衡群集
-A表示添加虚拟服务器、-t指定VIP地址以及tcp端口、-s指定负载均衡算法 rr代表轮询、wrr代表加权轮询、Ic代表最少链接、wlc代表加权最少链接

2)添加服务器节点
LVS负载均衡群集
-a代表添加真是服务器。-t指定VIP地址以及tcp端口。-r指定RIP以及tcp端口。-m代表使用NAT模式、-g代表使用DR模式、-i代表使用TUN模式。-w设置权重

3)查看节点状态:ipvsadm -ln
LVS负载均衡群集
4)启动路由转发并配置SNAT转发规则
vim /etc/sysctl.conf
LVS负载均衡群集
LVS负载均衡群集
iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -o eth1 -j SNAT --to-source 172.16.16.172
LVS负载均衡群集
2、配置节点网站为验证是否可以进行负载
LVS负载均衡群集
LVS负载均衡群集
当两台web服务器设置完成时可以调试nat本机的虚拟八网卡以方便可以进行本地访问
LVS负载均衡群集
nat通过IE浏览器访问VIP查看是否可以进行双机负载
LVS负载均衡群集
LVS负载均衡群集
刷新可以进行两台

3、配置共享存储nfs
1)NFS服务共享存储实现必须依赖RPC(远程过程调用)机制,以完成远程到本地的映射过程所以需要检查本机是否以安装 nfs-utils、rpcbind软件前者用于NFS共享发布和访问后者用于RPC支持(软件名不要打错)
LVS负载均衡群集
确认安装后创建共享目录并编辑/etc/exports,发布共享
LVS负载均衡群集
LVS负载均衡群集
2)NFS的配置文件为/etc/exports 文件内容默认为空(无任何共享)。在exports里设置共享时格式为“目录位置 客户机权限”
LVS负载均衡群集
切记先启动rpcbind再启动nfs 关闭防火墙!!!

3)查看本机发布的NFS共享目录
LVS负载均衡群集
在两台web服务器上也进行查看
showmount -e 192.168.7.250 (nfs服务器IP)
4)在两台web服务器上挂在共享目录并自动挂载
LVS负载均衡群集
LVS负载均衡群集
两台web同样操作后在共享服务器目录里里配置index.html并访问
LVS负载均衡群集
LVS负载均衡群集
添加完成去IE进行验证
LVS负载均衡群集
切记刷新!!!!!

转载于:https://blog.51cto.com/12959230/2122554

相关文章:

  • 360前端星计划—深入CSS
  • linux signal 处理
  • 如何给域名配置https证书
  • 遍历DataTable
  • curl如何发送json数据?如何发送form数据?python的restfull又该如何获取这些数据?...
  • rails4 new没有生成prototype.js之类的脚本解决办法
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • sqlplus
  • 住宅格局解剖图鉴
  • Hibernate中Session.get()/load()之区别
  • 整理OpenResty+Mysql+Tomcat+JFinal+Cannal+HUI
  • CentOS6.4下Samba服务器的安装与配置
  • eclipse下Monkeyrunner平台搭建Pydex
  • python代码编译
  • 为什么分布式一定要有一致性方案?
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • CSS实用技巧干货
  • in typeof instanceof ===这些运算符有什么作用
  • JS变量作用域
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • LintCode 31. partitionArray 数组划分
  • Making An Indicator With Pure CSS
  • nginx 负载服务器优化
  • python大佬养成计划----difflib模块
  • Vim 折腾记
  • 从PHP迁移至Golang - 基础篇
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 观察者模式实现非直接耦合
  • 简单数学运算程序(不定期更新)
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 爬虫模拟登陆 SegmentFault
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 实现简单的正则表达式引擎
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 温故知新之javascript面向对象
  • 线上 python http server profile 实践
  • 移动端唤起键盘时取消position:fixed定位
  • 带你开发类似Pokemon Go的AR游戏
  • ###项目技术发展史
  • #etcd#安装时出错
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .Net中wcf服务生成及调用
  • .NET中统一的存储过程调用方法(收藏)
  • /var/spool/postfix/maildrop 下有大量文件
  • ::什么意思
  • @property括号内属性讲解
  • @SpringBootApplication 包含的三个注解及其含义
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • @Validated和@Valid校验参数区别