- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
负载均衡及服务器集群(lvs)
作者:田逸
在互连网应用技术里,负载均衡一直是热门话题,本书讨论的负载均衡技术,包括但不限于负
载均衡本身。使用负载均衡技术主要的目的包括如下几点:
◆ 系统高可用性。组成系统的某些设备或部件失效,并不会影响正常的服务。
◆ 系统可扩展性。用户的增加,引起访问数乃至流量的增加,这种情形下,需要对系统进
行扩容,以应对这种快速增长。对于提供高可用服务的互联网网站,其对可扩展的基本
要求就是在保持系统服务不终止的情况下,透明的扩充容量,即用户不知道扩容的存在,
或者说是扩容不对现有的服务产生任何负面作用。这些扩展主要包括:带宽扩展、服务
器扩展、存储容量扩展、数据库扩展等,当然也包括主机增加内存等方面的扩展。
◆ 负载均衡能力。一个应用或服务由数个物理服务器提供,并且每个物理服务器运行的应用
或服务是相同的,我们可以让用户的访问通过某种控制策略,把负载分摊到不同的物理服
务器,从而保持每个物理服务器有比较合理的负载。当整个系统的负载趋于饱和时,通过
增加物理服务器和扩充物理带宽来解决这个麻烦。增加物理服务器以后,系统的负载情
况将重新在所有集群的物理服务器之间按照指定的算法重新达到新的均衡。
一个完整的负载均衡项目,一般由虚拟服务器、故障隔离及失败切换3 个功能框架所组成。
虚拟服务器是负载均衡体系的基本架构,它分两层结构:转发器(Director)和真实服务器。
为什么称虚拟服务器?因为从用户的角度看来,似乎只是一个服务器在提供服务。虚拟服务
器最主要的功能是提供包转发和负载均衡,这个功能可以通过撰写ipvsadm 脚本具体实现。
虚拟服务器项目由章文嵩博士所贡献,目前已被添加到各种linux 发行版的内核。
故障隔离指虚拟服务器中的某个真实服务器(或某几个真实服务器)失效或发生故障,系统
将自动把失效的服务器从转发队列中清理出去,从而保证用户访问的正确性;另一方面,当
实效的服务器被修复以后,系统再自动地把它加入转发队列。
失败切换,这是针对负载均衡器Director 采取的措施,在有两个负载均衡器Director 的应用
场景,当主负载均衡器(MASTER)失效或出现故障,备份负载均衡器(BACKUP)将自
动接管主负载均衡器的工作;一旦主负载均衡器故障修复,两者将恢复到最初的角色。
要从技术上实现虚拟服务器、故障隔离及失败切换3 个功能,需要两个工具:ipvsadm 和
keepalived。当然也有heartbeat 这样的工具可以实现同样的功能,但相对于keepalived,
heartbeat 的实现要复杂得多(如撰写ipvsadm 脚本,部署ldirectord,编写资源文件等)。在
采用keepalived 的方案里,只要ipvsadm 被正确的安装,简单的配置唯一的文件keepalived
就行了。
6.1 lvs 核心ipvs
Ipvs IP Virtual Server 是整个负载均衡的基础,如果没有这个基础,故障隔离与失败切换
就毫无意义了。在大部分linux 发行版中,ipvs 被默认安装,而以本书前面介绍的方法定制
安装系统,则ipvs 没有被默认安装。
除大部分linux 发行版支持ipvs 外,FreeBSD 也可以支持LVS,只不过实现起来要麻烦一些。
6.1.1 安装ipvs
Ipvs 具体实现是由ipvsadm 这个程序来完成,因此判断一个系统是否具备ipvs 功能,只需要
察看ipvsadm 程序是否被安装。察看ipvsadm 程序最简单的办法就是在任意路径执行命令
ipvsadm。
执行 ipvsadm 后的输出
未安装ipvsadm -bash: ipvsadm: command not foun
安装ipvsadm IP Virtual Server version 1.2.1 size 4096
Prot LocalAddress:Port Scheduler Flags
- RemoteAddress:Port Forward Weight ActiveConn InActConn
表6-1 ipvsadm 输出对比(样例来源centos 5.2)
● Centos5.2 安装ipvsadm 假定当前目录为/root
1、 从官方网站下载ipvsadm,目前最新的版本为ipvsadm-1.25.tar.gz ,其发布时间是2008
年11 月5 日。Wget /software/kernel-2.6/ipvsadm-1.24.tar.gz
取得该版本[1]。
2、 创建一个连接文件,其命令为:ln –sv /usr/src/kernels/2.6.18-92.el5PAE-i686 /usr/src/linux .
注意一定要与当前的运行
文档评论(0)