LVS(Linux Virtual Serve)介绍

一、LVS是什么

1、LVS的英文全称是Linux Virtual Server,即Linux虚拟服务器。

2、它是我们国家的章文嵩博士的一个开源项目。

二、LVS能干什么

1、  LVS主要用于多服务器的负载均衡。
2、  它工作在网络层,可以实现高性能,高可用的服务器集群技术。
3、  它可把许多低性能的服务器组合在一起形成一个超级服务器。
4、  它配置非常简单,且有多种负载均衡的方法。
5、  它稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果。
6、  可扩展性也非常好。

三、nginx和LVS对比:

1、nginx工作在网络的应用层,主要做反向代理;lvs工作在网络层,主要做负载均衡。nginx
也同样能承受很高负载且稳定,但负载度和稳定度不及lvs。  
2、nginx对网络的依赖较小,lvs就比较依赖于网络环境。
3、在使用上,一般最前端所采取的策略应是lvs。 nginx可作为lvs节点机器使用。

四、负载均衡机制

前面我们说了LVS是工作在网络层。相对于其它负载均衡的解决办法,它的效率是非常高的,LVS通过控制IP来实现负载均衡。IPVS是其具体的实现模块。IPVS的主要作用:安装在Director Server上面,在Director Server虚拟一个对外访问的IP(VIP)。用户访问VIP,到达Director Server,Director Server根据一定的规则选择一个Real Server,处理完成后然后返回给客户端数据。这些步骤产生了一些具体的问题,比如如何选择具体的Real Server,RealServer如果返回给客户端数据等等。IPVS为此有三种机制:

  1. VS/NAT(Virtual Server via Network Address Translation),即网络地址翻转技术实现虚拟服务器。
    当请求来到时,Diretor server上处理的程序将数据报文中的目标地址(即虚拟IP地址)改成具体的某台Real Server,端口也改成Real Server的端口,然后把报文发给Real Server。Real Server处理完数据后,需要返回给Diretor Server,然后Diretor server将数据包中的源地址和源端口改成VIP的地址和端口,最后把数据发送出去。由此可以看出,用户的请求和返回都要经过Diretor Server,如果数据过多,Diretor Server肯定会不堪重负。

[图片上传失败...(image-bc1db1-1574078352885)]

  1. VS/TUN(Virtual Server via IP Tunneling),即IP隧道技术实现虚拟服务器。
    IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。IP隧道技术亦称为IP封装技术(IP encapsulation)。它跟VS/NAT基本一样,但是Real server是直接返回数据给客户端,不需要经过Diretor server,这大大降低了Diretor server的压力。

  2. VS/DR(Virtual Server via Direct Routing),即用直接路由技术实现虚拟服务器。
    跟前面两种方式,它的报文转发方法有所不同,VS/DR通过改写请求报文的MAC地址,将请求发送到Real Server,而Real Server将响应直接返回给客户,免去了VS/TUN中的IP隧道开销。这种方式是三种负载调度机制中性能最高最好的,但是必须要求Director Server与Real Server都有一块网卡连在同一物理网段上。

[图片上传失败...(image-a54474-1574078352885)]

五、LVS的配置

1、NAT模式的配置

lvs服务器添加两张网卡一张桥接一张NAT:

eth0是桥接 ip 192.168.3.139

eth1是NAT ip 192.168.57.104

另外两台真实服务器ip:

rs1 192.168.57.105

rs2 192.168.57.106

1、lvs服务器,执行以下命令:
echo "1" >/proc/sys/net/ipv4/ip_forward 
ipvsadm -At 192.168.3.139:80 -s rr
ipvsadm -at 192.168.3.139:80 -r 192.168.57.105:80 -m 
ipvsadm -at 192.168.3.139:80 -r 192.168.57.106:80 -m 
一定要执行这个,访问间隔要超过一秒,否则转发相同的真实服务器
ipvsadm -L --timeout
ipvsadm --set 1 120 300

2、两台rs(真实服务器)上可以执行:
route add default gw 192.168.57.104 dev eth0
3、注意请求的机器要在这三台机器之外才行
请求192.168.3.139:80
4、清空负载配置
ipvsadm -C
5、查看负载均衡配置
ipvsadm -Ln
6、如果不行,查看一下/etc/sysctl.conf中的
net.ipv4.ip_forward = 1 
7、sysctl -p可以刷新配置,实在不行,重启

2、TUN模式的配置

三台机器都配置成TUN模式:

lvs服务器:

ip 192.168.57.104

VIP(虚拟ip) 192.168.57.100

rs服务器(真实服务器):

rs1 ip 192.168.57.105

rs2 ip 192.168.57.106

1、lvs服务器
    echo 1 >/proc/sys/net/ipv4/ip_forward
2、两台真实服务器
    配置/etc/sysctl.conf
    net.ipv4.conf.default.rp_filter = 0
3、然后sysctl -p 保险起见可以重启一下
4、包括lvs在内的三台服务器
    ifconfig tunl0 192.168.57.100 broadcast 192.168.57.100 netmask 255.255.255.255 up
    route add -host 192.168.57.100 dev tunl0
5、两台真实服务器
    echo "1" >/proc/sys/net/ipv4/conf/tunl0/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/tunl0/arp_announce
    echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce 
6、lvs服务器
    ipvsadm -C
    ipvsadm -At 192.168.57.100:80 -s rr
    ipvsadm -at 192.168.57.100:80 -r 192.168.57.105:80 -i -w 1
    ipvsadm -at 192.168.57.100:80 -r 192.168.57.106:80 -i -w 1  
7、注意请求的机器要在这三台机器之外才行    
    请求192.168.57.100:80

3、DR模式的配置

三台机器都配置成DR模式
lvs:

ip 192.168.182.131

VIP 192.168.182.202

rs服务器(真实的服务器):

rs1 ip 192.168.182.129

rs2 ip 192.168.182.130

1、lvs服务器:
echo "1" >/proc/sys/net/ipv4/ip_forward(表示允许数据包的转发)

ifconfig eth0:1 192.168.182.202  broadcast 192.168.182.202  netmask 255.255.255.255 up 
route add -host 192.168.182.202 dev eth0:1  
ipvsadm -C
ipvsadm -At 192.168.182.202:80 -s rr
ipvsadm -at 192.168.182.202:80 -r 192.168.182.129:80 -g -w 1
ipvsadm -at 192.168.182.202:80 -r 192.168.182.130:80 -g -w 1

一定要执行这个,访问间隔要超过一秒,否则转发相同的真实服务器
ipvsadm -L --timeout
ipvsadm --set 1 120 300

2、两台真实服务器
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore 
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce 
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce 
-- 129 130 机器执行
ifconfig lo:0 192.168.182.202  broadcast 192.168.182.202 netmask 255.255.255.255 up
route add -host 192.168.182.202 dev lo:0 

3、注意请求的机器要在这三台机器之外才行
请求192.168.182.202:80

注意:

lvs配置nginx的高可用的时候,把proxy_pass http://test;给注释掉,在nginx.conf

server {
    listen       80;
    server_name  localhost;

    location / {
       #proxy_pass http://test;
        root   html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容

  • 昨天看了前任3,哭的泣不成声。分手时的崩溃、重生、放手,每个场景都让人窒息。 爱没走错,不爱也没有错,...
    倩儿伊人阅读 144评论 0 0
  • "桃花潭水深千尺,不及汪伦送我情。"在博大精深的中华文化里,有这样的诗来歌颂友谊。 是的,友谊让我们的生活更加色彩...
    gloomy_阅读 239评论 1 1
  • 最近,喜欢上去简书这个文(zhuang)艺(bi)的站点,看看人家写的好文章,多少触发了自己好久以前爱上写博客的感...
    Eric_ghong阅读 334评论 2 1
  • 本来以为,面对不断突破底线的校园暴力、未成年人犯罪新闻,自己的心态已足够淡定。但这几天连续出现的几个事件,却让我不...
    人在旅途云在天阅读 285评论 2 1
  • 人生,只有那一段静默的时光才真正属于你自己。静默,是喧嚣以外的宁静,是迷失之中的领悟,是错过之后的忏悔,是焦虑之下...
    202f2ce46944阅读 712评论 0 5