1、题 目: 基于LVS的高性能web应用服务器部署和应用摘 要随着互联网的全球的全面兴起,全球上网人数也在与日俱增,因此也考验网站的承载能力。如果它的性能没有跟上访问量,就会导致用户在访问网站的时候刷出网页的速度很慢,网页响应的速度也大打折扣,严重影响用户上网体验。更有甚者,如果碰到极高峰值的访问量和交互度,可能会导致整个服务器宕机,用户完全链接不上网络,将会对企业和政府机构造成不可估量的损失。本次论文也是以探寻高性能Web服务器为主题进行相关研究,主要研究基于LVS的高性能web应用服务器部署和应用。主要通过lvs和keepalived实现,具有负载均衡和高可用性,网站的数据安全性强,通过主从
2、同步来自动完成数据备份,能自动监控。通过本次的课题研究,对现实web应用有了一个更加全面的认识。关键词:LVS 虚拟化 高性能目 录第一章 绪论1.1 课题背景及研究意义1.2 相关关键技术介绍第二章 需求分析2.1 高性能web应用服务器部署概述2.2 高性能web应用服务器功能性需求第三章 基于LVS的高性能web应用服务器部署设计3.1 系统功能结构图3.2 网络结构设计第四章 基于LVS的高性能web应用服务器部署的应用4.1 web应用服务器部署与设计4.2 存储设计4.3 数据库设计4.4 虚拟化设计4.5 网络设计第五章 基于LVS的高性能web应用服务器部署测试5.1 web应
3、用服务器负载均衡测试5.2 web应用服务器高可用性测试5.3 存储测试5.4 数据库测试5.5 监控测试结 论参 考 文 献II第一章 绪论随着信息技术的发展,有越来越多的互联网应用应运而生,这就无可避免需要服务器能够承载更大访问量的同时,响应速度等性能也不会受到影响。不少人针对这个问题展开研究,也设计了很多不同的方案以解决该问题。本次论文也是以探寻高性能Web服务器为主题进行相关研究。1.1 课题背景及研究意义现在的社会已经是一个互联网的社会,网络使得人与人之间的距离变得更近,我们发现小到我们的日常生活,平常的上网冲浪,到企业政府的业务处理,乃至关联到整个社会的和谐稳定,都少不了互联网的参
4、与。而伴随着互联网的全球的全面兴起,全球上网人数也在与日俱增,因此也考验网站的承载能力。如果它的性能没有跟上访问量,就会导致用户在访问网站的时候刷出网页的速度很慢,网页响应的速度也大打折扣,严重影响用户上网体验。更有甚者,如果碰到极高峰值的访问量和交互度,可能会导致整个服务器宕机,用户完全链接不上网络,将会对企业和政府机构造成不可估量的损失。就像一些如淘宝等大型的电商网站,尤其是在双十一的时候,这么大而密的访问量,网页不迟缓,交易也不卡,服务器和数据库要承受多大的数据访问量。因此本课题具有较高的现实意义,搭建具有较好承载力的web应用服务器依然是众多学者一直深度学习的课题,也是现代社会发展的必
5、经之路。 1.2 相关关键技术介绍 (1)VMware虚拟化与云计算,是一项综合的技术,需要掌握网络、存储、服务器等方面的知识,有一定的动手实践能力。VMware就是一门虚拟化技术,但虚拟化从来不是单独存在的,要学好、用好虚拟化,需要一系列的基础服务, Windows Server 2008 R2或Windows Server 2012 R2 Active Directory的配置、DHCP配置、WSUS配置、KMS配置,并了解证书服务,为服务器申请并安装证书,这些都是虚拟化的基础。只有掌握了这些,并配置好这些环境,才能让虚拟化的项目运行的更好。(2)centos和vyatta我们日常习惯都是
6、用windows系统,但是在服务器里使用Unix或者Linux系统,不仅是因为这两个系统开源免费,在开发上大大降低了前期的成本;而且因为这两个系统相较于windows系统的安全性更高,稳定性更佳,系统崩溃的概率非常小,并且一般针对windows的病毒也更多。基于上述原因,这两个系统在服务器系统中大受欢迎。开发人员也针对这两个系统设计了很多版本的系统,他们逐渐占据更大的份额。其中,CentOS可以说是更稳定以及更安全。由于 CentOS 的更新频率较低,这意味着软件测试的时间更长,并且只有真正稳定的版本才会得到发布。如果用户使用 CentOS,你不会因新的bug 的应用程序版本而遇到任何稳定性问
7、题,因为你不会得到那个新的有 bug 的版本。并且CentOS的市场占用率更大,这也就意味着人们更习惯于在CentOS上面开发应用,因此开源项目也就更多,初学者很容易找到相应可供学习的东西。Vyatta同样也是一个Linux版本,它的安装简单,用户不需要在配置其他环境就可以使用。Vyatta还针对VMware,Citrix XenServer,Xen,KVM和Hyper V等虚拟环境进行了优化。它基于Debian,可以从物理硬件安装和运行。 安装过程使用Live CD,格式化可用硬盘,安装系统并在完成后重新启动。 一旦重启,它就可以像普通系统一样运行。(3)LVSLVS实现的是负载均衡的作用,
8、可支持上万并发连接,支持多种论调算法,对内存和CPU资源消耗极低。LVS通过vrrp协议进行数据包转发的,提供的是4层的负载均衡。特点是效率高,只要我们的机器网卡抗的住就不是问题。LVS本身是明显的单点故障,因此需要使用双机软件做热备,来保证高可用性。LVS有负载均衡机制,目前支持8中均衡算法。(4)keepalivedKeepalived是一个路由软件。初学者可能会难以区分Keepalived和LVS的功能,因为LVS可以用ipvsadm 写个记录能实现负载均衡,keepalived同样也能配置LVS实现负载均衡。但其实keepalived不是一个负载均衡软件 主要作用是对服务器状态检测和故
9、障隔离。对于在keepalived中配置lvs模块,一般的理解是对补充lvs的配置。Keepalived是采用低层语言C语言编写而成的,它可作用热备和健康检测。一般实际应用中,我们使用两台Keepalived做双机热备。双机热备份的意思就是二台服务器同时工作,如果在运行过程中坏了一台也不要紧,还有另外一台可以直接使用。与冷备不同,热备不需要我们手工进行机器的切换,在监控keepalived所在服务器上的其他业务进程出现异常的时候,系统将会直接进行切换。尽管在使用的时候有一台机器出现问题,但是由于这个双机热备的机制,以至于这个切换完全在后台自动完成,我们在前台使用的时候依然可以正常使用,完全没有
10、出现故障的感觉。但是这些还不够,我们还需要监控keepalived所在服务器上的其他业务进程,根据业务进程的运行状态决定是否需要进行主备切换。(5)apacheApache是一个网页服务器软件,简单的说,就是网站的平台。网站web application 不能直接编译运行,需要放在web 服务器上才能够正常执行,也就是将网站web application 部署到web 服务器,我们实际上是通过连接服务器访问网站,才能被browser 访问。Apache能够提供各种各样的服务和功能,具体看j2ee 的定义。(6)glusterfs世界每天都在不断增加数据量,科学应用,天气预报,研究,医院,军事服
11、务等几个应用领域是这些数据量的主要贡献者。随着数据量的增加,提供高效,易用的解决方案的需求已成为这些类型的计算的主要问题之一。这么庞大的数据量必然需要一个强大的系统进行支撑,防止数据的溢出。Gluster文件系统就是为了解决这一问题而设计的,它支持标准的posix接口,是一个集群的文件系统。目前已经有越来越多的公司使用该系统,进行文件的分布式存储。并且Gluster具有较高的可用性,它可以挂载在linux系统中直接使用,而不像Fastdfs需要提供API进行操作。相对来说,Gluster的容错率也较高,它使用FUSE(用户空间中的文件系统)将自己与VFS层挂钩。它采用分层方法来处理文件系统,根据需要添加/删除功能。(7)MycatMycat是开源的分布式数据库系统,但实际上,按我的理解