LVS

    Linux虚拟服务器LVS)是基于Linux内核的操作系统的负载平衡软件。

    LVS提供了良好的可扩展性,可靠性和可服务性。

LVS项目的主要工作是开发先进的IP 负载平衡软件(IPVS),应用级负载平衡软件(KTCPVS)和集群管理组件。

  • IPVS:在Linux内核中实现的高级IP负载平衡软件。
  • KTCPVS:在Linux内核中实现应用级负载平衡

    LVS可用于构建高可扩展性和高可用性的网络服务,如网络,电子邮件,媒体和VoIP服务,并将可扩展网络服务集成到大规模可靠的电子商务或电子政务应用中。基于LVS的解决方案已经部署在世界各地的许多实际应用中。

    LVS组件依赖于Linux Netfilter框架,其源代码可在Linux内核源代码中的net/netfilter/ipvs子目录中使用。LVS能够通过检查第7层数据包来处理UDP,TCP第4层协议以及FTP被动连接。它提供目录中的计数器的层次结构。/proc调用用于配置LVS 的用户实用程序ipvsadm(8),这需要超级用户权限才能运行。

LVS实现了几个平衡调度器,下面列出了相关的源文件:

  • 循环(ip_vs_rr.c)
  • 加权循环(ip_vs_wrr.c)
  • 最小连接(ip_vs_lc.c)
  • 加权最小连接(ip_vs_wlc.c)
  • 基于位置的最小连接(ip_vs_lblc.c)
  • 基于位置的与复制的最小连接(ip_vs_lblcr.c)
  • 目标散列(ip_vs_dh.c)
  • 源哈希(ip_vs_sh.c)
  • 预期延迟最短(ip_vs_sed.c)
  • 不排队(ip_vs_nq.c)

示例

使用两个真实服务器设置虚拟HTTP服务器:

ipvsadm -A -t 192 .168.0.1:80 -s rr
ipvsadm -a -t 192 .168.0.1:80 -r 172 .16.0.1:80-m
ipvsadm -a -t 192 .168.0.1:80 -r 172 .16.0.2:80-m

    第一个命令将IP地址192.168.0.1上的TCP端口80 分配给虚拟服务器。所选择的负载均衡调度算法是round-robin()。第二和第三个命令是将真实服务器的IP地址添加到LVS设置。转发的网络包将被masked()。 

查询上述配置的LVS设置的状态:

#ipvsadm -L -n
IP虚拟服务器版本1.0.8(size = 65536)
Prot LocalAddress:端口调度器标志
  - > RemoteAddress:端口正向重量ActiveConn InActConn
TCP 192.168.0.1:80 rr
  - > 172.16.0.2:80 Masq 1 3 1
  - > 172.16.0.1:80 Masq 1 4 0

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

(0)
HGGHGG
上一篇 2017-08-21 21:20
下一篇 2017-08-22 08:55

相关推荐

  • 设计模式(二)单件模式Singleton(创建型)

      几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销。再如大家最经常用的IM,如QQ,在同一台电脑,一个帐号只能有唯一的登录。 1. 问题 怎样确保一个特殊类的实例是独一无二的(它是这个类的唯一实例),并且这个实例…

    Linux干货 2015-06-24
  • Cacti整合Zabbix监控

    前言: 由于公司现在很多业务都是使用cacti进行监控流量的,并且还有一些使用zabbix监控的项目,正好又有一个项目需要搭建Cacti+Zabbix进行综合监控,搭建完毕之后发现,Cacti较之以前有了不小的改进,所以就来写一写Cacti和Zabbix监控整合的文章,顺便说一下Cacti下的一些好用的插件。 环境: Centos 6.4 X86_64 Ca…

    Linux干货 2015-03-19
  • http加速器varnish

    一、web缓存概述       缓存,又称加速器,用于加速运行速度较快的设备与较慢设备之间的通信。基于程序的运行具有局部性特征其能实现加速的功能:       时间局部性:一个数据被访问之后,在随后较短的时间内有可能被访问。   &nbsp…

    2016-11-18
  • DNS and Bind

    DNS and Bind ===================================================================================== 概述:    DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使…

    Linux干货 2016-10-10
  • N25-第六周作业

      复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;               s/要查找的内容/替换为的内容/修饰符 %:全文,相当…

    Linux干货 2017-02-13
  • mysql备份之mysqldump

    mysql备份之mysqldump 注意:备份文件和二进制日志文件不能与mysql放在同一磁盘下 节点1 1、节点1上修改mysql配置文件,开起二进制日志保存 这里我将二进制日志放在/data/mysql/目录下,/data/是我创建的另外一个lvm磁盘,本来想直接放在/data/下,发现无法启动mysql,所以建议还是放在/data/mysql中 [ro…

    Linux干货 2016-07-19