基于Linux的HA高可用集群架构.doc_第1页
基于Linux的HA高可用集群架构.doc_第2页
基于Linux的HA高可用集群架构.doc_第3页
基于Linux的HA高可用集群架构.doc_第4页
基于Linux的HA高可用集群架构.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于linux的ha高可用集群架构摘 要现如今,网络服务已经被应用到各行各业,那么服务器能够提供稳定不间断的服务就显得颇为重要。要知道,一分钟的宕机时间也许会给航空,银行,铁路等行业的运营带来不可估量的重大损失。那么高可用集群架构就会被应用到各行各业,发挥重要作用。那么什么是高可用(high aailability,简称ha)集群架构呢,它由两台或者是多台服务器组成。其中一台服务器出现故障或者宕机,那么它的服务就由其它的服务器继续提供,从而能够保证不间断的提供服务。ha集群架构能够通过各个节点的协同工作保证服务的不间断,所以可以有效提高系统和应用的可用性。ha集群架构已被广泛应用到各行各业,将服务器的停机时间缩短到最低程度。我采用的是vmware workstation,在linux平台上搭建ha的高可用集群架构。此集群架构能够满足企业要求的提供不间断的服务。本文主要从可行性分析、需求分析、总体设计、详细设计、测试与维护几个阶段进行的毕业论文的编写。关键词:vmware workstation,linux,high availability,不间断abstractnowadays, the internet service has been applied to all professions and trades, so its very important that the server can provide a steady and continuous service. that is a fact that one minute of downtime can bring on an immeasurable loss in operating of banks, railway, aviation and other industries. so the high availability cluster architecture will be used widely. the so called ha(high availability) cluster architecture is to use two or more servers woke together, if a server fails for some reason or goes down, then other servers will continue to provide the service, in order to ensure an uninterrupted service. it can reduce the downtime caused by daily maintenance operations (planed) and the sudden crush of the system (unplanned) as much as possible, in order to improve the availability of system and application. it is different from the so-called fault-tolerant technique of uninterrupted operation. the ha system is the most effective method to prevent the system of the core computers in companies from the downtime of malfunctions. computer will reduce downtime to a minimum. i use vmware workstation to build ha cluster architecture on a linux platform. the cluster architecture can meet the requirements of companies to provide an uninterrupted service. the article is written mainly from the analysis of feasibility, the analysis of requirements, overall design, detailed design and texting and maintenance.key words:vmware workstation,linux,high availability ,continuity目 录摘 要iabstractii目 录iii绪 论1第一章 应用软件及开发环境21.1 应用软件选择21.2 http基本概述21.3 ha基本概述31.3.1ha集群系统硬件拓扑形式31.3.2 ha集群的部署方式31.3.3 开发(运行)环境4第二章 架构的特点分析52.1 简单概述本架构52.2 市场分析52.3 实用性分析52.3.1 应用系统多样化52.3.2 用途多样化6第三章 架构的设计过程73.1 架构的总体规划73.1.1 总架构图73.2 详细设计过程83.2.1 准备工作83.2.2 http具体配置93.2.3 集中存储103.2.4 搭建ha集群11第四章 测试与维护164.1 测试目标164.2 测试方法164.3 测试结果164.4 维护16结束语18参考文献19iii绪 论随着it信息系统的不断发展,数据在企业的地位越来越重要,如何提高it系统的可用性以及稳定性成为建设稳健的计算机系统的首要任务之一。所谓的ha (high availability) 高可用集群架构就是用两台或者多台服务器协同工作,一台服务器出现故障或者宕机,那么它的服务就由其它的服务器继续提供,从而能够保证不间断的提供服务。能够通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。ha系统是目前企业防止核心服务器系统因故障停机的最有效手段。将计算机的停机机时间缩短到最低程度。我采用的是vmware workstation,在linux平台上搭建ha的高可用集群架构。此集群架构能够满足企业要求的提供不间断的服务。本文主要从可行性分析、需求分析、总体设计、详细设计、测试与维护几个阶段进行的毕业论文的编写。接着在设计过程中分为总体规划和详细设计过程。首先创作出总的结构图,然后根据结构图进行详细的设计。在vmware中创建linux的运行平台,然后挂集中存储保证统一视图,安装web对外提供服务,最后搭建ha的高可用集群架构以完成本次设计。20第一章 应用软件及开发环境1.1 应用软件选择vmware workstation是vmware公司开发销售的,被广泛应用于商业领域的软件产品。该应用软件含有一个与英特尔x86可以兼容的计算机的虚拟机套件,它可以同时创建和运行多个虚拟机。不同的虚拟机可以运行不同的操作系统和系统软件,如不同的虚拟机可以运行linux,windows等操作系统以及它们的衍生版本。用简单的话来说就是,vmware workstation可以允许多个操作系统同时运行在一台真实的计算机上。其它vmware产品可以有助于vmware虚拟机在多个计算机之间管理或移植。因为服务器的数量在企业中的要求越来越巨大,vmware workstation在企业中的应用也就越来越广泛。使用vmware workstation可以减少硬件的需求,是虚拟机的管理变得简单化。1.2 http基本概述超文本传输协议 (http-hypertext transfer protocol) 是分布式,协作式,超媒体系统应用之间的通信协议。它是万维网发送和接受的基础。http是ietf(internet engineering task force)制定的国际化标准。在http标准制定和实现的过程中,w3c积极参与了其中的工作,并发挥了重要作用。 它允许将超文本标记语言 (html) 文档从 web 服务器传送到 web 浏览器。html 是一种用于创建文档的标记语言,这些文档包含到相关信息的链接。您可以单击一个链接来访问其它文档、图像或多媒体对象,并获得关于链接项的附加信息。 http传输协议工作在tcp/ip协议中的tcp协议上。客户端和服务器必须都支持 http协议,才能在万维网上传输 html 文档并进行交互。现在www中使用的是http/1.1,它是由rfcs(requests for comments)在1990年6月制定。目前交由ietf(internet engineering task force) 和w3c(world wide web)负责修改。但最后还是由rfcs公司对外发布。1.3 ha基本概述1.3.1 ha集群系统硬件拓扑形式基于集中存储的ha高可用集群系统通过存储柜实现集群中各个节点的数据共享,包括三种主要设备:主服务器,从服务器,存储柜,但是设备间还包括心跳连接线。 而基于镜像的ha集群架构不包含存储阵列。集群中两种服务器的本地硬盘通过数据镜像技术,实现集群中各节点之间的数据同步,从而实现集群的功能。 实际应用中,将节点1当作主服务器,节点2当作从服务器,主从服务器有各自的ip,通过ha集群系统控制,主从服务器有一个共同的虚拟ip,客户端仅需使用这个虚拟ip,而不需要分别使用主或从的ip地址。这种措施是ha集群的首要技术保证,该技术确保集群服务的切换不会影响客户ip层的访问。 公网(public network)是应用系统实际提供服务的网络,私网(private network)是集群系统内部通过心跳线连接成的网络。心跳线是ha集群系统中主从节点通信的物理通道,通过ha集群软件控制确保服务数据和状态同步。不同ha集群软件对于心跳线的处理有各自的技巧,有的采用专用板卡和专用的连接线,有的采用串并口或usb口处理,有的采用tcp/ip网络处理,其可靠性和成本都有所不同。近几年,基于tcp/ip技术的心跳线因其成本低、性能优异而被广泛采用。具体配置中主从服务器上都至少各安装两块网卡。1.3.2 ha集群的部署方式 主-主 方式,这是最常用的集群模型。它提供了高可用性,并且在只有一个节点在线时可以提供正常的服务。每个节点都通过网络对客户提供服务,每个节点的容量被定义好,使得性能达到最高,且每个节点都可以在故障转移时临时接管另一个节点的工作。所有的服务器在故障修复后仍然可以继续使用,但是可用性一般会下降。 主-从 方式。为了提供最高的可用性,以及对性能的影响最小,主/从方式需要一个节点在正常工作时处于备用状态,主节点处理客户机的请求,而备用节点处于空闲状态。当主节点出现故障时,备用节点会接管主节点的工作,继续为客户提供服务,并且不会影响性能。 混合型,是上面两种模型的结合,只针对关键应用进行故障转移,这样可以对这些应用实现可用性的同时让非关键的应用在正常运作时也可以在服务器上运行。当出现故障时,出现故障服务器上的可以不用的就不用了,但是那些重要的会转移到其它的节点上,从而达到性能和容错两方面的平衡。 不同ha集群软件支持不同的部署模式,一般有以下三种情况: 双机模式,较常用的方式,俗称“双机热备”。经常被用在应用系统单一、可用性高的环境中,由一个主服务器、一个从服务器和一个存储阵列等三个设备组成。 1+i方式 系统包括一个主节点、若干个从节点以及一些辅助设备等。被用在系统单一,可用性能极高业务中。 n+i方式 系统包括多个主节点、若干个从节点以及一些辅助设备等。在实际应用中,一些客户并不满足以上的两种方式,认为冗余太多,需要多个主节点备份到多个节点。根据应用的级别,调整从节点的数量,可以为一个,也可以为多个。主节点的数量可以为一个或者多个,根据应用需要随时调整搭配,但主节点为多个并不是同一个应用的“并行处理”,而是不同的应用。图 1.1 ha内部层次机构图1.3.3 开发(运行)环境 (1)应用软件 vmware workstation (2)服务器 linux (redhat 5.5) (3)web apache (4)测试任意浏览器均可。第二章 架构的特点分析2.1 简单概述本架构高可用性(ha)集群通过一组服务器互相之间的协同工作,可以保证每时每刻都有服务器对外提供服务,满足客户对停机时间的苛刻要求。 高可用性(high availability,简称ha)集群是共同为客户机提供网络资源的一组计算机系统。其中每一台提供服务的服务器称为节点 (node)。当一个节点损坏或者不能处理客户的请求时,该请求会由另外的节点来处理,而这些对于客户端是透明的,客户不必关心是哪台服务器在提供服务,集群系统会自动完成,从而保证服务的不间断进行。2.2市场分析随着企业信息系统的广泛应用和深入发展,用户的核心应用数量越来越多。在这种分布式多应用系统构架下,高可用多节点集群日益被用户接受和广泛使用,集群软 件也从unix平台的高端应用向基于linux/windows的平台发展。伴随着企业需求的改变,高可用集群软件市场也表现出了新的发展方向。2.3 实用性分析2.3.1 应用系统多样化高可用集群的应用系统正朝多样化趋势发展,不仅局限于一般业务,还表现出一些特殊的应用模式。例如在制造业生产线系统中,通过将生产线计算机系统进行集群构筑,来提高系统整体的高可用性;又如在银行等需要保障关键业务运行的行业,为实现系统宕机时间的最小化,甚至有采用容错服务器为平台,配合使用高可用软件来构筑集群系统的案例,这种硬件+软件的“超强阵容”,将系统可用性大大提高。随着cpu多核技术的发展,在处理能力提高的同时,利用虚拟化技术进行服务器整合的需求急增。据统计,在一些发达国家,目前vm市场正在以每年50%的速度增长。但是服务器虚拟化后,必须解决作为虚拟机载体的物理服务器发生单点故障的问题,而且由于虚拟服务器的故障往往与重大故障的发生紧密相关,就更要求系统必须具备高于一般服务器之上的可用性,使得高可用性对虚拟平台的支持成为一种必然。2.3.2 用途多样化除通常意义上对业务应用的保护外,集群软件还将被用于越来越多的领域中。企业为了业务的持续发展,必须规避在各种灾难发生时的损失,因此,在远程容灾方面的需求不断增加。通过集群技术实现的远程容灾方案,其最大的优势是即使不具备特别的知识,只要对集群的配置有所了解,就能实现灾备。此外,有些用户还会有在较近距离内(如4、5公里左右)兼做大容量数据备份的需求;甚至如果网络链路容许,还可将备份系统建立在异地数据中心进行托管。第三章 架构的设计过程3.1 架构的总体规划3.1.1 总架构图+-+| client |+-+ |-+ ip | +-+ | | | node1 node2 node3 | | | +-+ | | isan sharestorage (server)图 3.1 总架构图以上就是ha高可用集群架构的总结构图,从图中我们可以看到有三个服务器提供服务,分别问node1,node2,node3。在创建集群的过程中我们添加了一个组播地址,当客户端(client)有访问请求时,node1,node2,node3会响应客户的请求,为客户提供服务。但是这样我们并不能保证node1,node2,node3返回的结果相同,所以我们又想到了集中存储或者叫做共享存储,三个节点服务器为客户端提供服务的时候不是从本地硬盘获取内容,而是全都连接到共享存储上,从共享存储中读取数据返回给客户端,这样就能保证客户每次访问,不论是哪台服务器提供服务,都能保证得到相同的结果,即统一视图。本架构的核心特点是:客户端做出请求,由三个节点服务器提供服务,当任意一个节点服务器发生故障,其它的节点会接管它的工作,从而保证客户无论什么时候做出请求,都可以得到服务。这也满足了某些企业要求不间断服务的要求。3.2 详细设计过程3.2.1 准备工作应用vmware workstation软件安装3台redhat 5.5的虚拟机以及所应用到的软件,优化这几台虚拟机,下面是详细的安装过程。(1)采用vmware workstation 9.0进行典型安装虚拟机图 3.2 典型安装图(2)在此处选择安装源,即电脑硬盘中光盘镜像位置。图 3.3镜像位置图(3)虚拟硬盘大小给80g,并且存储为独立文件。图 3.4 硬盘大小图(4)虚拟机的分区情况。/boot分区用于虚拟机的启动,/分区用于存储虚拟机的全部内容,此处也可以继续划分更多的小分区,但是那些可以后来做,所以此处先不做具体分区。图 3.5 分区图(5)ip地址是此台服务器与外界联系的桥梁,显得尤为重要,在此处配置虚拟机的ip地址。图 3.6 ip地址图(6)选择自定义选择安装所需要的软件包。图 3.7 自定义软件包图(7)此步比较重要,我们在这里选择我们需要的软件包,不用的就可以不安装,这样就会缩短安装时间,提高服务器的运行速度,对于服务器本身来说也比较安全。图 3.8 安装软件包图3.2.2 http具体配置(1) 查询http的安装程序rootstorange named# yum search httpd /搜索http的安装程序这条命令会搜索出安装http需要哪些包httpd.i386 : 阿帕奇http服务器。httpd-devel.i386 :阿帕奇http服务器的开发工具。httpd-manual.i386 : 阿帕奇http服务的分类管理。(2)安装httprootstorange named# yum install -y httpd挂上光镜像以后采用这条命令安装http服务的主程序。rootstorange etc# rpm -ql httpd这条命令可以查询出此安装程序都包含哪些文件。/etc/httpd /http的主程序目录。/etc/httpd/conf.d/proxy_ajp.conf/子配置文件位置。/etc/httpd/conf.d/welcome.conf/子配置文件位置。/etc/httpd/conf/httpd.conf/主配置文件位置。/etc/httpd/logs/日志文件位置。/etc/httpd/modules/模块。/etc/httpd/runpid/etc/logrotate.d/httpd /日志轮滚。/etc/rc.d/init.d/httpd /启动脚本。/usr/bin/ab /压力测试的命令。(3) 配置网页内容rootstorage conf# echo hello all /var/www/html/index.html采用此条命令定义一个页面,由于此页面是共享存储中的内容,无论哪台节点服务器从共享存储请求服务时都会看到此界面,所以能够保证统一视图。3.2.3 集中存储(1) 集中存储简介在信息电子化不断深入的今天,信息数据的来源以及数量增长很快。人们对依赖信息系统的依赖程度也越来越高,对数据的存储和管理提出更高的要求。以往简单的磁盘和服务器存储的方法,不仅不能有效保障数据的存储安全,而且数据分散,给管理和有效利用数据带来障碍。数据集中存储能够保证数据的存储安全、提高数据利用效率和处理速度,充分有效地利用资源,降低整个系统的总体成本(tco)。搭建统一化存储架构,实现数据的统一、集中存储、管理、应用已经成为一个行业发展趋势。何谓集中存储什么是集中存储呢?或者说怎样的存储方式属于集中存储呢?集中存储是一个逻辑概念,通过软件和硬件的技术手段将不同物理位置上的存储设备、介质、以及使用这些设备的计算机(主要是服务器)连接到一个统一的i/o网关,实现集中管理和应用。从物理角度来看,存储设备、存储介质、服务器等可以在同一设备、同一地点,也可以分布在不同的。设备和地点就目前来说,我们可以通过两种方式来实现集中存储:网络附加存储(nas)、存储区域网(san)(2) 集中存储具体配置chkconfig cman onchkconfig clvmd on配置集中存储的两个进程开机自动启动。/etc/fstab 设置自动挂载,保证开机后分区能自动挂载提供服务。-/dev/cvg0/clv01 /opt gfs2 defaults,_netdev 0 0-reboot 重新启动计算机测试自动挂载是否成功。=server= isan sharestorage #yum install scsi-target-utils -y /安装导出端软件包#fdisk /dev/sda - sda7 - 20g#partprobe /dev/sda /做一个用于导出的分区#vi /etc/tgt/targets.conf 配置导出分区的配置文件进行存储的导出。- backing-store /dev/sda7 write-cache off -#service tgtd restart 重新启动集中存储的守护进程。#tgtadm -lld iscsi -mode target -op show /查看是否导出成功。#chkconfig tgtd on 配置集中存储的守护进程开机自动启动。3.2.4 搭建ha集群下面开始搭建ha集群,此集群包括两个节点(node),就可以保证一个节点损坏或者发生故障,另一个节点会接替它的工作继续对外提供服务。此步是本次设计的关键。用一个有图形的虚拟机创建集群配置文件。应用system-config-cluster。(1)首先添加组播地址。组播报文的目的地址使用d类ip地址, 范围是从到55。单播数据传输过程中,一个数据包传输的路径是从源地址路由到目的地址,利用“逐跳”(hop-by-hop)的原理在ip网络中传输。然而在ip组播环中,数据包的目的地址不是一个,而是一组,形成组地址。所有的信息接收者都加入到一个组内,并且一旦加入之后,流向组地址的数据立即开始向接收者传输,组中的所有成员都能接收到数据包。组播组中的成员是动态的,主机可以在任何时刻加入和离开组播组。图 3.9 添加组播地址图(2)添加两个集群节点(node),这两个节点对外提供不间断服务。图 3.10 添加节点图(3)添加fence设备。即ilo1和ilo2。ilo是intergrated light-out的缩写,是惠普特有的远程管理功能,目前最新的版本是ilo4。通过ilo2可以实现硬件级别的服务器远程管理,包括开关机、重启、服务器状态的监控、虚拟kvm等。目前在惠普3、5、7系列服务器以及刀片服务器上一般都集成了ilo2控制芯片,管理员可以通过web方式远程进行管理,配置过程和管理过程都非常简便,管理员可以从环境恶劣的机房中解放出来,管理过程轻松简洁,也降低了企业tco成本。ilo 是一个可通过任何服务器来管理主服务器的自主管理分系统:操作系统加载前的初始开机测试,即使系统失败它仍具备此功能。实际上, ilo 是一个计算机内部的自主计算机系统:高度优化的体系结构,包括特有的使用单独指令集和数据缓存的risc 处理器,内存子系统和以太网控制器,ilo 提供一个可以让管理员控制的具有图形方式的远程管理控制平台,实现对服务器在任意时间和在任意操作系统下的图形方式控制。它也同样提供虚拟光驱或软驱甚至是虚拟镜像文件来进行固件升级或操作系统的远程配置,还包括虚拟的电源按钮来实现对服务器的开/关机管理。图 3.11 添加fence设备图(4)ilo和node绑定。图 3.12 ilo和node绑定图(5)添加资源ip地址,此ip地址是公司内部网的ip地址,它不是对外提供服务的ip,而是内部网络互相联系的ip,因此此ip地址与客户的访问没有关系。客户访问的是组播地址,组播地址找到分发机以后分发机就将请求分发给节点服务器,节点服务器通过此ip地址可以访问集中存储中的资源为客户提供服务。图 3.13 添加资源ip图(6)添加资源,执行脚本。节点服务器收到客户的请求以后会启动执行脚本,执行脚本对外提供服务。图 3.14 执行资源图(7)保存后就会产生集群配置文件。然后将此配置文件拷贝到节点服务器。rootnode3 cluster# scp cluster.conf node1:/etc/clusterrootnode3 cluster# scp cluster.conf node2:/etc/cluster图 3.15 保存图(8)节点1和节点2做下面两个动作。 # service cman start# service rgmanager start这样ha高可用的配置就完成了。第四章 测试与维护4.1 测试目标(1)发现一些可以通过测试避免的开发风险(2)测试架构是否完整。(3)是否能够达到不间断服务的目的。(4)服务器重启以后是否能够继续提供服务。4.2 测试方法(1)通过检查ip地址测试服务器是否与外界直接联系。检查防火墙设置,保证服务器只有提供服务的端口是对外开放的。(2)使用任意浏览器访问组播地址,看能否看到所需要的内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论