基于HA磁盘镜像多业务的集群服务解决方案.docx
- 文档编号:30388911
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:24
- 大小:1.18MB
基于HA磁盘镜像多业务的集群服务解决方案.docx
《基于HA磁盘镜像多业务的集群服务解决方案.docx》由会员分享,可在线阅读,更多相关《基于HA磁盘镜像多业务的集群服务解决方案.docx(24页珍藏版)》请在冰豆网上搜索。
基于HA磁盘镜像多业务的集群服务解决方案
基于HA镜像磁盘多业务的
集群服务解决方案
学院:
专业:
姓名:
班级:
指导教师:
摘要
高可用性服务器集群是近年来计算机应用方面研究的热点,它具有低延迟、高吞吐量、双机热备等特点,根据软件的配置,将文档、信息或任务在参与者之间进行传递,以达到某种目的。
镜像型集群系统中,服务器集群使用相互的备份,从而有利于业务的最大化利用,而我们使用的是多业务层,在这里我们用的是OA办公化系统和在线购物系统,就拿这两个举例,使资源有效的监控,从而达到降低管理员或工程师的劳动强度,避免重复劳动,提高工作效率。
HACluster软件具有:
安全可靠的数据传输系统、高效稳定的通讯服务系统、方便的远程管理和控制、功能、直观的数据分析、完备的安全和权限管理,简洁、以用户为中心的操作界面等方面,有效的监控资源可以使管理员更为快速及准确的找到问题。
关键词:
集群;服务器;系统架构
第1章背景和应用领域
当今网络的迅速发展,把人们带到了一个全新的领域。
越来越多的人们开始习惯在网上办公,网上购物等,而这些客户信息的存储和数据的备份都需要相当大的量,服务器集群正好解决了这个问题。
有一篇科学报道这样写道:
在制作电影《泰坦尼克号》所用的160台Alpha图形工作站中,有105台运行的是Linux操作系统,这160台Alpha工作站是做图形处理。
图形处理中有一项重要的任务——计算。
这些计算机是被利用群集技术(Cluster)组织到一起的。
这就是Cluster中的一种——“并行计算”。
集群系统就是避免一台服务器因硬件故障或底层服务故障,从而造成客户访问中断。
这样不仅会造成不可估量的损失,也可能失去客户的信赖。
而集群系统就能够避免此类事件的发生,在很短的时间内(客户几乎在不知道的情况)正常的使用当前业务,实现高可用和数据的交换。
经过相关调研工作,我们决定设计、制作一款基于Linux平台的HA镜像磁盘的多业务集群服务,从而有效的监控网络资源和运行多业务,满足人们对运行多业务的需要,实施有效,安全,稳定的监控,是管理员和网络工程师不可缺少的工具,提高办事效率
第2章特点和设计思路
2.1作品特点
2.1.1操作的易使用性
本作品的方案设计中,考虑作品的易用性,我们尽量采用简单的图形化操作界面,并附产品使用说明,即使对Linux有一定基础的初学者,通过使用说明学习,也能塔建出集群环境,并在此之上架构应用服务。
2.1.2实用性
该产品在设计时通过调研分析广大用户需求的基础上,满足人们在线办公,在线购物,在线服务,通信及时,信息快捷。
2.1.3方便性
可以在HACluster上进行进行有效的配置,增加相应的监视资源,同时业务也是有效的添加,可以通过用户的需求将服务器状态通过短信、邮件或警告灯通知用户,真正做到为用户着想。
2.1.4稳定性
随着访问量和业务的不断加剧,在用户访问的过程中将不会出现无法访问的情况,服务器之间能够快速切换。
2.1.5适用性
适用于小规模、低成本的集群系统,适合小、中型企业单位,适合提供的节点多。
适合各种硬件,兼容性更强大。
2.2创作思路
网络发展至今,已经融入到大部分人的生活。
在各类服务器操作系统中,Linux操作系统凭借强大的网络功能,优秀的系统性能和出色的安全性和稳定性,赢得了广大服务器用户以及个人用户的亲睐,世界的每一个角落都能感受到它的魅力。
通过调查服务器并不是万能的,也会出错,数据的丢失,信息的延迟等。
服务器一旦出现故障,给人们的工作和学习会带来了很大的损失,基于以上问题,我们提出镜像型集群服务解决问题的方案。
镜像型集群有通过本地磁盘的镜像方式实现数据继承,很适用于小规模、低成本的集群系统,多点镜像服务。
使用HACluster镜像型集群系统。
集群系统就是避免一台服务器因硬件故障或底层服务故障,从而造成客户访问中断。
这样不仅会造成不可估量的损失,也可能失去客户的信赖。
而集群系统就能够避免此类事件的发生,在很短的时间内(客户几乎在不知道的情况)正常的使用当前业务,实现高可用和数据的交换。
在镜像型集群系统中,服务器之间进行数据交换。
将这些数据存放在镜像型磁盘上,在整个服务启动以后,使两台服务器通过心跳线进行数据同步。
从而使业务层的访问及切换,更加高效,便捷。
镜像型集群系统中,使用相互备份,从而有利于业务应用,而我们使用的是多业务层,在这里我们用的是OA办公化系统和在线购物系统来体现多业务层的应用,就拿这两个业务举例,实现HA的功能的强大,方便管理,便捷操作,从而达到降低管理员或工程师的劳动强度,避免重复劳动,提高工作效率。
假设集群主服务器为172.16.1.149,备服务器为172.16.1.150。
集群服务器的浮动IP是192.168.1.151,它们之间是通过心跳线来监视其存活状态,当主服务器出问题时(比如宕机或服务停止),自动切换到备用服务器上。
第3章运行的环境
硬件要求:
至少PⅢ(以上)CPU,1G(以上)内存,光驱、软驱各一个,至少2块网卡,服务器两台。
服务器版本:
x86_64Asianuxserver3sp1
软件要求:
RedFlag-HA6_Cluster-All-Release
第4章功能描述
镜像型集群服务和业务层具有以下功能:
镜像磁盘的设置、资源组设置、磁盘心跳的监视(http监视、ip监视、EXEC监视和user监视等)和Apache+Php+Mysql设置;
4.1镜像磁盘的设置
在镜像型集群中,至少要有两个分区,一个是管理用分区,这个分区做少步能小于10M,一般我们把它创建成20M(或根据磁盘的大小)就可以了,而另一个分区就是我们的数据分区,对于数据分区我们没有特殊的要求,但是注意的是在镜像型集群中,两台服务器的大小,格式以及设备名都必须是完全一致的。
4.2浮动IP的设置
与两台服务器公网IP,同一网段的IP地址,这个IP会随着业务的切换自动的切换到正常的服务器上这样不管业务运行在那台服务器上客户端只要访问这个唯一的浮动IP就可以了。
4.3EXEC资源设置
此资源是在集群启动时,同时启动服务的资源,如:
Mysql、HTTPD、Oracle等都有此资源添加而实现其服务的启动与关闭。
HACluster是指通过冗余化(集群化)的系统配置,当正在操作的服务器出现故障时,自动将业务交接到待机服务器,从而能够飞跃性地提高系统的可用性和扩展性
4.4监控资源
4.4.1HTTP监视
监视OA办公自化系统和在线购物系统能不能正常运行,当出现状况的时候,我们通过日志和一些配置的情况去解决相应的问题。
4.4.2IP资源监视
发生了失效切换时,可忽视客户端的应用程序所连接服务器发生切换而使用的IP地址。
在与集群服务器所属的LAN相同的网络地址中,分配其他未使用的的主机地址,或网关地址。
4.4.3EXEC资源监视
能够使用启动资源(称为EXEC资源)启动应用程序,通过监视资源(称为PID监视资源)定期监视进程的生存。
在由于业务应用程序异常退出造成业务中断时有启动资源。
4.4.5Apache+Php+Mysql配置
要实现我们所需要的业务层,可以用红旗公司的server3.0上自带的服务软件,同时,可以通过第三方的软件来实现。
刚开始我们用的是第三方的软件,装出来以后有些错误,配置也做了,但也没有实现,使业务不能正常的运行。
我们又看了自带的数据库的服务软件,安装后就可以正常的启动,业务正常的运行
数据库在linux中的实现。
如下图:
4-1
图4-1
所需要的数据。
如下图4-2
图:
4-1Linux下Mysql的图形化界面
4.4.6集群化
通过浮动ip就可以直接的去访问了,把oa办公化系统和在线购物系统(更好的业务也可以加的)直接在我们所配置好的镜像磁盘中,这样在遇到一个服务器出现故障的时候,另一台服务器就会切换到业务层,是业务不中断,有效的提高了办事效率;同时我们也可以增加多个业务层,监控业务层是否正常的运行。
第5章工作原理
工作原理如下
图5-1
图5-1镜像集群的工作原理
应用程序发出请求时,数据镜像引擎会将数据写入本地磁盘的同时,通过心跳线将请求同时分给待机服务器。
所谓心跳线就是指连接个服务器的网络,在集群系统中需要使用心跳线进行服务器的死活监视。
在数据镜像类型中,心跳线除了用于死活监视,还用于数据传输。
待机服务器数据镜像引擎将收到数据写入待机服务器的本地磁盘,从而实现当前服务器和待机服务器间的数据同步。
镜像型集群是一台主服务器处于运行状态,一台备服务器处于待机状态。
当我们运行的业务层在主服务器发生故障时,集群系统在HA的监控资源中通过心跳线得知两台服务器的存活状态,可以通过HA自动启动备用服务器上的业务,使服务达到零切换从而使业务正常运行。
一次完整的监控分为4个阶段:
(1)第1阶段:
客户发送请求
(2)第2阶段:
确认请求,对业务层及数据库等服务进行监控,发现主服务器异常后,进行下一步的操作
(3)第3阶段:
迅速切换到待机服务器上,使业务层及相应的数据正常运行,恢复工作;
(4)检查恢复故障的主服务器,主服务器正常时,将变成备用服务器待机。
第6章体系结构和关键技术点
6.1体系结构
如下图6-1
图6-1镜像集群的体系结构
6.2关键技术点
在配置任何一个服务的时候都会出现有意想不到出错的结果,往往解决一个问题得要很长时间,查资料,问老师,讨论,看说明等途径进解决一个问题,但这个问题又对下一步起着关键性的作用,像我们这次在做集群一样,最后在结合我们的业务层的时候出现了无法共享的问题,我们以为自己的配置的错误,通过配置也没出来,上传失败,通过咨询红旗公司的人员,原来是共享集群要一个共享磁盘,才可以实现。
像这样的例子就很多了,在这里列出了我们在设计、制作、配置过程出现的比较难解决的问题。
我们从下面的几个方向去探讨及解决:
镜像磁盘的配置、浮动IP配置、心跳线的配置、失效切换、组资源中配置及调试、数据库图形化、汉字的乱码等这几个比较关键点来说明。
6.2.1系统设置及分区
如下图6-2
我们在系统设置的时候,需要两块硬盘和两块网卡。
如图6-2
图6-2硬件配置
我们在虚拟机里装系统的时候,要注意,我们要选定自定义分区,不要用系统默认分区
我们在虚拟机里分区的时候,不要把系装在一个硬盘里,要把第一块硬盘进行分区,第二个硬盘不做任何的操作(第二个系统也是同样的操作)。
下面的分区仅是参考,要根据自己的实际情况来定义硬盘大小。
如图6-3、图6-4
图6-3选择分区
图6-4系统分区
6.2.2镜像磁盘的配置
如图6-5
图6-5镜像磁盘的配置
我们在文中提到的都是一些大致的对于这些的安装,下面我们详细的对于镜像磁盘的设置,我们在安装服务器的时候就装了2块硬盘2块网卡一块硬盘是用来装系统的一块硬盘是分成数据分区和管理用分区,我们在数据分区里面存放数据通过心跳线来实践镜像磁盘的数据同步。
6.2.3磁盘分区
磁盘分区:
教程中2M的管理分区,2M的数据分区,但在实际的情况当中我们挂载的是20G的硬盘,而且不论是se还是le都需要一个mount点;
查看磁盘
[root@server1~]#fdisk–l(检查两个服务器上的分区是否一样)
Disk/dev/hda:
21.4GB,21474836480bytes
255heads,63sectors/track,2610cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/hda1*132261019912567+83Linux
/dev/hda21131105222682Linuxswap/Solaris
Partitiontableentriesarenotindiskorder
Disk/dev/hdb:
21.4GB,21474836480bytes
15heads,63sectors/track,44384cylinders
Units=cylindersof945*512=483840bytes
DeviceBootStartEndBlocksIdSystem
这里我们可以看到我们的共享磁盘是hdb,我们先把它整个做成扩展分区
[root@server1~]#fdisk/dev/hdb
首先我们先做一个扩展分区
Command(mforhelp):
n
Commandaction
eextended
pprimarypartition(1-4)
e
Partitionnumber(1-4):
1
Firstcylinder(1-44384,default1):
Usingdefaultvalue1
Lastcylinderor+sizeor+sizeMor+sizeK(1-44384,default44384):
Usingdefaultvalue44384
然后我们再创建我们的20M的管理用分区,它是一个裸分区
Command(mforhelp):
n
Commandaction
llogical(5orover)
pprimarypartition(1-4)
l
Firstcylinder(1-44384,default1):
Usingdefaultvalue1
Lastcylinderor+sizeor+sizeMor+sizeK(1-44384,default44384):
20m
然后我们来创建数据分区
Command(mforhelp):
n
Commandaction
llogical(5orover)
pprimarypartition(1-4)
l
Firstcylinder(21-44384,default21):
Usingdefaultvalue21
Lastcylinderor+sizeor+sizeMor+sizeK(21-44384,default44384):
这里本身是创建一个2G的数据分区,但对于这2G的数据分区是不够用的,我们就采用默认的分区,来存储数据(就是你的硬盘有多大就可以存储多少)
Command(mforhelp):
p(P这个命令是查看的意思)
Disk/dev/hdb:
21.4GB,21474836480bytes
15heads,63sectors/track,44384cylinders
Units=cylindersof945*512=483840bytes
DeviceBootStartEndBlocksIdSystem
/dev/hdb114438420971408+5Extended
/dev/hdb5120938783Linux
/dev/hdb6212000935518+83Linux
W是提交的意思,在创建完以后一定要提交
Command(mforhelp):
w
Thepartitiontablehasbeenaltered!
Callingioctl()tore-readpartitiontable.
Syncingdisks.
提交完以后我们给数据分区构筑文件系统ext320M的管理用分区是不需要构筑文件系统的
[root@server1~]#mkfs-text3/dev/hdb6
mke2fs1.39(29-May-2006)
Filesystemlabel=
OStype:
Linux
Blocksize=4096(log=2)
Fragmentsize=4096(log=2)
116992inodes,233879blocks
11693blocks(5.00%)reservedforthesuperuser
Firstdatablock=0
Maximumfilesystemblocks=243269632
8blockgroups
32768blockspergroup,32768fragmentspergroup
14624inodespergroup
Superblockbackupsstoredonblocks:
32768,98304,163840,229376
Writinginodetables:
done
Creatingjournal(4096blocks):
done
Writingsuperblocksandfilesystemaccountinginformation:
done
Thisfilesystemwillbeautomaticallycheckedevery23mountsor
180days,whichevercomesfirst.Usetune2fs-cor-itooverride.
此处我们在服务器的根目录下创建mount点
[root@server1~]#cd/
[root@server1/]#mkdirmdata
注意:
以上做的设置2台机器都要做相同的设置
6.2.4License注册
注册文件,我们在看教程时,我们用的是BASE60,ISAG60,是共享集群,后来我们开始做镜像集群,用的是BASE60,REPL60,在后来我们在装底层服务的时候,还需要注册文件我们用的是DBAG60,REPL60。
如图6-6
图6-6License注册
6.2.5资源组的配置
在配置HA的组资源的配置时候,根据看过的文档和视频,由于版本的不同我们用的是HA6.0,而文档是HA5.0在一开始的配置中,并没有修改资源的启动停止脚本,我们在设置组资源的时候由于业务的模糊,我们只是设置Apache。
后来通过咨询,我们在这里了解了组资源,并正确的配置了组资源。
6.2.6监控资源的配置
监控资源的配置的问题,一开始是在共享集群配置,与镜像集群资源及监控配置有很大出入。
共享集群在配置资源组的时候,所监控是共享盘阵,也就是我们的虚拟的第二快硬盘,而镜像集群是配置镜像磁盘,共享集群和镜像集群在监控中所添加都是浮动IP、磁盘和底层服务。
并配置监视的资源,实施有效的监控。
6.2.7浮动IP的设置
浮动IP中设置,在配置HA中,我们设置了浮动IP,例如172.16.1.22,但是在测试的时候,我们访问的是浮动IP,无法访问,无法出现业务层的页面,在这个问题中我们卡了经用三、四天左右。
通过,我们自己的摸索,在Apache选项上给弄错了。
在IP配置上是选用同一网段(就是设置私网和公网的地址的网段)作为浮动IP。
6.2.8心跳线的设置
我们在一开始的时候,设置的是一块网卡,一块硬盘,在设置HA的时候,私网地址和公网地址都使用同一IP,在构想当中是可行的,在实际测试中问题体现并不明显,不知道是私网IP还是公网IP的问题,最后为了使问题的细化,使用了两块网卡,一块用于私网心跳监视,一块用于公网访问,在实际测试中效果很明显。
6.2.9EXEC资源的设置
能够使用启动资源(称为EXEC资源)启动应用程序,通过监视资源(称为PID监视资源)定期监视进程的生存。
由于业务应用程序异常退出造成业务中断时,我们可以不做任何操作,自动关闭有故障的服务器,启动正常的服务器。
下面是Mysql的设置,需要更改启动停止脚本,例如:
Apache,oracle数据库等资源都做此操作。
如图6-7
图6-7添加mysql脚本
6.2.10配置文件上传
在建立HA的时候我们认为是共享集群,但是实际当中我们没有盘阵,在测试中共享集群中是可以的,在实际情况当中,因为条件不允许我们只能做镜像集群,来完成服务的搭建。
图6-8,图6-9
图6-8配置文件上传
图6-9集群文件上传
集群上传完毕重启服务器以后两台服务器会进行镜像数据传输,这个时候等待时间会较长,等待时间是根据服务器上的数据量来决定时间长短的。
6.2.11Hosts服务
Etc/hosts下要加入主服务的公网IP和私网IP,以及备服务器的公网ip和私网ip,备服务器上做同样的操作,之前我们没有改,经常出现网络不同的情况;把自己的私网IP和对方的公网IP和私网IP加进来就行。
如图6-10
图6-10添加私有ip和公有ip地址
6.2.12实现效果和失效切换
通过以上修改和配置,实现的效果如下。
图6-11
图6-11配置集群
失效切换如下。
图6-12
图6-12失效切换
6.2.13数据库图形化
对于这个数据的移植,我们是在一次无意当中给移植进去的,那天我们的指导老师在给我们看OA办公系统里面连接的时候(我们一直在用无图化操作),老师说mysql有图形化界面,让我们从windows下移植,就可以有图像化了。
当时,我们回来尝试,可是怎么也移植不出来,经过多次尝试,图形化界面给解决了。
安装方法如下:
从在windows找到你所安装的mysql数据库,把里面的phpmyadmin2.11.6和sqlitemanager1.2.0(一个是数据库一个字符集)拷贝到数据库里面,当时的路径是:
/var/www/html/下放置,启动Apache和Mysql这两个服务,从而登陆到图形化界面。
图6-13
图6-13数据库在linux的应用
6.2.14汉字的乱码
我们在安装,OA办公化系统的时候,出现了意想不到的结果,即使在页面出现了乱码的情况,而却有些数据也看不成,只能进入页面。
在通过,修改,在修改,也面就可行了。
方法:
把你的OA的办公化系统,直接拷贝到Linux下所安装的目录,同时,修改字符;
先用查找命令,找到php.ini路径:
/etc/php.ini;
修改里面的配置:
php.ini中的short_open_tag和或着register_globals应当设置为On,否则不支持PHP的开始标记“
”;
php.ini中的default_charset应当设置为"gb2312或all",否则可能出现乱码。
在这里是两个地方都的改。
图6-14,图6-15
Default_charset=’添加’这个字符改成all或gb2312,这样就可以识别字符了
图6-14修改register_globals
图6-15修改Default_charset
更改后就可以分别登陆到OA办公化系统和在线购物系统。
图6-16,图6-17
图6-16OA办公化系统在集群中的应用
图6-17在线购物系统在集群中的应用
6.2.15网络不通
虚拟机与真实机器无法连接,无法与外网连接,由于虚拟机本身原因,我们用了servicenetworkrestart进行虚拟机网卡重启,在真实机器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 HA 磁盘 镜像多 业务 集群 服务 解决方案