马哥linuxLVS学习笔记.docx

上传人:b****6 文档编号:12792490 上传时间:2023-06-08 格式:DOCX 页数:41 大小:806.92KB
下载 相关 举报
马哥linuxLVS学习笔记.docx_第1页
第1页 / 共41页
马哥linuxLVS学习笔记.docx_第2页
第2页 / 共41页
马哥linuxLVS学习笔记.docx_第3页
第3页 / 共41页
马哥linuxLVS学习笔记.docx_第4页
第4页 / 共41页
马哥linuxLVS学习笔记.docx_第5页
第5页 / 共41页
马哥linuxLVS学习笔记.docx_第6页
第6页 / 共41页
马哥linuxLVS学习笔记.docx_第7页
第7页 / 共41页
马哥linuxLVS学习笔记.docx_第8页
第8页 / 共41页
马哥linuxLVS学习笔记.docx_第9页
第9页 / 共41页
马哥linuxLVS学习笔记.docx_第10页
第10页 / 共41页
马哥linuxLVS学习笔记.docx_第11页
第11页 / 共41页
马哥linuxLVS学习笔记.docx_第12页
第12页 / 共41页
马哥linuxLVS学习笔记.docx_第13页
第13页 / 共41页
马哥linuxLVS学习笔记.docx_第14页
第14页 / 共41页
马哥linuxLVS学习笔记.docx_第15页
第15页 / 共41页
马哥linuxLVS学习笔记.docx_第16页
第16页 / 共41页
马哥linuxLVS学习笔记.docx_第17页
第17页 / 共41页
马哥linuxLVS学习笔记.docx_第18页
第18页 / 共41页
马哥linuxLVS学习笔记.docx_第19页
第19页 / 共41页
马哥linuxLVS学习笔记.docx_第20页
第20页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

马哥linuxLVS学习笔记.docx

《马哥linuxLVS学习笔记.docx》由会员分享,可在线阅读,更多相关《马哥linuxLVS学习笔记.docx(41页珍藏版)》请在冰点文库上搜索。

马哥linuxLVS学习笔记.docx

马哥linuxLVS学习笔记

Cluster

LAMP

假定:

perfork 2M     动态10M

200个请求----->1000个请求(800静态+200动态)

800*2+200*10=3.6GMemory

资源瓶颈:

ScaleOn:

 向上扩展,加CPU,  Memoey,  Net,  Storage 

ScaleOut:

向外扩展,

LoadBalancing:

  LB

RR:

轮询

WRR:

加权

集群

1、负载均衡集群:

LoadBalancing

并发处理能力

rsync+inotify

2、高可用集群:

HighAvailablity 

在线时间/(在线时间+故障处理时间)

DAS:

DirectAttachedStorage  block级别,速度快、脑裂

NAS:

Network AttachedStorage 

Split-Brain 脑裂

STONITH:

ShootTheOtherNodeInTheHead

Fencing:

隔离。

节点级别隔离,资源级别隔离

3、HPC:

HighPerformancecompute 

向量机

并行处理集群:

分布式文件系统、任务切割机制

分布式存储:

分布式文件系统

Hadoop

负载均衡:

Hareware:

F5,BIGIP

NetScaler

A10

Radware

Software:

四层:

LVS

七层:

nginx  haproxy 

Nginx和LVS对比的总结:

1、Nginx工作在网络的7层,所以它可以针对http应用本身来做分流策略,比如针对域名、目录结构等,相比之下LVS并不具备这样的功能,所以Nginx单凭这点可利用的场合就远多于LVS了;但Nginx有用的这些功能使其可调整度要高于LVS,所以经常要去触碰触碰,触碰多了,人为出问题的几率也就会大。

2、Nginx对网络稳定性的依赖较小,理论上只要ping得通,网页访问正常,Nginx就能连得通,这是Nginx的一大优势!

Nginx同时还能区分内外网,如果是同时拥有内外网的节点,就相当于单机拥有了备份线路;LVS就比较依赖于网络环境,目前来看服务器在同一网段内并且LVS使用direct方式分流,效果较能得到保证。

另外注意,LVS需要向托管商至少申请多一个ip来做VisualIP,貌似是不能用本身的IP来做VIP的。

要做好LVS管理员,确实得跟进学习很多有关网络通信方面的知识,就不再是一个HTTP那么简单了。

3、Nginx安装和配置比较简单,测试起来也很方便,因为它基本能把错误用日志打印出来。

LVS的安装和配置、测试就要花比较长的时间了;LVS对网络依赖比较大,很多时候不能配置成功都是因为网络问题而不是配置问题,出了问题要解决也相应的会麻烦得多。

4、Nginx也同样能承受很高负载且稳定,但负载度和稳定度差LVS还有几个等级:

Nginx处理所有流量所以受限于机器IO和配置;本身的bug也还是难以避免的。

5、Nginx可以检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点。

目前LVS中ldirectd也能支持针对服务器内部的情况来监控,但LVS的原理使其不能重发请求。

比如用户正在上传一个文件,而处理该上传的节点刚好在上传过程中出现故障,Nginx会把上传切到另一台服务器重新处理,而LVS就直接断掉了,如果是上传一个很大的文件或者很重要的文件的话,用户可能会因此而恼火。

6、Nginx对请求的异步处理可以帮助节点服务器减轻负载,假如使用apache直接对外服务,那么出现很多的窄带链接时apache服务器将会占用大量内存而不能释放,使用多一个Nginx做apache代理的话,这些窄带链接会被Nginx挡住,apache上就不会堆积过多的请求,这样就减少了相当多的资源占用。

这点使用squid也有相同的作用,即使squid本身配置为不缓存,对apache还是有很大帮助的。

7、Nginx能支持http、https和email(email的功能比较少用),LVS所支持的应用在这点上会比Nginx更多。

在使用上,一般最前端所采取的策略应是LVS,也就是DNS的指向应为LVS均衡器,LVS的优点令它非常适合做这个任务。

重要的ip地址,最好交由LVS托管,比如数据库的ip、webservice服务器的ip等等,这些ip地址随着时间推移,使用面会越来越大,如果更换ip则故障会接踵而至。

所以将这些重要ip交给LVS托管是最为稳妥的,这样做的唯一缺点是需要的VIP数量会比较多。

Nginx可作为LVS节点机器使用,一是可以利用Nginx的功能,二是可以利用Nginx的性能。

当然这一层面也可以直接使用squid,squid的功能方面就比Nginx弱不少了,性能上也有所逊色于Nginx。

Nginx也可作为中层代理使用,这一层面Nginx基本上无对手,唯一可以撼动Nginx的就只有lighttpd了,不过lighttpd目前还没有能做到Nginx完全的功能,配置也不那么清晰易读。

另外,中层代理的IP也是重要的,所以中层代理也拥有一个VIP和LVS是最完美的方案了。

具体的应用还得具体分析,如果是比较小的网站(日PV小于1000万),用Nginx就完全可以了,如果机器也不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或者重要的服务,机器不发愁的时候,要多多考虑利用LVS。

 

LVS:

LinuxVirtualServer

lvs和iptables不能共同使用

lvs ipvsadm管理集群服务  / ipvs内核

LVS类型

NAT:

地址转换  

DR:

直接路由

TUN:

隧道

NAT:

集群节点跟director必须在同一个IP网络中;

RIP通常是私有地址,仅用于各集群节点间的通信;

director位于client和realserver之间,并负责处理进出的所有通信;

realserver必须将网关指向DIP;

支持端口映射;

realserver可以使用任意OS;

较大规模应该场景中,director易成为系统瓶颈;

∙Theclusternodesneedtobeonthesamenetwork(VLANorsubnet)astheDirector. 

∙TheRIPaddressesoftheclusternodesarenormallyprivate,non-routableIPaddressesusedonlyforintraclustercommunication. 

∙TheDirectorinterceptsallcommunication(networkpacketsgoingineitherdirection)betweentheclientcomputersandtherealservers. 

∙TheclusternodesusetheDirector'sDIPastheirdefaultgatewayforreplypacketstotheclientcomputers. 

∙TheDirectorcanremapnetworkportnumbers.Thatis,arequestreceivedontheDirector'sVIPononeportcanbesenttoaRIPinsidetheclusteronadifferentport. 

∙Anytypeofoperatingsystemcanbeusedonthenodesinsidethecluster.

∙ AsingleDirectorcanbecomethebottleneckforthecluster.

 

DR:

 

集群节点跟director必须在同一个物理网络中;

RIP可以使用公网地址,实现便捷的远程管理和监控;

director仅负责处理入站请求,响应报文则由realserver直接发往客户端;

realserver不能将网关指向DIP;

不支持端口映射;

∙TheclusternodesmustbeonthesamenetworksegmentastheDirector.

∙TheRIPaddressesoftheclusternodesdonotneedtobeprivateIPaddresses.

∙TheDirectorinterceptsinbound(butnotoutbound)communicationbetweentheclientandtherealservers.

∙Theclusternodes(normally)donotusetheDirectorastheirdefaultgatewayforreplypacketstotheclientcomputers.

∙TheDirectorcannotremapnetworkportnumbers.

∙Mostoperatingsystemscanbeusedontherealserversinsidethecluster. 

∙AnLVS-DRDirectorcanhandlemorerealserversthananLVS-NATDirector.

    

     Realserver不能解析(屏蔽)client的arp请求(client广播vip询问vip的mac地址)

VIP:

MAC(DVIP)

arptables:

     kernel2.4.26and2.6.4comewith2newdeviceflagsfortuningtheARPstack:

arp_announceandarp_ignore. 

      arp_announce:

   DefinedifferentrestrictionlevelsforannouncingthelocalsourceIPaddressfromIPpacketsinARPrequestssentoninterface. 

      arp_ignore:

   DefinedifferentmodesforsendingrepliesinresponsetoreceivedARPrequeststhatresolvelocaltargetIPaddresses.

 kernelparameter:

    arp_ignore-INTEGER 

    0-(default):

replyforanylocaltargetIPaddress,configuredonanyinterface 

     1-replyonlyifthetargetIPaddressislocaladdressconfiguredontheincominginterface 

    2-replyonlyifthetargetIPaddressislocaladdressconfiguredontheincominginterfaceandbothwiththesender'sIPaddressarepartfromsamesubneton       thisinterface 

    3-donotreplyforlocaladdressesconfiguredwithscopehost,onlyresolutionsforglobalandlinkaddressesarereplied 

    4-7-reserved 

    8-donotreplyforalllocaladdresses

    arp_announce-INTEGER 

    0-(default)Useanylocaladdress,configuredonanyinterface.

    1-Trytoavoidlocaladdressesthatarenotinthetarget'ssubnetforthisinterface. 

    2-Alwaysusethebestlocaladdressforthistarget. 

arp_ignore:

定义接收到ARP请求时的响应级别;

0:

只要本地配置的有相应地址,就给予响应;

1:

仅在请求的目标地址配置请求到达的接口上的时候,才给予响应;

arp_announce:

定义将自己地址向外通告时的通告级别;

0:

将本地任何接口上的任何地址向外通告;

1:

试图仅向目标网络通告与其网络匹配的地址;

2:

仅向与本地接口上地址匹配的网络进行通告;

 

*****************************************************************************************************************************

LVS-DR工作原理详解

为了阐述方便,我根据官方原理图另外制作了一幅图,如下图所示:

VS/DR的体系结构:

 

我将结合这幅原理图及具体的实例来讲解一下LVS-DR的原理,包括数据包、数据帧的走向和转换过程。

官方的原理说明:

Director接收用户的请求,然后根据负载均衡算法选取一台realserver,将包转发过去,最后由realserver直接回复给用户。

实例场景设备清单:

说明:

我这里为了方便,client是与vip同一网段的机器。

如果是外部的用户访问,将client替换成gateway即可,因为IP包头是不变的,变的只是源mac地址。

① client向目标vip发出请求,Director接收。

此时IP包头及数据帧头信息如下:

②VS根据负载均衡算法选择一台active的realserver(假设是192.168.57.122),将此RIP所在网卡的mac地址作为目标mac地址,发送到局域网里。

此时IP包头及数据帧头信息如下:

③ realserver(192.168.57.122)在局域网中收到这个帧,拆开后发现目标IP(VIP)与本地匹配,于是处理这个报文。

随后重新封装报文,发送到局域网。

此时IP包头及数据帧头信息如下:

④ 如果client与VS同一网段,那么client(192.168.57.135)将收到这个回复报文。

如果跨了网段,那么报文通过gateway/路由器经由Internet返回给用户。

 

******************************************************************************************************************************

 

TUN:

集群节点可以跨越Internet;

RIP必须是公网地址;

director仅负责处理入站请求,响应报文则由realserver直接发往客户端;

realserver网关不能指向director;

只有支持隧道功能的OS才能用于realserver;

不支持端口映射;

∙TheclusternodesdonotneedtobeonthesamephysicalnetworksegmentastheDirector.

∙TheRIPaddressesmustnotbeprivateIPaddresses.

∙TheDirectorcannormallyonlyinterceptinboundcommunicationbetweentheclientandtheclusternodes.

∙ThereturnpacketsfromtherealservertotheclientmustnotgothroughtheDirector.(Thedefaultgatewaycan'tbetheDIP;itmustbearouteroranothermachineseparatefromtheDirector.)

∙TheDirectorcannotremapnetworkportnumbers.

∙OnlyoperatingsystemsthatsupporttheIPtunnelingprotocolcanbeserversinsidethecluster. 

 

session affility

四种静态:

rr:

wrr:

dh:

 

sh:

Destinationhashing 

ThismethodalwayssendsrequestsforthesameIPaddresstothesameserverinthecluster. 

Likethelocality-basedleast-connection(LBLC)schedulingmethod,thismethodisusefulwhentheserversinsidetheclusterarereallycacheorproxyservers. 

Sourcehashing 

CanbeusedwhentheDirectorneedstobesurethereplypacketsaresentbacktothesamerouterorfirewallthattherequestscamefrom. 

ThisschedulingmethodisnormallyonlyusedwhentheDirectorhasmorethanonephysicalnetworkconnection,sothattheDirectorknowswhichfirewallorroutertosendthereplypacketbackthroughtoreachtheproperclientcomputer. 

动态调度方法:

lc:

最少连接

active*256+inactive

谁的小,挑谁

wlc:

加权最少连接

(active*256+inactive)/weight

sed:

最短期望延迟

(active+1)*256/weight

nq:

neverqueue

LBLC:

基于本地的最少连接

DH:

 

LBLCR:

基于本地的带复制功能的最少连接

LVS:

ipvsadm/ipvs

INPUT:

-->POSTRUTING

ipvsadm:

管理服务:

-A

-E

-D

管理RS:

-a

-e

-d

查看:

-L|-l

-n

--stats

--rate

--timeout

--sort

--daemon

规则管理:

-C

-S

-R

ipvsadm:

管理集群服务

添加:

-A-t|u|fservice-address[-sscheduler]

-t:

TCP协议的集群 

-u:

UDP协议的集群

service-address:

  IP:

PORT

-f:

FWM:

防火墙标记 

service-address:

MarkNumber

修改:

-E

删除:

-D-t|u|fservice-address

#ipvsadm-A-t172.16.100.1:

80-srr

管理集群服务中的RS

添加:

-a-t|u|fservice-address-rserver-address[-g|i|m][-wweight]

-t|u|fservice-address:

事先定义好的某集群服务

-rserver-address:

某RS的地址,在NAT模型中,可使用IP:

PORT实现端口映射;

[-g|i|m]:

LVS类型

-g:

DR

-i:

TUN

-m:

NAT

[-wweight]:

定义服务器权重

修改:

-e

删除:

-d-t|u|fservice-address-rserver-address

#ipvsadm-a-t172.16.100.1:

80-r192.168.10.8-m 

#ipvsadm-a-t172.16.100.1:

80-r192.168.10.9-m

查看

-L|l

-n:

数字格式显示主机地址和端口

--stats:

统计数据

--rate:

速率

--timeout:

显示tcp、tcpfin和udp的会话超时时长

-c:

显示当前的ipvs连接状况

删除所有集群服务

-C:

清空ipvs规则

保存规则

-S 

#ipvsadm-S>/path/to/somefile

载入此前的规则:

-R

#ipvsadm-R

LVS-NAT配置

1.[root@lvs~]#grep-ivs/boot/config-2.6.18-308.el5

2.#CONFIG_X86_VSMPisnotset

3.CONFIG_IP_VS=m

4.#CONFIG_IP_VS_DEBUGisnotset

5.CONFIG_IP_VS_TAB_BITS=12

6.#IPVStransportprotocolloadbalancingsupport

7.CONFIG_IP_VS_PROTO_TCP=y

8.CONFIG_IP_VS_PROTO_UDP=y

9.CONFIG_IP_VS_PROTO_ESP=y

10.CONFIG_IP_VS_PROTO_AH=y

11.#IPVSscheduler

12.CONFIG_IP_VS_RR=m

13.CONFIG_IP_VS_WRR=m

14.CONFIG_IP_VS_LC=m

15.CONFIG_IP_VS_WLC=m

16.CONFIG_IP_VS_LBLC=m

17.CONFIG_IP_VS_LBLCR=m

18.CO

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2