设为首页 收藏本站
查看: 1666|回复: 0

[经验分享] LVS三种模式搭建步骤,参考待操作。

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-20 15:29:10 | 显示全部楼层 |阅读模式
http://my.oschina.net/jianbo/blog/192582#OSC_h2_3文章地址     











  • 首页
  • 开源项目

    • Java 开源软件
    • C# 开源软件
    • PHP 开源软件
    • C/C++ 开源软件
    • Ruby 开源软件
    • Python 开源软件
    • Go开源软件
    • JS开源软件

  • 问答

    • 技术问答 »
    • 技术分享 »
    • IT大杂烩 »
    • 职业生涯 »
    • 站务/建议 »
    • 支付宝专区 »
    • 开源硬件专区 »

  • 代码
  • 博客
  • 翻译
  • 资讯
  • 移动开发

    • Android开发专区
    • iOS开发专区
    • iOS代码库
    • Windows Phone

  • 招聘
  • 城市圈
当前访客身份:游客 [ 登录 | 加入开源中国 ] 当前访客身份: 游客 [ 登录 | 加入开源中国 ]  软件 代码 讨论区 新闻 博客 软件

  • 软件
  • 代码
  • 讨论区
  • 新闻
  • 博客
DSC0000.gif jianbo-zh DSC0001.gif 关注此人关注(0)粉丝(2)积分(0) 这个人很懒,啥也没写.发送留言.请教问题博客分类

  • 工作日志(0)
  • 日常记录(1)
  • 转贴的文章(1)
阅读排行

  • 1. LVS 服务器集群三种实现模式配置
  • 2. Apache 针对 HTTP KeepAlive 功能配置
最新评论目前还没有任何评论
访客统计

  • 今日访问:0
  • 昨日访问:1
  • 本周访问:0
  • 本月访问:59
  • 所有访问:668
空间 »博客 »

  • 日常记录
  • 工作日志
  • 转贴的文章
  • 所有分类
原 LVS 服务器集群三种实现模式配置
发表于1年前(2014-01-13 15:24)   阅读(664) | 评论(0)3人收藏此文章, 我要收藏赞07.16,杭州,阿里巴巴。阿里百川无线开放大会报名开启,用技术驱动无线新商业
摘要 LVS (Linux Virtual Server) 服务器集群简单配置LVSIPVS LVS服务器集群 VS/NET模式 VS/TUN模式 VS/DR模式
  目录[-]
LVS (Linux Virtual Server) Linux 服务器集群一,【VS/NET 模式】二,【VS/TUN】 IP隧道模式三,【VS/DR】直接路由模式四,三种模式优缺点五,ipvsadm管理工具使用参考LVS (Linux Virtual Server) Linux 服务器集群
  LVS服务器集群中基于IP的负载均衡技术,有3种实现模式:VS/NET模式,VS/TUN模式(IP隧道模式),VS/DR模式(直接路由模式)
  

一,【VS/NET 模式】
DSC0002.gif
  1,配置Linux Director(前端负载调度器)IP,并打开IP数据包转发功能
123ifconfig eth0 192.168.1.2 broacast 192.168.1.255 netmask 255.255.255.0 upifconfig eth1 192.168.2.1 broacast 192.168.2.255 netmask 255.255.255.0 upecho 1 > /proc/sys/net/ipv4/ip_forward  
  2,创建并执行 ipvs.sh 脚本(该脚本需要设置为可执行)。为前端负载调度器添加虚拟服务器记录和调度算法(轮询,基于连接请求),以及为此虚拟服务器添加真实服务器记录(以net模式添加)
123456#!/bin/bash#ipvs.shipvsadm -C ipvsadm -A -t 192.168.2.1:80 -s rripvsadm -a -t 192.168.2.1:80 -r 192.168.2.2:80 -mipvsadm -a -t 192.168.2.1:80 -r 192.168.2.3:80 -m  
  3,配置 Real Server 真实服务器(192.168.2.2),默认网关指向负载调度器,保证数据正确返回
12ifconfig eth0 192.168.2.2 broadcast 192.168.2.255 netmask 255.255.255.0 uproute add default gw 192.168.2.1  
  4,配置 Real Server 真实服务器(192.168.2.3)
12ifconfig eth0 192.168.2.3 broadcast 192.168.2.255 netmask 255.255.255.0 uproute add default gw 192.168.2.1  
  

二,【VS/TUN】 IP隧道模式

  1,配置 Linux Director 负载调度器,设置 tunl0(隧道网卡)的IP为VIP,并添加到本地路由(注:VIP的子网掩码为255.255.255.255,,使该网段只有一个IP)
123ifconfig tunl0 192.168.1.3 netmask 255.255.255.255 uproute add -host 192.168.1.3 dev tunl0ifconfig eth0 192.168.1.2 broadcast 192.168.1.255 netmask 255.255.255.0 up  
  2,创建 ipvs.sh脚本并执行,为前端负载调度器添加虚拟服务器记录和调度算法(轮询),以及为此虚拟服务器添加真实服务器(以IP隧道模式添加)
123456#!/bin/bash#ipvs.shipvsadm -C ipvsadm -A -t 192.168.1.3:80 -s rripvsadm -a -t 192.168.1.3:80 -r 192.168.1.4:80 -iipvsadm -a -t 192.168.1.3:80 -r 192.168.1.5:80 -i  
  3,配置 Real Server 真实服务器(192.168.1.4),将VIP绑定到tunl0网卡上
123ifconfig tunl0 192.168.1.3 netmask 255.255.255.255 uproute add -host 192.168.1.3 dev tunl0ifconfig eth0 192.168.1.4 broadcast 192.168.1.255 netmask 255.255.255.0 up  
  4,创建arp.sh脚本并执行,实现当ARP询问VIP的MAC地址时,忽略应答
123456#!/bin/bash#arp.shecho 1 > /proc/sys/net/ipv4/conf/tunl0/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/tunl0/arp_announceecho 1 > /proc/sys/net/ipv4/conf/all/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/all/arp_announce  
  5,配置 Real Server 真实服务器(192.168.1.5),同样绑定VIP到tunl0网卡上
123ifconfig tunl0 192.168.1.3 netmask 255.255.255.255 uproute add -host 192.168.1.3 dev tunl0ifconfig eth0 192.168.1.5 broadcast 192.168.1.255 netmask 255.255.255.0 up  
  6,创建arp.sh脚本并执行

123456#!/bin/bash#arp.shecho 1 > /proc/sys/net/ipv4/conf/tunl0/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/tunl0/arp_announceecho 1 > /proc/sys/net/ipv4/conf/all/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/all/arp_announce  
  

三,【VS/DR】直接路由模式

  1,Linux Director 负载调度器
123ifconfig eth0 192.168.1.2 broadcast 192.168.1.255 netmask 255.255.255.0 upifconfig eth0:0 192.168.1.3 netmask 255.255.255.255 uproute add -host 192.168.1.3 dev eth0:0  
  2,创建 ipvs.sh 脚本,并执行

123456#!/bin/bash#ipvs.shipvsadm -C ipvsadm -A -t 192.168.1.3:80 -s rripvsadm -a -t 192.168.1.3:80 -r 192.168.1.4:80 -gipvsadm -a -t 192.168.1.3:80 -r 192.168.1.5:80 -g  
  3,配置 Real Server 真实服务器(192.168.1.4)
123ifconfig eth0 192.168.1.4 broadcast 192.168.1.255 netmask 255.255.255.0 upifconfig lo:0 192.168.1.3 netmask 255.255.255.255 uproute add -host 192.168.1.3 dev lo:0  
  4,创建 arp.sh脚本,并执行
123456#!/bin/bash#arp.shecho 1 > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/lo/arp_announceecho 1 > /proc/sys/net/ipv4/conf/all/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/all/arp_announce  
  5,配置 Real Server 真实服务器(192.168.1.5)
123ifconfig eth0 192.168.1.5 broadcast 192.168.1.255 netmask 255.255.255.0 upifconfig lo:0 192.168.1.3 netmask 255.255.255.255 uproute add -host 192.168.1.3 dev lo:0  
  6,创建 arp.sh 脚本,并执行

123456#!/bin/bash#arp.shecho 1 > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/lo/arp_announceecho 1 > /proc/sys/net/ipv4/conf/all/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/all/arp_announce  
  

四,三种模式优缺点
  【 NET模式 】
  优点:只需要一个公网IP
  缺点:请求和响应都需要经过负载调度器,访问量达到一定量后负载调度器可能成为瓶颈。(原因:请求/响应报文会被修改,请求的目标IP/Mac,响应的源IP/Mac)
  

  【 TUN模式 】
  优点:
  1,可以设置跨域的真实服务器
      2,响应报文直接从后端服务器返回给客户,较NET模式有更高的吞吐量
  缺点:
  1,需要IP隧道。负载调度器、真实服务器必须支持隧道协议的网卡
      2,需要多个公网IP
      3,建立IP隧道需要额外开销
  

  【 DR直接路由模式 】
  优点: 响应报文直接从后端服务器返回给客户,吞吐量同TUN模式差不多,或更高
  缺点: 真实服务器需要同负载调度器在同一个网段
  

五,ipvsadm管理工具使用参考
  ipvsadm 的用法和格式如下:
ipvsadm -A|E -t|u|f virutal-service-address:port [-s scheduler] [-p
[timeout]] [-M netmask]
ipvsadm -D -t|u|f virtual-service-address
ipvsadm -C
ipvsadm -R
ipvsadm -S [-n]
ipvsadm -a|e -t|u|f service-address:port -r real-server-address:port
[-g|i|m] [-w weight]
ipvsadm -d -t|u|f service-address -r server-address
ipvsadm -L|l [options]
ipvsadm -Z [-t|u|f service-address]
ipvsadm --set tcp tcpfin udp
ipvsadm --start-daemon state [--mcast-interface interface]
ipvsadm --stop-daemon
ipvsadm -h
命令选项解释:
有两种命令选项格式,长的和短的,具有相同的意思。在实际使用时,两种都可
以。
-A --add-service 在内核的虚拟服务器表中添加一条新的虚拟服务器记录。也
就是增加一台新的虚拟服务器。
-E --edit-service 编辑内核虚拟服务器表中的一条虚拟服务器记录。
-D --delete-service 删除内核虚拟服务器表中的一条虚拟服务器记录。
-C --clear 清除内核虚拟服务器表中的所有记录。
-R --restore 恢复虚拟服务器规则
-S --save 保存虚拟服务器规则,输出为-R 选项可读的格式
-a --add-server 在内核虚拟服务器表的一条记录里添加一条新的真实服务器
记录。也就是在一个虚拟服务器中增加一台新的真实服务器
-e --edit-server 编辑一条虚拟服务器记录中的某条真实服务器记录
-d --delete-server 删除一条虚拟服务器记录中的某条真实服务器记录
-L|-l --list 显示内核虚拟服务器表
-Z --zero 虚拟服务表计数器清零(清空当前的连接数量等)
--set tcp tcpfin udp 设置连接超时值
--start-daemon 启动同步守护进程。他后面可以是master 或backup,用来说
明LVS Router 是master 或是backup。在这个功能上也可以采用keepalived 的
VRRP 功能。
--stop-daemon 停止同步守护进程
-h --help 显示帮助信息
其他的选项:
-t --tcp-service service-address 说明虚拟服务器提供的是tcp 的服务
[vip:port] or [real-server-ip:port]
-u --udp-service service-address 说明虚拟服务器提供的是udp 的服务
[vip:port] or [real-server-ip:port]
-f --fwmark-service fwmark 说明是经过iptables 标记过的服务类型。
-s --scheduler scheduler 使用的调度算法,有这样几个选项
rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,
默认的调度算法是: wlc.
-p --persistent [timeout] 持久稳固的服务。这个选项的意思是来自同一个客
户的多次请求,将被同一台真实的服务器处理。timeout 的默认值为300 秒。
-M --netmask netmask persistent granularity mask
-r --real-server server-address 真实的服务器[Real-Server:port]
-g --gatewaying 指定LVS 的工作模式为直接路由模式(也是LVS 默认的模式)
-i --ipip 指定LVS 的工作模式为隧道模式
-m --masquerading 指定LVS 的工作模式为NAT 模式
-w --weight weight 真实服务器的权值
--mcast-interface interface 指定组播的同步接口
-c --connection 显示LVS 目前的连接 如:ipvsadm -L -c
--timeout 显示tcp tcpfin udp 的timeout 值 如:ipvsadm -L --timeout
--daemon 显示同步守护进程状态
--stats 显示统计信息
--rate 显示速率信息
--sort 对虚拟服务器和真实服务器排序输出
--numeric -n 输出IP 地址和端口的数字形式
分享到: 0声明:OSCHINA 博客文章版权属于作者,受法律保护。未经作者同意不得转载。

  • 下一篇 »
评论0




    插入: 表情 开源软件
  发表评论 插入:表情开源软件
关闭插入表情关闭相关文章阅读

  • 2012/07/16 lvs 集群配置
  • 2014/09/24 Linux负载均衡软件LVS
  • 2013/09/26 LVS-Director Server...
  • 2013/09/26 LVS-Real Server
  • 2012/09/11 CTDB与LVS搭建集群
© 开源中国(OSChina.NET) | 关于我们 | 广告联系 | @新浪微博 | 开源中国手机版 | 粤ICP备12009483号-3开源中国手机客户端: Android iPhone WP7开源中国社区(OSChina.net)是工信部 开源软件推进联盟 指定的官方社区  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-141605-1-1.html 上篇帖子: LVS学习笔记 8 crm实现Mysql高可用集群 下篇帖子: nginx&haproxy&LVS的简单比较
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表