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

相关推荐

  • Linux基础入门1

    Linux基础入门1 目录 计算机组成及其功能 简述Linux发行版 Liunx哲学思想 Linux命令格式 Linux系统获取命令帮助信息 Linux基础目录简述 1. 计算机组成及其功能 ENIARC:埃尼阿克,世界上第一台通用计算机,诞生于1946年美国宾夕法尼亚大学。 冯诺依曼体系-计算机五大基础部件:运算器、控制器、存储器、输入设备和输出设备。 1…

    2017-12-19
  • 初窥门径shell脚本

    1.什么是shell脚本    首先它是一个脚本,并不能作为正式的编程语言。因为是跑在linux的shell中,所以叫shell脚本。确切的说shell脚本就是一些命令的集合。 2.写脚本前的一些细节及建议   Shell脚本通常都是以.sh 为后缀名的,这个并不是说不带.sh这个脚本就不能执行,只是大家的一个习惯而已…

    Linux干货 2016-08-15
  • 第十七周作业

    1、结合图形来描叙LVS的工作原理; 工作原理 LVS分为两个组件:ipvs和ipvsadm         ipvs:工作于内核空间,主要用于使用户定义的策略生效;         ipvsadm : 工作于用户空间,主要用于用户定义和管理集群服务…

    2017-06-27
  • 第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。 5、取出当前主机的…

    Linux干货 2017-02-06
  • VMware虚拟机三种连网原理简介

    一、前言         虚拟机(Virtual Machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作系统软件。虚拟机根据它们运用和与直接机器的相关性分为两大类。系统虚拟机和程序虚拟机,系…

    Linux干货 2015-08-03
  • Linux删除特殊字符文件

    由于很多原因可能会导致一些文件的文件名是乱码,当我们删除的时候就会发现这个文件名既不能自动补全,也不能直接删除。

    2017-11-11