LVS  分流器

nginx 为应用层的分流企业
LVS专业做分流

lb 负载平衡器 调度器
lvs的工作模式 和区别

NAT模式 调度器通过个人ip访问公网 公网通过调度器 调度器回进行改变 源ip不会变 目标ip会进行改变
在ip层 也就是网络层 网络地址和转换
优点 可以隐藏后段的真实服务器
缺点 容易出现性能瓶颈 调度器的压力比较大
入网和出网都要经过调度器

DR模式 直接路由模式 应用最多
调度器 和交换机和路由器
客户机访问一个 ip
路由会把包传进来 交给交换机
把后台机器的ip帮在调度器上的lo口 (交互机寻找后段 调度器进行响应 从而进行调度)
调度到后段的一台机器上

又把ip绑定到后端的一台机器
回应的时候机器直接甩给网关 不用经过调度器 所以减轻了调度器的压力
地址解析界协议 arp协议
为什么两个人不能用同一个ip地址?
当我们设置ip之后 网卡会告诉交换机自己的ip 如果有人回答此ip有人在用 就会引起ip冲突
其他的后台机器绑定调度器材io端口 (环回口) 只有调度器才是一个真正的访问的ip地址
正向arp 网关到调度
代理arp 后段机器到外网 这样路由器就是一个代理arp
源mac目标和目的mac目标 数据帧

以上两种都在一个网段上

TUNNAL 模式 隧道模式 跨异地的时候比较常用

客户访问虚拟ip 后段服务器绑定lo环回端口
调度器绑定了虚拟ip 调度器把数据原封不动 在数据外层加ip头 设置新的源和目的的地址 传递给后段服务器 然后进行解包

要做实验需要打开路由转发功能
vim /etc/sysctl.conf 中 添加
net.ipv4.nat ip_forward = 1
sysctl -p 生效
sysctl -a |grep -i forward

yum -y install ipvsadm 调度器的软件
ipvsadm -A -t ip(这是就是虚拟的ip) -s rr 添加一个虚拟网卡

ipvasdm -a -t ip(虚拟的ip) -r ip(这个是真实后端的ip):80 -m(模式 nat 隧道模式 和 dr 模式) 真实的
大A是虚拟的 小a是真实的
ipvsadm -L 查看

ipvsadm -n 查看端口

DR 模式
ifconfig 网卡名字 +ip netmask 255.255.255.255 up 绑定网卡
-a +-g

到后段电脑 绑定lo回环端口
ifconfig lo:0+ip netmask 255.255.255.255 up 绑定

nat -m
dr -g
TUNNAL -i

-g

ipip协议 ip头 技术
gre 技术

隧道练习
modprobe ipip 插入模块(插入后出现tunl0 网卡
lsmode |grep ipip 过滤模块

绑定虚拟ip
ip addr add dev tunl0 30.30.30.30/32
ifconfig tunl0 up
ifconfig tunl0 up
调度ip转发功能
配置规则 -i
ipvsadm -S
去令一台机器
插入ipip模块

调度算法 -s rr论叫法
wrr 权重加法
lc 最小连接
wlc 在lc的基础上设置权重

源地址哈希
目标地址哈希 cdn 内容分发网络 整个缓存系统

keepalived 主备切换 使用多路复用io 机器你一个业务上线了两台服务器 一个坏了一个立刻补上 保证业务的可用性

为了防止lb死掉 因此设置一个组播(心跳检测 心跳线 224.0.0.18 )如果master死掉了 他会自己把自己的vrrp杀掉 然后组播里的别的服务器会自动争抢master 从而保证lb的高可用性 主备切换

vrrp就是发送hello的 用来选择主从的 如果自己死了 就不会发送hello 备机 就会自动抢走主的位置

有自己的checkd的检测办法 如http 和tcp

vim /etc/keepliave
global全局设置
通知谁 谁是管理员
你的发件人是谁
你的smtp的服务器是谁
连接多久超时
设置自己的id 特别重要 不能引起id冲突

vrrp的实例{

实例的名字可以随意
几个机器的id要设置成一样的
优先级0-255
通话间隔
密码 默认1111

虚拟ip
自己设置
}

虚拟ip 必须和上面设置的一样

指定时间

真实ip
ssl 检测
tcp检测
http检测

复制这个配置 到另一台机器
修改BACKUP
id需要修改
优先级需要修改

都是有一个问题 两台机器在故障恢复的时候有一个短暂的时间 这个问题怎么解决的 ?

在从机的backup中添加
nopreempt
然后在主机

把master改成BACKUP
也添加一个配置
nopreement 不抢占

转载于:https://blog.51cto.com/13575677/2096171

lvs和keepalives相关推荐

  1. VMware上实现LVS负载均衡(NAT)

    本文LVS的实现方式採用NAT模式.关于NAT的拓扑图请參照我的上一篇文章.本文纯粹实验.NAT在生产环境中不推荐使用.原因是Load Balancereasy成为瓶颈! 1.VMware9上安装Ce ...

  2. LVS(Linux Virtual Server)三种负载均衡模型和十种调度的简单介绍

    LVS(Linux Virtual Server)三种负载均衡模型和十种调度的简单介绍 LVS (Linux Virtual Server) LVS(Linux Virtual Server)其实就是 ...

  3. 服务器集群负载均衡(F5,LVS,DNS,CDN)区别以及选型

    服务器集群负载均衡(F5,LVS,DNS,CDN)区别以及选型 下面是"黑夜路人"的<大型网站架构优化(PHP)与相关开源软件使用建议> =============== ...

  4. lvs服务器需要开启web服务么_Nginx+Keepalived实现web服务器高可用

    1.Nginx 业务背景 现公司需求快速搭建web服务器,对外提供给用户web服务. 需求拆分 需要基于http协议的软件,搭建服务实现 介绍 常见用法: 1) web服务器软件 httpd http ...

  5. lvs后端realserver的vip管理脚本lvs-realsvr.sh

    lvs后端realserver的vip管理脚本lvs-realsvr.sh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  6. mysql dba系统学习(19)配置mysql+lvs+keeplived实现Mysql读操作的负载均衡

    配置mysql+lvs+keeplived实现Mysql读操作的负载均衡 环境: test1192.168.46.131master test2192.168.46.130slave备份test库 t ...

  7. LVS原理详解(3种工作方式8种调度算法)--老男孩

    一.LVS原理详解(4种工作方式8种调度算法) 集群简介 集群就是一组独立的计算机,协同工作,对外提供服务.对客户端来说像是一台服务器提供服务. LVS在企业架构中的位置: 以上的架构只是众多企业里面 ...

  8. LVS详解及基于LVS实现web服务器负载均衡

    前言 LVS(Linux Virtual Server)Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.通过LVS提供的 ...

  9. 实验LVS+keepalived

    lvs说明:目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR): 八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh). 在调度器的实现技术中,IP负载均衡技 ...

最新文章

  1. win32创建控件的一些问题
  2. 图形图像技术在手游中的潜在应用
  3. python (第二章)数据结构
  4. 【Leetcode | 13】56. 合并区间
  5. 小组第十三次站立会议
  6. linux那些事之copy on write(COW)
  7. fins协议握手信号服务器响应,欧姆龙FinsTCP与FinsUDP协议解析 —— 利用Wireshark对报文逐字节进行解析详细解析附含报文模拟器等...
  8. import错误:undefined symbol: _ZN6caffe26detail37_typeMetaDataInstance_preallocated_32E
  9. 2021年10月程序员薪资出炉,你在哪个层级?
  10. vmd python 命令_VMD常用命令
  11. 使用 Vue-cli 搭建SPA项目
  12. 这就是区块链开源底层软件平台——长安链ChainMaker
  13. 【neutron】Neutron的基本原理与代码实现
  14. 以太网(Ethernet)通信简单理解
  15. Android 开发--多渠道打包实现
  16. 下一半***清除全集
  17. MySQL 之 DQL
  18. 纯手工解密几大在线js加密网站(1)
  19. 希尔顿荣誉客会与FLYERT飞客宣布建立合作伙伴关系,为忠诚会员提供超值奖励...
  20. 64位win7禁用驱动程序签名强制

热门文章

  1. php 下载网络文件,PHP实现文件下载
  2. mysql 转义字符 escape_mysql_real_escape_string转义字符串返回false?
  3. python归档excel数据_python怎么把数据保存为excel
  4. R数据导入导出(一): read.table()和read.csv()的区别
  5. 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截...
  6. Java基础-数据类型int,short,char,long,float,double,boolean,byte
  7. 2017吉首大学新生赛
  8. Struts——例子
  9. ECLIPSE3.2安装 + 汉化 + 配置SWT DESIGNER6.2.0
  10. Extmail配置实践(一)