LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。

宗旨:
  使用集群技术和Linux操作系统实现一个高性能、高可用的服务器.
  很好的可伸缩性(Scalability)
  很好的可靠性(Reliability)
  很好的可管理性(Manageability)。

特点:

  可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份)。我们先分析实现虚拟网络服务的主要技术,指出IP负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Translation)。在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出了通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。VS/NAT、VS/TUN和VS/DR技术是LVS集群中实现的三种IP负载均衡技术。

优点:

  1、开源,免费
  2、在网上能找到一些相关技术资源
  3、具有软件负载均衡的一些优点
缺点:
  1、最核心的就是没有可靠的支持服务,没有人对其结果负责;
  2、功能比较简单,支持复杂应用的负载均衡能力较差,如算法较少等;
  3、开启隧道方式需重编译内核;
  4、配置复杂;
  5、主要应用于LINUX,目前没有专门用于WINDOWS的版本,不过可以通过配置,使windows成为LVS集群中的real server(win2003、win2008中)。

环境:

Web-Server:Centos6.8    192.168.126.135

Web-Server:Centos6.8    192.168.126.134

在Web服务器上搭建web:

1、安装web系统,在centOS上可以使用命令yum install进行安装,-y 表示安装过程中全部选择yes,我这里做测试环境,所以简单安装

yum -y install httpd 

2、设置httpd、mysqld为开机启动服务

chkconfig httpd on

3、启动服务、关闭防火墙

service httpd start
service iptables stop #为了测试方便,直接关闭防火墙

4、安装虚拟IP管理工具:ipvsadm

yum -y install ipvsadm

5、新建脚本:

#!/bin/bash

VIP=192.168.126.100  #假设126.100是VIP
RIP1=192.168.126.135 #web-
RIP2=192.168.126.134 #web- case "$1" in
start)
echo "开始配置LVS Director Server"
ifconfig eth0: $VIP broadcast $VIP netmask 255.255.255.255 up
route add -host $VIP dev eth0:
echo "">/proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -A -t $VIP: -s rr
ipvsadm -a -t $VIP: -r $RIP1: -g
ipvsadm -a -t $VIP: -r $RIP2: -g
ipvsadm
echo "配置成功"
;;
stop)
echo "正在关闭LVS Director Server"
echo "">/proc/sys/net/ipv4/ip_forward
ipvsadm -C
ifconfig eth0: down
echo "关闭成功!"
;;
*)
echo "用法:$0 {start|stop}"
exit
esac

6、赋予脚本权限并运行脚本

[root@localhost /]# sh lvs.sh start
开始配置LVS Director Server
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.126.100:http rr #虚拟IP
-> 192.168.126.134:http Route #WEB-1
-> 192.168.126.135:http Route #WEB-2
配置成功

在另一台 Web服务器上搭建web:

1、安装web系统,在centOS上可以使用命令yum install进行安装,-y 表示安装过程中全部选择yes,我这里做测试环境,所以简单安装

yum -y install httpd 

2、设置httpd、mysqld为开机启动服务

chkconfig httpd on

3、启动服务、关闭防火墙

service httpd start
service iptables stop #为了测试方便,直接关闭防火墙

4、安装虚拟IP管理工具:ipvsadm

yum -y install ipvsadm

5、新建脚本:

[root@localhost /]# vim lvs.sh
#!/bin/bash VIP=192.168.126.100 #VIP case "$1" in
start)
echo "配置lvs Real Server开始..."
ifconfig lo: $VIP broadcast $VIP netmask 255.255.255.255 up
route add -host $VIP dev lo:
echo "" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
echo "正在关闭lvs Real server"
ifconfig lo: down
echo "" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "用法:$0 {start|stop}"
exit
esac [root@localhost /]# sh lvs.sh start
配置lvs Real Server开始...

  配置完成!

  打开浏览器访问VIP地址:http://192.168.126.100  持续刷新网页看会不会出现访问到两个web服务器地址的页面

  如果你需要进一步配置LVS+Keepalived,可以参考:LVS+keepalived配置

Centos 6.8 配置Lvs的更多相关文章

  1. centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课

    centos   LB负载均衡集群 三种模式区别 LVS/NAT 配置  LVS/DR 配置  LVS/DR + keepalived配置  nginx ip_hash 实现长连接  LVS是四层LB ...

  2. centos配置LVS

    LVS有三种工作模式:NAT, TUN, DR.  DR是三种工作模式中性能最高的,TUN次之. 本文记录LVS/TUN和LVS/DR工作模式的配置过程. 环境: 三台CentOS 7 x64 虚拟机 ...

  3. centos下LVM配置与管理

    centos下LVM配置与管理 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层, ...

  4. Ubuntu下配置LVS【h】

    以后服务器只用CentOS和Ubuntu.下午用redhat装个lvs装了一下午都没搞好,TNND的.果断用Ubuntu,不到两个小时就搞定了. 原文参见: http://kamengwang.blo ...

  5. CentOS下Apache配置多域名或者多端口映射

    CentOS下Apache默认网站根目录为/var/www/html,假如我默认存了一个CI项目在html文件夹里,同时服务器的外网IP为ExampleIp,因为使用的是MVC框架,Apache需开启 ...

  6. CentOS 6.3配置PPTP VPN的方法

    1.验证ppp 用cat命令检查是否开启ppp,一般服务器都是开启的,除了特殊的VPS主机之外. [root@localhost1 /]# cat /dev/ppp cat: /dev/ppp: No ...

  7. 基于VMware为CentOS 6.5配置两个网卡

    为CentOS 6.5配置两块网卡,一块是eth0,一块是eth1,下面以master为例 1.选择“master”-->“编辑虚拟机设置”,如下所示 2.单击“添加”,如下 3.选择“网络适配 ...

  8. Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)

    Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)   关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...

  9. 安装LVS安装LVS和配置LVS的工作比较繁杂

    安装LVS安装LVS和配置LVS的工作比较繁杂,读者在配置的过程中需要非常细心和耐心.在本节我们将对其进行详细地介绍.主要包括如下几个核心步骤:1.获取支持LVS的内核源代码如果读者需要使用LVS,需 ...

随机推荐

  1. javascript Array method总结

    0.创建 Javascript创建数组的基本方式有两种.第一种是使用Array构造函数. var colors = new Array(); var colors = new Array(20); v ...

  2. Linux安装程序Anaconda分析(续)

    本来想写篇关于Anaconda的文章,但看到这里写的这么详细,转,原文在这里:Linux安装程序Anaconda分析(续) (1) disptach.py: 下面我们看一下Dispatcher类的主要 ...

  3. Java Unit Testing - JUnit & TestNG

    转自https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaUnitTesting.html yet another insignifican ...

  4. WPF新手之如何将数据绑定到TreeView

    看过许多例子,全是绑定到类的,没人说如何绑定到某个对象,偏偏我这个绝对的新手就是要绑定到一个对象,只能自己摸索了: 首先要将数据绑定到容器,有以下几个默认条件:①元数据必须包装在List或者Obser ...

  5. 常用SQL备忘录

    联表删除: delete t1,t2 from table_name t1 left join t2 on t1.id=t2.id where t1.id=23 (ps:该语句在mysql 5.0之前 ...

  6. 获取Android设备无线和以太网MAC地址

    package com.raycloud.wolf.blogformac; import android.net.wifi.WifiManager; import android.support.v7 ...

  7. 微信小程序template使用

    当您的项目需要多次使用同一个布局和样式的时候,您就可以考虑使用template(模板)来减少冗余代码. 使用方式: 1.新建一个template文件夹来存放您的通用模板: 2.在文件夹里面新建一个wx ...

  8. 动态预览Xib的实现

    写一个TestView继承于UIView,然后写个对应的xib,把xib的名字设置成TestView,这是标准的用xib加载这个view必须得条件 然后xib里把这个View的backgroundCo ...

  9. ES6 数组的解构赋值

    数组的解构赋值 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 以前,为变量赋值,只能直接指定值. let a = 1; let b = ...

  10. ios蓝牙开发(四)BabyBluetooth蓝牙库介绍

    BabyBluetooth 是一个最简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx. 特色: 基于原生CoreBluetooth框架封装的轻量级的开源库,可以帮你 ...