十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
关于LVS负载均衡
创新互联-专业网站定制、快速模板网站建设、高性价比惠阳网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式惠阳网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖惠阳地区。费用合理售后完善,十余年实体公司更值得信赖。
一、什么是负载均衡:
负载均衡集群提供了一种廉价、有效、透明的方法,来扩展网络设备和
服务器的负载、带宽、增加吞吐量、加强网络数据处理能力,提高网络的灵活性
和可用性。
二、搭建负载均衡服务的需求:
1)把单台计算机无法承受的大规模的并发访问或者数据流量分担到多台节点设备上
分别处理,减少用户等待响应的时间,提升用户体验。
2)单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备结束后,
将结果汇总,返回给用户,系统处理能力得到大幅度提升。
3)7*24的服务保证,任意一个或多个有限节点设备宕机,要求不能影响业务。
三、LVS的介绍:
LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器
集群系统,可以在UNIX/LINUX平台下实现负载均衡集群功能。
该项目是在1998年5月由章文嵩博士组织成立的,是中国国内最早出现的自由
软件项目之一。
四、关于LVS的配置使用:
LVS负载均衡调度技术是在Linux内核中实现的,因此,被称为Linux
虚拟服务器。我们使用该软件配置LVS时候,不能直接配置内核中的ipvs,
而需要使用ipvs的管理工具ipvsadm进行管理,ipvs的管理工具ipvsadm管理ipvs。
五、LVS技术点小结:
1)真正实现负载均衡的工具是ipvs,工作在linux内核层面。
2)LVS自带的ipvs管理工具是ipvsadm。
3)keepalived实现管理ipvs及对负载均衡器的高可用。
4)Red hat工具Piranha WEB管理实现调度的工具ipvs。
六、LVS体系结构与工作原理:
1)LVS集群负载均衡接收服务的所有入站客户端计算机请求,并根据调度算法决定哪个集群节点应该处理回复请求。
负载均衡(LB)有时也被称为LVS Director(简称 Director).
2)LVS虚拟服务器的体系结构如下图,一组服务器通过高速的局域网或者地理分布
的广域网相互连接,在他们的前端有一个负载调度器(Load Balancer)。负载调度器能
无缝地将网络请求调度到真正的服务器上,从而使得服务器集群的结构对客户是透明的,
客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一样。客户程序
不受服务器集群的影响不需做任何修改。系统的伸缩性通过在服务集群中透明地加入和删除
一个节点来达到,通过检测节点或服务进程故障和正确的重置系统达到高可用性。由于我们的负载调度技术在
linux内核中实现的,我们称之为linux虚拟服务器(Linux Virtual Server)。
七、LVS社区提供了一个命名的约定:
名称: 缩写
虚拟IP地址(Virtual IP Address) VIP
说明:VIP为Director用于向客户端计算机提供服务的ip地址,
比如: 域名就解析到vip上提供服务。
-------------------------------------------------------------------------------
真实ip地址(Real Server ip Address) 缩写:VIP
说明:在集群下面节点上使用的ip地址,物理ip地址。
-----------------------------------------------------------------------------------
Director的ip地址(Director ip Adress) 缩写:DIP
说明:Director用于连接内外网络的ip地址,物理网卡上的IP地址,
是负载均衡上的ip。
-------------------------------------------------------------------------------------
客户端主机IP地址(Client IP Address) 缩写:CIP
说明:客户端用户计算机请求集群服务器的IP地址,该地址用作发送
给集群的请求的源ip地址。
----------------------------------------------------------------
LVS集群内部的节点称为真实服务器(Real server),也叫做集群节点。请求集群服务的
计算机称为客户端计算机。
与计算机通常在网上交换数据包的方式相同,客户端计算机、Director
和真实服务器使用IP地址彼此进行通信。
------------------------------------------------------------------------------------------
八、LVS集群的3种工作模式介绍与原理讲解
1)IP虚拟服务软件ipvs,在调度器的实现技术中,IP负载均衡技术是
效率最高的。在已用的ip负载均衡技术中有通过网络地址转换
(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,
我们称之为VS、NAT技术(Virtual Server Network Adress Translation)。
2)在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出通过IP隧道实现虚拟服务器的
方法VS/TUN(Virtual Server via IP Tunneling)和通过直接路由实现虚拟服务
器的方法VS/DR(Virtual Server via Director Routing),它们可以极大地提高系统的伸缩性。
3)淘宝开源的模式FULLNAT。
LVS的四种工作模式:
缩写及全拼:
NAT(Network Adress Translation)、TUN(Tunneling)、
DR(Director Routing)、FULLNAT(FULL Network address Translation)
-------------------------------------------------------------------------------------------
九、什么是ARP协议:
1) ARP协议:全称"Address Resolution Protocol",中文名地址解析协议,使用ARP协议可
实现通过IP地址获得得对应主机的物理地址(MAC地址)。
在TCP/IP的网络环境下,每个联网的主机都会被分配一个32位的ip地址,
这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在
物理网路上传输,还必须要知道对方目的主机的物理地址(MAC)才行。这样就存在把IP地址变成
物理地址的地址转换的问题。
在以太网环境,为了正确地目的主机传送报文,必须把目的主机的32位IP
地址转换成为目的主机48位以太网的地址(MAC地址)。这就需要在互联层有一个服务或功能将
IP地址转换为相应的物理地址(MAC地址),这个服务或者功能就是ARP协议。
所谓的“地址解析”,就是主机在发送帧之前将目标IP地址转换成目标MAC地址的过程,
ARP协议的基本功能就是通过目标设备的ip地址,查询目标设备的MAC地址,以保证主机
间互相通信的顺利进行。
ARP协议和DNS有点相像之处,不同点是:DNS是在域名和IP之间的解析,另外,ARP协议不需要
配置服务,而DNS要配置服务才行。
ARP协议要求通信的主机双方必须在同一个物理网段(即局域网)!
2)关于ARP的小结:
1.ARP全称“Address Resolution Protocol”;
2.实现局域网内通过IP地址获取主机的MAC地址;
3.MAC地址48位主机的物理地址,局域网内唯一;
4.ARP协议类似DNS服务,但不需要配置服务。
5.ARP协议是三层协议。
--------------------------------------------------------------------------------------------------------
十、ARP缓存表:
1)每台安装有TCP/IP协议的电脑都会有一个ARP缓存表(windows 命令提示符里输入arp -a即可)。
表里的ip地址与MAC地址是一一对应的。
arp常用命令:
arp -a :查所有记录
arp -d :清除
arp -s :绑定IP和MAC
2)ARP缓存表是把双刃剑:
1.主机有了arp缓存表,可以加快ARP的解析速度,减少局域网内广播风暴。
2.正是有了arp缓存表,给恶意黑客带来了攻击服务器主机的风险,这个就是arp欺骗攻击。
3.切换路由器,负载均衡器等设备时,可能会导致短时网络中断。
3)为啥用ARP协议?
OSI模型把网络工作分为七层,彼此不直接通信打交道,只通过接口。IP地址工作在第三层,
MAC地址工作在第二层。当协议在发送数据包时,需要先封装第三层IP地址,第二层MAC地址的报头,
但是协议只知道目的节点的ip地址,不知道目的节点的MAC地址,又不能跨第二、三层,所以得用ARP协议服务,
来帮助获取目的节点的MAC地址。
4)ARP在生产环境产生的问题及解决办法:
1.ARP病毒,ARP欺骗
2.高可用服务器对之间切换时要考虑ARP缓存的问题。
3.路由器等设备无缝迁移时需要考虑ARP缓存的问题,例如:更换办公室的路由器。
5)ARP欺骗原理:
ARP攻击就是通过伪造IP地址和MAC地址对实现ARP欺骗的,如果一台主机中了ARP病毒,
那么它就能在网络中产生大量的ARP通信量,很快的进行广播以至于使网络阻塞,攻击者
只要持续不断的发出伪造的ARP响应就能更改局域网中目标主机ARP缓存中的IP-MAC条目,
造成网络中断或者中间人攻击。
第一阶段:初级入门
初级阶段需要把linux运维学习路线搞清楚,任何学习都是循序渐进的,所以学linux运维也是需要有一定的路线。
1、Linux基础知识、基本命令(起源、组成、常用命令如cp、ls、file、mkdir等常见操作命令)
2、Linux用户及权限基础
3、Linux系统进程管理进阶
4、linux高效文本、文件处理命令(vim、grep、sed、awk、find等命令)
5、shell脚本入门(可边练习边学习)
第二阶段:中级进阶
中级进阶需要在充分了解linux原理和基础知识之后,对上层的应用和服务进行深入学习,其中说到服务肯定涉及到网络的相关知识,是需要花时间学习的。
1、TCP/IP网络基础(差不多CCNA、NP的知识就够用)
2、Linux企业常用服务(如dns、http、ftp、mail、nfs等)
3、Linux企业级安全原理和防范技巧(系统性能/安全、安全威胁模型和保护方法
4、加密/解密原理及数据安全、系统服务访问控制及服务安全基础
5、iptables安全策略构建
6、shell脚本进阶(主要是结合一些应用,写一些案例)
7、MySQL应用原理及管理入门(能管理和搭建一个个人博客站点)
第三阶段:高级提升
1、http服务代理缓存加速(其中主要学习varnish、nginx缓存系统,要对CDN的知识有所了解。)
2、企业级负载集群(其中主要学习nginx、haproxy、lvs要对主要知识熟练掌握,对负载均衡算法有清晰认识)
3、企业级高可用集群 (其中需要对keepalived,heartbeat等进行深入讲解)
4、运维监控zabbix详解(主要是zabbix、cacti、nagios等监控系统,现在用的比较多的是zabbix)
5、运维自动化学习(需要学一些开源运维自动化工具的使用如ansible、puppet、cobbler等运维自动化工具)
第四阶段:资深方向进阶
1、 大数据方向(需要对hadoop、storm等常见开源大数据系统需要深入了解)
2、 云计算方向(主要是openstack这套东西,当然像一些kvm等虚拟化技术,也是需要掌握的,现在docker也比较流行)
3、 运维开发(主要是python运维开发)
4、 自动化运维(在之前自动化基础上做深入)
5、 运维架构师(主要需要广度,差不多5年左右以上经验,可以担当此职位)
LVS共有三种模式,优缺点比较如下:
NAT模式
优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配Internet的保留私有地址,只有负载均衡器需要一个合法的IP地址。
不足:扩展性有限。当服务器节点(普通PC服务器)数据增长到20个或更多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包都需要经过负载均衡器再生。假使TCP包的平均长度是536字节的话,平均包再生延迟时间大约为60us(在Pentium处理器上计算的,采用更快的处理器将使得这个延迟时间变短),负载均衡器的最大容许能力为8.93M/s,假定每台物理服务器的平台容许能力为400K/s来计算,负责均衡器能为22台物理服务器计算。
TUN模式
我们发现,许多Internet服务(例如WEB服务器)的请求包很短小,而应答包通常很大。
优点:负载均衡器只负责将请求包分发给物理服务器,而物理服务器将应答包直接发给用户。所以,负载均衡器能处理很巨大的请求量,这种方式,一台负载均衡能为超过100台的物理服务器服务,负载均衡器不再是系统的瓶颈。使用VS-TUN方式,如果你的负载均衡器拥有100M的全双工网卡的话,就能使得整个Virtual Server能达到1G的吞吐量。
不足:但是,这种方式需要所有的服务器支持”IP Tunneling”(IP Encapsulation)协议,我仅在Linux系统上实现了这个,如果你能让其它操作系统支持,还在探索之中。
DR模式
优点:和VS-TUN一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器,其中包括:Linux 2.0.36、2.2.9、2.2.10、2.2.12;Solaris 2.5.1、2.6、2.7;FreeBSD 3.1、3.2、3.3;NT4.0无需打补丁;IRIX 6.5;HPUX11等。
不足:要求负载均衡器的网卡必须与物理网卡在一个物理段上