lvs基础知识

简介

 Cluster是什么?

   Cluster其实就是组织多个主机构建高实现性能、高可靠、多并发、大容量的同一功能的系统。

 常见的集群类型:

  (1) Load Balancing: 负载均衡集群

  (2) High Avaiability: 高可用集群

  (3) High Performance: 高性能集群(现在已很少使用)

  (4) 分布式存储与运算    

   

 常见集群的扩展方式:

  (1)Scale Up:向上扩展、垂直扩展、纵向扩展;用性能好的主机替代性能差的主机,性价比差;

  (2)Scale Out: 向外扩展、水平扩展;

 lvs:Linux Virtual Server

  工作原理:四层路由或四层交换;依赖于netfilter实现根据目标IP或PORT实现请求转发至后端的多个主机中的某一个主机(根据挑选算法挑选主机)

  

  Director数据包转发过程:PREATING——>①———>②———>③———–>④——–>POSTROUTING

     当客户端请求到Director,Director内核依靠netfilter将主机从PREROUTING经由路由之后到达INPUT,当到达INPUT之后,ipvs发现是去往集群主机的请求,并将请求强制发往至路由,通过POSTROUTING发往后端主机。

lvs.png

一、lvs的类型:

 1)ipvs-nat:MASQUERADE 地址伪装

   类似于DNAT,是一种多目标主机的DNAT,通过修改请求报文的目标IP至基于调度方法选出来某RS的RIP进行转发

 特点:(1)RS必须使用私有地址;网关必须指向DIP;

     (2)请求和响应的报文都经由Director转发;高负载场景中,Director易成为性能瓶颈

     (3)支持端口映射

     (4)RS可以是任意类型的OS(操作系统)

     (5)RS的RIP和Director的DIP要在同一网段

lvs-nat.png

 2)ipvs-dr: Direct Routing 直接路由

   不修改请求报文的IP首部,而是通过直接封装帧首部完成转发;目标MAC是基于调度方法选出某RS的网络接口的MAC地址

 特点:(1)保证前段路由器将目标地址为VIP的报文通过ARP解析后统统发往Director

          解决方案:arp解析

            在网关路由器上绑定Director的MAC地址

            利用arptables在每个RS制定规则

            修改RS的内核参数

     (2)RS的RIP可以是私有地址;也可以是公网地址,此时通过互联网上的主机对此可发起管理请求;

     (3)RS与Director必须在同一物理网络中;

     (4)请求报文必须经由Director转发,而响应报文必须不可能经由Director;

     (5)不支持端口映射;

     (6)RS可以是大多数的OS;

     (7)RS的网关决不能指向Director;

   lvs-tun.png

 

 3)ipvs-tun: tunneling 隧道

    不修改请求报文的IP首部,而是通过IP隧道机制在IP外部再封装一个IP首部(SIP:DIP, DEST:RIP);经由互联网交给选定的RS

  特点:(1)RIP,DIP,VIP必须都是公网IP;

      (2)RS的网关不能也不可能指向DIP;

      (3)请求报文必须经由Director调度,而响应报文必须不能经由Director;

      (4)不支持端口映射;

      (5)RS的OS(操作系统)必须能够支持隧道功能;

lvs-ipip.png

4)lvs-fullnat: 原地址与目标地址都进行替换(以后补充)

二、lvs的调度方法:

 1)静态方法:仅根据算法本身进行调度

   (1)RR: round  robin, 轮询、轮叫、轮流;

   (2)WRR:weighted RR, 加权轮询;Overhead=connection/weighted,最小的会被挑中;

   (3)SH: source hashing;表示来源于同一个IP的请求始终发往第一个调度时请求的RS,从而实现了SESSION绑定;

   (4)DH: destination hashing;表示根据目标主机进行调度,将发往同一个目标地址的请求都转发至后端主机;

 

 2)动态方法:根据算法及各RS的自身负载状况进行调度

   (1)LC: least connection;最少连接;Overhead=actcon*256+inactcon,结果小的将会被挑中;

   (2)WLC: weighted LC;加权最少连接;Overhead=(actcon*256+inactcon)/weighted,结果小的将会被挑中;

   (3)SED: Shortest Expection Delay 最段期望延迟;Overhead=(actcon+1)*256/weighted,结果小的将会被挑中;

   (4)NQ: Nerver Queue 永不排队;一开始每台RS都解释请求,往后都使用SED 

三、ipvs管理工具介绍

  ipvsadm:工作在用户空间,定义转发规则的程序;

  ipvs:工作在内核空间,根据规则完成调度请求的程序;

ipvsadm用法:  

 管理服务器集群:

  ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask]

  ipvsadm -D -t|u|f service-address

    -A: 添加

    -E:修改

    -D:删除

    -t:TCP协议的端口

    -u: UDP协议的端口

    -f:FWM,防火墙标记,标记用数字来表示,将多个端口绑定在一起定义成一个集群服务使用

    server-address: IP:[PORT]

    -s: 制定调度方法,默认为wlc

 管理指定集群服务的RS:

   ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight] [-x upper] [-y lower]

   ipvsadm -d -t|u|f service-address -r server-address

      -a:添加RS

      -e:修改RS

      -d:删除RS

      -t|u|f service-address:引用此前定义过的集群服务

      -r server-address :制定RS的地址

     [-g|i|m]:指定lvs类型

     -w weight: 指定权重;

 

 保存RS及CS:

   -S save: 

    ipvsadm -S > /etc/sysconfig/ipvsadmin.v1 

    ipvsadm-save > /etc/sysconfig/ipvsadmin.v1 

    service ipvsadm save      

   -R: restore

     ipvsadm -R < /etc/sysconfig/ipvsadmin.v1 

     ipvsadm-restore < /etc/sysconfig/ipvsadmin.v1 

    service ipvsadm start 

 清空规则:

   ipvsadm -C 

 显示规则:

   ipvsadm -L |l [options]

    options:

    -c: 列出当前所有的connection

    –stats:列出CS及RS的连接统计数据

    –rate:列出CS及RS的连接、报文及字节速率

    -n –numeric: 数字格式显示

   –exact: 精确值

原创文章,作者:马行空,如若转载,请注明出处:http://www.178linux.com/5485

(0)
上一篇 2015-06-21 21:24
下一篇 2015-06-23 09:55

相关推荐

  • 第一周作业-02

    Linux的命令格式 命令的语法通用格式:    ~]# COMMAND OPTIONS ARGUMENTS        COMMAND: 发起一命令:请求内核将某个二进制程序运行为一个进程;            程序 –&…

    Linux干货 2016-09-19
  • linux中如何使用帮助

     在linux学习过程中,会遇到许多困难,尤其是一些命令掌握不牢固,不知道具体用法;或者是想要实现一些功能而不知道使用何种命令。这时求人不如求己,上网求助不如自己学会使用帮助,下面介绍几种linux帮助的用法。 1.what is +命令    执行这条命令可以显示命令的简短描述,让大家了解命令的基本功能。同时可以看到命令相关章…

    2017-07-23
  • bonding命令

    一、Bonding是什么将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。 二、Bonding工作模式Mode 0 (balance-rr)轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发…

    2017-09-10
  • 虽千万人吾往矣

    哈佛有句名言 “当你觉得为时已晚的时候,恰恰是最早的时候”。这句话给了我虽千万人吾往矣的勇气。 之前那份工作懒散 安逸 。当我下定决心从那种环境中走出来的时候还是下了很大的决心。陌生的行业 陌生的环境 陌生的前途。我抱着对这份行业无限的憧憬来到了北京。   作为一个南方人的确有点不适合北方这黄沙漫漫的城市,刚来的一两天不停的打喷嚏,可能这就是北京欢…

    Linux干货 2018-03-26
  • 制作自动化安装的启动U盘

    制作自动化安装的启动U盘 准备: CentOS 6.8 系统、CentOS-6.8-x86_64-bin-DVD1.iso光盘、U盘、centos-6-x86_64(kickstart文件) mkdir /mnt/myiso  创建目录,创建安装树 查看光盘的挂载点 cp -r /media/CentOS_6.8_Final/isolinux/ &…

    2017-04-05
  • MBR分区结构

    MBR分区结构 一、硬盘主引导记录MBR由4个部分组成: 1、主引导程序(偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序。 2、出错信息数据区,偏移地址0089H–00E1H为出错信息,00E2H–01BDH全为0字节。 3、分区表(DPT,Disk Partition Table):含4个分…

    2017-08-20