收藏 分享(赏)

Linux下的高可用负载均衡服务器集群.doc

上传人:w89153 文档编号:6211133 上传时间:2019-04-02 格式:DOC 页数:31 大小:605KB
下载 相关 举报
Linux下的高可用负载均衡服务器集群.doc_第1页
第1页 / 共31页
Linux下的高可用负载均衡服务器集群.doc_第2页
第2页 / 共31页
Linux下的高可用负载均衡服务器集群.doc_第3页
第3页 / 共31页
Linux下的高可用负载均衡服务器集群.doc_第4页
第4页 / 共31页
Linux下的高可用负载均衡服务器集群.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、泰 山 学 院本 科 毕 业 论 文Linux 下的高可用负载均衡服务器集群所 在 学 院 信息科学技术学院 专 业 名 称 计算机科学与技术 申请学士学位所属学科 工 学 年 级 二一级 学 生 姓 名 、 学 号 韩 德 田 2010070138 指 导 教 师 姓 名、职称 张岩 讲师 完 成 日 期 2014 年 5 月 摘要I摘 要随着互联网技术的不断发展与普及,人们对网络的需求正在不断的增强,甚至已经达到了生活中离不开网络的地步。在飞速发展的互联网时代,企业的单服务器模式已不能承受大并发的数据访问,负载均衡服务器集群应运而生。然而,企业的很多服务需要 24 小时不间断的运行,任何服

2、务的失效都可能造成灾难性的后果,因此,搭建高可用服务器集群已成为企业的重中之重。本设计在充分考虑企业服务的基础之上,论述了如何在 Linux 下搭建一个高可用负载均衡的企业服务器集群环境。设计中企业的 web 服务器是采用的 LAMP环境,Keepalived 和 LVS 可以实现企业的高可用负载均衡 web 服务器集群,由于企业的数据存放在数据库中,为了减少单点故障造成数据库数据的损坏,利用MySQL 双主机实现数据库的自动备份,通过 MySQL-HA 集群在数据库出现单点故障的情况下实现数据库的自动跳转。web 服务器需要进行域名解析,设计中还搭建了 DNS 服务器。关键词:高可用;负载均

3、衡;集群;keepalived;LAMP;DNSABSTRACTIIABSTRACTWith the continuous development of Internet technology and popularization, people demand for network is constantly enhanced, even has reached the point of life is dependent on the network.In the era of rapid development of Internet, the enterprise of the sin

4、gle server mode has been unable to bear large concurrent data access, load balancing server cluster arises at the historic moment. However, many service enterprises need to run 24 hours a day, any service failure may cause disastrous consequences, as a result, build a high availability server cluste

5、r has become the key of the enterprise.This design on the basis of fully considering the enterprise service, it is discussed how to build a high availability under Linux load balancing server cluster environment of enterprises. Enterprise web server is used in the design of LAMP environment, Keepali

6、ved and LVS can realize the load balancing web server high availability cluster of enterprises, as a result of the enterprise data stored in the database, in order to reduce the single point of failure causes the damage of database data, using MySQL hosts realize the automatic backup of the database

7、, through the MySQL - HA cluster under the condition of a single point of failure occurs in the database to realize the database automatically jump. In the design of web server domain name resolution is required, also set the DNS server.Key words: High availability; load balancing; cluster; keepaliv

8、ed; LAMP; DNS目录III目录1 引 言 .11.1 选题的背景和意义 .11.2 国内外的研究现状 .12 集群技术 .22.1 集群的定义 .22.2 集群的分类 .22.3 集群的优点 .33 负载均衡(Load Balancing)集群 .33.1 负载均衡集群 .33.2 LB 集群的工作过程 44 高可用(High Avaliablity)集群 .44.1 高可用集群 .44.2 HA 集群的工作过程 55 服务器系统 .55.1 RHEL 系统简介 55.2 RHEL6.4 安装 66 服务器集群 .96.1 服务器集群拓扑及规划 .96.2 DNS 服务器 106.2

9、.1 主 DNS 服务器搭建 .106.2.2 从 DNS 服务器搭建 .116.3 LAMP 服务器 116.3.1 Apache 简介 116.3.2 PHP 简介 126.3.3 MySQL 简介 126.3.4 LAMP 服务器搭建 126.4 LVS 集群服务器 136.4.1 LVS 负载均衡模式 136.4.2 LVS 负载均衡调度算法 146.4.3 LVS 集群服务器搭建 156.5 keepalived+LVS 集群服务器 156.5.1 keepalived 简介 166.5.2 keepalived+LVS 服务器搭建 166.6 MySQL-HA 集群服务器 176.

10、6.1 MySQL 双宿主机搭建 176.6.2 keepalived+MySQL 集群服务器搭建 187 集群测试 .207.1 安装测试 discuz 207.2 高可用负载均衡集群测 .22参考文献 .24致 谢 .25泰山学院本科毕业论文(设计)11 引 言1.1 选题的背景和意义目前,越来越多的网站使用 Linux 操作系统提供电子邮件,网页,文件存储,数据库服务,并且众多的公司使用 Linux 服务器提供这些服务于企业内部网络之中。在 Linux 服务器领域,人们越来越关注它的负载能力、科学计算能力以及运行的可靠性。随着网络的不断发展,现在越来越多的人都在体验着互联网给我们生活所带

11、来的便利。Web 已发展成为一种大众服务平台,在 Web 上运行着诸如新闻、视频、电子商务、网上银行等众多的应用和服务。Web 服务中越来越多地使用 CGI、动态页面等,这对服务器的性能有了更高的要求。现在互联网的营销发展迅速,借助互联网进行销售的浪潮此起彼伏,而商城购物集中的时间段会出现大量用户的并发数据请求。负载均衡的集群服务器可以将用户的并发请求分摊给不同的服务器。这样不仅能够减轻服务器的压力,还能够提高用户的体验度。大部分企业的服务需要 24 小时不间断的提供服务,高高可用性就显得尤为重要,而高可用集群与负载均衡集群的整合,可以提供更加可靠,稳定的服务。在这样一个网络环境下,高可用服务

12、器负载均衡集群出现,服务器集群化能够减少单点故障的数目,而且能够完成集群中资源的高可用性 1。1.2 国内外的研究现状九十年代末,Linux 操作系统已经成熟,稳定和不断提高,提供了 PVM,MPI消息传递机制的标准化和 GNU 软件。值得一提的是在普通 PC 机器上 Linux 系统采用了对高性能网络的支持,在这种情况下促进了 Linux 系统集群的不断发展。著名的红帽公司开发了 RHCS 套件,实现了 Linux 下高可用集群服务器环境的部署。国内诸多著名的学者和公司投入到 Linux 集群服务的研究当中,其中在虚拟泰山学院本科毕业论文(设计)2服泰山学院本科毕业论文(设计)3务器集群系统

13、领域取得了重大突破。LVS 是由中国著名博士章文嵩研究开发的,它提供了优秀的负载均衡集群解决方案。很多商业集群产品,譬如红帽的Piranha,它采用了 LVS 的核心代码。LVS 和 HA 的不足之处主要有:LVS 集群是通过前端的 IP 调度器去调度提供服务的真实服务器,如果 IP 调度器宕机,会导致无法调度真实服务器,存在单点故障问题。HA 集群通常有两个以上节点的形式存在,某一节点单独处理能力是非常有限的,如果有一个高并发数据访问请求,为了提高服务器响应处理能力就必须将之前的服务器淘汰掉,加大了投资。因此,把 LVS 和 HA 集群在一起特别重要。2 集群技术2.1 集群的定义集群(cl

14、uster)是一些彼此间独立通过借助高速网络连接在一起的计算机构成的一个组,通过单一系统模式进行维护管理,而这些彼此间独立的计算机构成了集群中的节点(node) 。在一起的服务器集群多提供相同的服务,当客户与集群互动时,就像只有一台服务器在工作一样。集群将很多服务器集中起来一起提供同一种服务,在客户端与集群相互作用的时候,集群看起来就像是只有一个服务器。集群能够在低成本的情况下使其性能、可靠性和灵活性取得较高的收益。集群系统中最核心的技术则是任务调度 2。2.2 集群的分类按照集群系统中节点计算机之间结构体系是否相同把集群分成同构和异构两类。高性能集群(High-performance clu

15、sters,简称 HPC) 、负载均衡集群(Load Balancing clusters,简称 LB) 、高可用性集群(High-availability clusters,简称 HA)是集群划分的三种类型。高性能集群把科学计算任务分配给集群中的不同节点,进而通过节点之间的并行计算来提高计算能力。现在的 HPC 完成并行计算利用了 Linux 系统和第三方免费开源软件,又被称为 Beowulf 集群。高性能集群可以提供强大的计算能力,泰山学院本科毕业论文(设计)4单个计算机是无法比拟的。在计算数值、处理数据等方面越来越追求其过程的综合性能。HPC 在数据挖掘应用、生命科学领域、基因对照测序、

16、油气勘探、卫星云图等方面发挥着重要作用,应用领域越来越广泛。负载均衡集群使负载能够在集群中尽可能快地进行分摊处理。集群中每一节点分担处理负载,还能够实现负载在节点之间的动态分配,从而实现负载均衡。这样的系统非常适合像使用同一组应用程序的大量用户提供服务。高可用性集群,在集群中有一个系统出现故障,集群软件能快速响应,把该系统的任务转移到集群中正在工作的其他系统上执行,正是通过这样的方式从而保证集群服务的可靠性的。2.3 集群的优点性能提高:一般情况下,工作负载在网络服务上都是彼此独立的任务,把这些任务透过集群技术进行分发处理,服务的整体性能提升许多。成本降低:集群比具有相同运算能力的大型计算机在

17、达到相同效果的情况时成本更低,因而具有更高的性价比。扩展性高:集群中的节点可以很多,可以达到上万节点规模,而单台超级计算机在扩展性方面远不及集群的表现。可靠性高:单一系统发生故障时通过集群技术可以将服务停运时间减少到最小。集群不仅仅提高了系统的性能,也减少了企业因系统故障带来的损失。3 负载均衡(Load Balancing)集群3.1 负载均衡集群负载均衡,英文名称为 Load Balance。负载均衡将工作负载动态分配给节点单元进行处理,比如文件服务器、网站服务器等,进而完成工作任务 3。集群中的负载均衡的含义有两个:其一,将重负载运算动态分配到集群中的节点上,每个节点将处理后的结果返回,

18、然后取回总的运算结果交给用户,从而提过了运算能力。其二,将来自网络的大量并发访问请求以及数据流量通过各种泰山学院本科毕业论文(设计)5分发技术动态的分配到节点服务器,加快服务器的响应速度,提高用户的体验度,在企业的 web 服务器和文件服务器中比较常见。现代负载均衡技术通常应用在网络的四层、七层,主要针对于应用层的网络,脱离了交换机和服务器成为独立的技术层次设备,因此也成为了讨论的对象。最近几年,四、七层的网络负载均衡在网络通信和大型网站上得到了广泛应用,而流量瓶颈问题越发严重,所以负载均衡集群的需求日益增加。负载均衡集群,通过虚拟的 IP 调度技术以及调度算法对真实节点服务器进行动态分发来自

19、网络的客户的访问请求,只有当用户的访问请求满足设定的调度算法时,才会发生负载均衡调度,否则不进行负载均衡调度。3.2 LB 集群的工作过程LB 集群系统包括调度器和真实服务器两部分。集群调度器有时简称为管理节点,是提供资源处理的系统,集群的实际工作由它进行。一般来讲,它必须被配置成为集群的一部分,也是在集群中始终运行的应用软件。Linux 中的集群调度器是通过将节点捆绑从而构成单一系统的逻辑结构,主要工作负则将工作负载动态分配到集群中的所有节点。调度器接收来自用户的访问请求,然后根据调度算法将访问请求分发给真实的服务器,完成对真实服务器的调度工作。调度器具有健康型检测功能,如果某台真实服务器故

20、障,调度器将不会在分发访问请求给它,而当其能够正常提供服务的时候,调度器将再次重新分发请求给它。调度器将真实服务器返回的结果响应给用户取决于网络拓扑规划,也可以不通过调度器返回给用户结果。 4 高可用(High Avaliablity)集群4.1 高可用集群高可用集群,简称 HA 集群,它是一种以减少服务中断时间为目的的服务器集群技术。一般情况下,高可用集群采用双机热备来实现 4。高可用集群的出现是为了减少由计算机硬件和软件易错性所带来的损失。高泰山学院本科毕业论文(设计)6可用集群能够将软件、硬件以及人为因素造成业务故障的影响控制在最小范围内。假如其中的一个节点失效,备份节点能够在几秒钟甚至

21、更短的时间内接管它的工作。因此,集群给用户带来的感觉是一直运行,不会停机。高可用集群软件能够业务自动化切换和故障检查。从而保证服务的正常运行,减少企业的损失!4.2 HA 集群的工作过程一般来说,高可用集群是由主服务器和从服务器两部分构成的。当主服务器正常工作时,由主服务器来提供服务,如果主服务器宕机,则由从服务器来提供服务。 从服务器能够通过一定的检测机制(心跳检测)获得主服务器状态。集群中的节点会定期的将自己的心跳信息通告出去,尤其是主服务器,如果从服务器在几个心跳周期内(可自行设置心跳周期)还没有检测到的话,就认为主服务器宕掉了,随即接管主服务器的工作,实现故障的自动转移。在备份服务器接

22、管了主服务器的提供服务后,主服务器可以进行离线修复工作。当主服务器完成修复工作,正常启动之后,可以通过设置夺回主服务器的地位,当然也可以设置不夺回主服务器地位,那样如果从服务器宕机,将导致服务中断,造成企业损失,一般情况下应夺回主服务器的地位。高可用集群服务器一般情况下是通过软件来实现的,在企业中使用的比较多的软件就是 keepalived。5 服务器系统5.1 RHEL 系统简介Red Hat 是全球最大的开源技术厂家,而它的 Red Hat Enterprise Linux 也是全世界应用最广泛的 Linux。RHEL 是 Red Hat Enterprise Linux 的缩写,也就是红

23、帽企业版 Linux 操作系统。从 2005 年到 2011 年,红帽公司先后发布了 RHEL4、RHEL5 以及 RHEL6 三个版本。实现完全重写的进程调度器和多处理器锁定机制在 RHEL6 中充分体现了泰山学院本科毕业论文(设计)7出来,它与英伟达图形处理器整合提高了 GNOME 和 KDE 的桌面服务能力。系统管理员通过系统安全守护程序功能集中进行身份管理,通过系统内置的 SELinux 服务更好地处理不受信任的内容。RHEL6 版本中内置了 GCC 4.4 组件,随着红帽公司的不断发展,2013 年 12 月,RHEL 7 Beta 版本发布。5.2 RHEL6.4 安装设计环境是在

24、虚拟机中进行的,搭建虚拟机的软件为:VMware Workstation 10,在虚拟机中安装 RHEL6.4 的步骤与真实机有些许差别。首先,在 VMware 中创建一个新的虚拟机,系统为 Linux,版本为:Red Hat Enterprise Linux 6 64 位,内存大小为 2048M,硬盘为 60G,选择稍后安装操作系统,这也就是与真实机器不同的地方。其次,在新虚拟机中安装 RHEL6.4,之后的安装过程与真实机相同,安装步骤如下:第一步,编辑虚拟机,选择 iso 镜像,然后开启虚拟机,开始系统安装。第二步,发现镜像磁盘,如图 5.1 所示,选择跳过磁盘检测。图 5.1 磁盘检测

25、图第三步,选择中文(简体) ,键盘选择美国英语式,安装到基本存储设备,忽略所有数据。泰山学院本科毕业论文(设计)8第四步,时钟选择亚洲/上海,密码设置为:xiaoke。第五步,创建自定义分区布局(/boot 200M,/ 20G,/usr 20G,/var 10G,swap 2G),文件系统为 ext4,如图 5.2 所示,剩余的磁盘容量暂时不使用,留作以后备用。图 5.2 硬盘分区图第六步,格式化分区,将修改写入磁盘,选择默认安装引导程序。第七步,选择现在定制服务,如图 5.3 所示,自定义安装服务程序软件。泰山学院本科毕业论文(设计)9图 5.3 服务安装选择图第八步,等待系统安装,直到出

26、现如图 5.4 所示,然后重新引导,完成系统安装过程。图 5.4 安装完成引导图设计中需要六台服务器,所以在 VMware 中将上述机器作为模板机器,克隆出泰山学院本科毕业论文(设计)10六台服务器(选择链接克隆) 5。6 服务器集群6.1 服务器集群拓扑及规划在不断发展的网络时代,各种技术之间也在不断的结合,来为用户提供更好的服务。所谓服务器平台,就是提供某种服务所必须要有的环境。其中的环境包括自身和依赖环境两个方面。自身环境,就是自身提供服务的软硬件配置;依赖环境,就是为了提高自身服务,所需要额外配置的其它软硬件环境。通常表现为:不同服务之间的结合。设计的服务器集群拓扑环境如图 6.1 所

27、示,一台 PC 客户端,两台调度器,两台 Web 服务器和两台数据库服务器。图 6.1 服务器集群拓扑图设计所需要的服务器平台规划如表 6.1 所示,表中包括服务器,服务器名,服务器角色,IP 地址以及虚拟 IP 地址 5 个部分。泰山学院本科毕业论文(设计)11表 6.1 服务器平台规划表服务器 服务器名 服务器角色 IP 地址 虚拟 IP 地址DA DA 主调度器,从 DNS 服务器100.1.1.1DB DB 从调度器,主 DNS 服务器100.1.1.2100.1.1.100web1 Web 服务器 100.1.1.3web2 Web 服务器 100.1.1.4MySQL1 MyS

28、QL MySQL 服务器 100.1.1.5MySQL2 MySQL MySQL 服务器 100.1.1.6100.1.1.2006.2 DNS 服务器DNS,是 Domain Name System 的缩写,也就是域名解析系统。互联网上的任一计算机都有一个唯一合法的地址,也就是 IP 地址。IP 地址由 32 位数字组成,记忆不方便。DNS 在帮助人们在互联网上寻找路径的同时,允许人们用域名来代替 32 数字表示的地址。设计中为了保证 DNS 服务器的可用性,需要搭建主从 DNS服务器。6.2.1 主 DNS 服务器搭建在 DB 上搭建主 DNS 服务器,主 DNS 服务器搭建步骤如下:第一

29、步,安装提供 DNS 服务的软件包(bind) ,通过启动服务来产生配置文件,修改主配置文件,将本机 IP 地址作为监听地址,允许任何人进行查询,只允许从 DNS 服务器转发区域文件数据。第二步,设计中采用的域名:。编辑正向解析文件,在文件最后加入此 zone(),由于是主 DNS 服务器,所以类型为 master,代码如下:zone ““ IN type master;file “.zone“;第三步:编辑正向解析区域文件,新建一个与上一步中名字一致的文件,代泰山学院本科毕业论文(设计)12码内容如下:$TTL 86400 IN SOA . . (20140507021D1H1w3H )NS

30、 .dns1IN A 100.1.1.2www IN A 100.1.1.100DA IN A 100.1.1.1DB IN A 100.1.1.2web1 IN A 100.1.1.3web2 IN A 100.1.1.4MySQL1 IN A 100.1.1.5MySQL2 IN A 100.1.1.6第四步,重新启动服务,设置为开机启动,完成主 DNS 服务器的搭建过程。6.2.2 从 DNS 服务器搭建在 DA 上搭建从 DNS 服务器,搭建过程与搭建主 DNS 服务器一样,但其中的配置有所区别,从 DNS 的正向解析文件中类型为 SLAVE,由于需要同步主 DNS 服务器上已存在的的

31、区域文件,所以不需要创建区域文件,而将 file 位置设置为“slaves/.zone”即可,代码如下:zone “.“ IN type slave;file “slaves/.zone“;masters 100.1.1.2; ;6.3 LAMP 服务器LAMP 服务器是在 Linux 系统上,将 Apache 和 MySQL/MariaDB 以及 php/perl /python 组合在一起,为 web 服务提供一个可靠的运行平台,它们本身都是各自独立的程序或组件,由于经常一起使用,所以兼容度越来越高。6.3.1 Apache 简介Apache HTTP Server,简称 Apache。它

32、是一个源码开放的 web 服务器软件,由 Apache 软件基金会开发。在众多计算机操作系统中都能够运行,多平台,多模块和高安全性使它成为流行的 Web 服务器软件。Apache 源于 NCSAhttpd 服务器,多次修改之后性能不断提升,最初应用在小泰山学院本科毕业论文(设计)13型或试验网络上,然后逐渐扩展到各种 Unix 系统,特别是对 Linux 的支持是完美的。服务运行有线程和进程两种方式,Apache 以进程方式运行,进程比线程占用更多的系统资源,所以多处理器环境下不太适应。增加服务器数目或者扩充集群节点能够扩展 Web 站点。即便如此,Apache 市场占有率仍旧高达 60%,是

33、世界上使用最多的网站服务器。6.3.2 PHP 简介PHP,Hypertext Preprocessor 的缩写,也就是超文本预处理器。它吸收了C 语言、Java 语言和 Perl 语言的特点形成了一种通用的开源脚本语言。在网站开发领域发展迅速,得到了广泛的应用。PHP 解释执行动态网页的速度与能力高于 Perl 和 CGI。一般的编程语言完全生成 HTML 标记,而 PHP 是把动态网页程序嵌入到 HTML 中去执行,因此,效率高出很多。编译能够实现优化代码和加密的功能,PHP 能够执行编译后的代码,使代码运行更快。6.3.3 MySQL 简介MySQL 是一个关系型数据库管理系统,关联数据

34、库在不同的表中存放数据,而不是将全部数据放在一个 仓库内,在速度和灵活 性方面提升许多。MySQL 采用最标准化的 SQL 语言,使访问操作数据库变得更加有效。MySQL 被 Oracle 公司收购,有社区版和商业版两种,MySQL 体积小、执行速度快、成本低以及开放源码等特点使其在中小型网站数据库领域得到广泛应用。社区版的 MySQL 性能卓越,与 PHP 和 Apache 整合,可以提供一个良好的开发环境。6.3.4 LAMP 服务器搭建在 web 服务器领域,LAMP 环境使用率很高。通过 php 组件可以使 Apache 解析由 php 语言编写的网站代码,实现动态交互功能;通过与 M

35、ySQL 数据结合,可以实现 web 服务中数据的存储调用功能 6。在 web1 上搭建 web 服务器,提供网站服务,Web 服务器的安装步骤如下:第一步,安装提供 Apache 服务的软件包 httpd,不需要修改配置文件,直接启动服务,设置开机启动,默认网站根目录为/var/www/html。泰山学院本科毕业论文(设计)14第二步,为了实现 Apache 服务能够解析 php 语言编写的网站代码,安装 php组件包 php。第三步,为了实现 Apache 服务能够连接 MySQL 数据库,安装 php-mysql 包,安装代码如下:rootweb1 # yum -y install ht

36、tpd php php-mysql rootweb1 # rpm -Uvh MySQL-*.rpm -force在 web2 上搭建 web 服务器,提供网站服务,安装步骤与 Web1 服务器相同。6.4 LVS 集群服务器LVS,是 Linux Virtual Server 的缩写,也就是 Linux 虚拟服务器。它是一个虚拟的服务器集群系统。1998 年 5 月章文嵩博士成立该项目,是中国国内最早出现的自由软件项目之一。6.4.1 LVS 负载均衡模式LVS 的负载均衡模式主要分为直接路由(Direct Forwarding)、网络地址转换(NAT)和隧道技术(Tunneling)三种 7

37、。直接路由(Direct Forwarding)是指集群中的所有计算机在相同网段时使用的方法。如图 6.2 所示,控制管理主机(Director)将来自用户的访问请求包动态分配给集群中的节点。然后真实服务器节点把客户的请求内容返还用户,流量不再经过管理控制主机,减小了瓶颈的出现,提高了响应速度。图 6.2 直接路由模式图网络地址转换(NAT)是通过地址转换实现 IP 地址的合法化。如图 6.3 所示,当用户的访问请求送到转换器(Director)时,它能够准确无误的把用户的访问泰山学院本科毕业论文(设计)15请求分配到内部的真实节点上。通过地址转换节省 IP 地址数目,实现内部网络的伪装,提到

38、安全性。真实节点返回给用户请求的流量要经过转换器,效率降低了很多。图 6.3 网络地址转换模式图隧道技术(Tunneling)模式是指 linux 集群中的节点在不同网段时采用一种的转发机制。如图 6.4 所示,用户的访问请求到达 Director 时,IP 包被封装在其它的网络流量中传递给集群中的节点。真实服务器节点将用户的请求内容不经过 Director,直接返回给用户。图 6.4 隧道模式图6.4.2 LVS 负载均衡调度算法LVS 负载均衡是通过负载均衡调度算法进行调度的,而 LVS 的调度算法多达10 种 8。调度算法有轮询、加权轮询、最少连接、加权最少连接、基于局部性的最少链接、带

39、复制的基于局部性最少链接、目标地址散列、源地址散列、最短的泰山学院本科毕业论文(设计)16期望的延迟和最少队列调度 10 中,目前支持这 10 种。根据不同的网络环境选择合适的负载均衡模式和负载均衡算法。设计采用了VS/DR 的模式和轮询的调度算法。6.4.3 LVS 集群服务器搭建LVS 一般和 web 服务器结合,设计的基础就是搭建负载均衡的 web 服务器。LVS 搭建是通过软件来实现的,LVS 的集群环境搭建并不是十分的复杂。在 web1 和 web2 服务器上需要做相同的环境配置,步骤如下:第一步,配置网卡参数,需要将虚拟的 IP 地址捆绑在 lo:0 上,两台 web 服务器的配置

40、参数一样,参数调整代码如下:DEVICE=lo:0IPADDR=100.1.1.100NETMASK=255.255.255.255ONBOOT=yes第二步,LVS 环境搭建需要调整 web 服务器的内核参数,在/etc/sysctl.conf 文件中调整内核参数,代码如下:net.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.all.arp_announce = 2et.ipv4.conf.lo.arp_announce = 2在调度器 DA 上配置搭建环境,需要软件和硬件的相互配合,步骤如

41、下:第一步,配置网卡信息,需要将虚拟的 IP 地址捆绑在 eth0:0 上,参数调整代码如下:DEVICE=eth0:0HWADDR=00:0c:29:e4:7a:03TYPE=EthernetONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=noneIPADDR=100.1.1.100PREFIX=24第二步,安装提供调度服务的软件(ipvsadm) ,启动服务。将调度的 web 服务器加入 ipvsadm,配置代码如下:rootDA # ipvsadm -A -t 100.1.1.100:80 -s rr rootDA # ipvsadm -a -t 100.1.1

42、.100:80 -r 100.1.1.3 -g -w 1rootDA # ipvsadm -a -t 100.1.1.100:80 -r 100.1.1.4 -g -w 1第三步,开启 DA 调度器上的路由转发功能。泰山学院本科毕业论文(设计)176.5 keepalived+LVS 集群服务器为了保证设计的高可靠性,设计中在 DA 和 DB 上安装 keepalived,将 DA 作为主调度器,DB 作为备用调度器,当 DA 主调度器出现故障,将由 DB 备用调度器接管 DA 调度器的调度工作。调度器中通过设置两个真实 web 服务器,来实现调度器的负载均衡分发用户请求。6.5.1 keep

43、alived 简介Keepalived 是一种类似于网络中 3、4、5 层交换机制的软件。Keepalived 能够检测 web 服务器的工作状态,假如集群中的两台 web 服务器有一台出现宕机或故障情况时,Keepalived 能够检测到并将其从集群节点中剔除。当故障服务器正常工作后自动加入到服务器集群节点中,不需要人为干预,所有工作能够自动完成。6.5.2 keepalived+LVS 服务器搭建Keepalived 是一款实现集群调度的软件,通过安装配置,可以提高集群服务器的高可靠性。DA 主调度器上安装 keepalived 软件,编辑并配置 keepalived 的主配置文件,实现

44、keepalived 的功能,配置步骤如下:第一步,安装 keepalived 软件,由于 keepalived 采用的源码包软件安装,所以提前要安装开发工具和开发库,然后进行编译、安装,代码如下:./configure -sysconf=/etc -with-kernel-dir=/usr/src/kernels/2.6.32-358.el6.x86_64/ /修改 root 密码第二步,从新启动服务,设置为开机启动,利用新密码做登录测试。将 MySQL1 作为 MySQL2 的主数据服务器,需要进行用户授权和主从设置,步骤如下:第一步,登录 MySQL1 和 MySQL2,进行用户授权,两

45、台数据库授权信息一致,数据库同步是通过 binlog 日志进行的,开启并设置 binlog,代码如下:mysql grant replication slave on *.* to slaveuser% identified by slaveuser;mysqldlog_bin = MySQL1-bin /开启并设置 binlog 名称server_id = 5 /两台服务器的 id 号不能相同,另一台设置为 6。第二步,登录 MySQL2,进行从服务器设置,设定同步主数据的代码如下:mysql change master to - master_host=100.1.1.5, - maste

46、r_user=slaveuser,- master_password=slaveuser,- master_log_file=MySQL1-bin.000001,- master_log_pos=120;mysql start slave;将 MySQL2 作为 MySQL1 的主数据服务器,从服务器设置的时候将 IP 地址、日志文件和日志节点做相应更改。6.6.2 keepalived+MySQL 集群服务器搭建keepalived 和 MySQL 相结合的集群服务器可以保证一台 MySQL 数据库服务器宕机时,web 服务器能自动连接到另一台 MySQL 数据库服务器上,从而实现高可用的数

47、据库服务器集群 10。MySQL 和 keepalived 结合,实现 MySQL-HA 集群,相应的修改配置步骤如下:泰山学院本科毕业论文(设计)20第一步,配置网卡信息,将虚拟 IP 地址绑定到 lo:0 上,IP 地址为100.1.1.200,调整内核参数,两台一致,和 6.3.4 中内核参数调整步骤相同。第二步,编辑 keepalived 主配置文件,为了防止脑裂现象,两台数据库服务器上的主配置文件中的状态都为 BACKUP 模式,当本机的 MySQL 服务 down 掉之后,通过调用脚本停止 keepalived 服务,然后另一台 keepalived 工作。真实的服务器仅仅检测各自

48、的本机数据库服务器。两台中配置不同的优先级,真实服务器地址为自己,其余参数一致,代码如下:! Configuration File for keepalivedglobal_defs notification_email notification_email_from xiaokelocalhostsmtp_server 127.0.0.1smtp_connect_timeout 30router_id MySQL_havrrp_instance VI_1 state BACKUPinterface eth0virtual_router_id 51priority 100 /另一台优先级设置为 90advert_int 1nopreemptauthentication auth_type PASSauth_pass han-mysqlvirtual_ipaddress 100.1.1.200virtual_server 100.1.1.200 3306 delay_loop 2lb_algo wrrlb_kind DRpersistence_timeout 60protocol TCPreal_server 100.1.1.5 3306 weight 3not

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

当前位置:首页 > 网络科技 > 服务器

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报