云计算实现方法和系统转让专利

申请号 : CN201110295513.6

文献号 : CN102325192B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 辛旻胡兵张永起林东晖朱承李曼黄立志周蓉敖士王戎崔岩伍志平王洁毛瑜明钟华

申请人 : 上海宝信软件股份有限公司上海拜服信息科技有限公司

摘要 :

本发明公开了一种云计算实现方法,通过多层负载均衡架构设计,在应用层、中间层、数据库层每个层都部署了多台功能完全相同的虚拟机,并在各虚拟机上分别部署故障监控模块,当一虚拟机发生文件系统只读等故障时,故障监控模块自动将该虚拟机关闭,实现虚拟机节点的自动隔离,并将故障信息上报管理中心,管理中心将对发生故障的虚拟机的访问请求迁移至相应的另一虚拟机,任何一个主虚拟机的故障或缺失都不会对当前业务系统造成停顿,从而能够避免单个主虚拟机的故障对整个云计算平台造成影响,保证了业务的通畅,提高了用户体验和整个系统的性能。本发明还公开了一种云计算系统。

权利要求 :

1.一种云计算实现方法,其特征在于,

一.在H台物理服务器上安装相同的虚拟化平台软件,H为大于等于3的整数,各台物理服务器间网络连接;

二.运行所述H台物理服务器上的虚拟化平台软件,在各台物理服务器上分别虚拟化成一个或多个虚拟机,在各虚拟机里分别部署相同的客户机操作系统;各物理服务器分别设置共享系统资源,同一个物理服务器上的各个虚拟机共享该物理服务器的共享系统资源;

三.安装管理中心,并将所述H台物理服务器上的虚拟化平台软件全部加入到管理中心里并接受管理;

四.在所述H台物理服务器上的各虚拟机上部署故障监控模块,所述故障监控模块用于对所在虚拟机进行监测,当监测到所在虚拟机发生故障时,自动将该虚拟机关闭,并将故障信息上报所述管理中心;

所述H台物理服务器中的M台物理服务器作为主物理服务器,所述主物理服务器上的E个虚拟机的客户机操作系统上分别安装相同的中间件作为主中间件虚拟机,另外F个虚拟机的客户机操作系统上分别安装相同的数据库软件作为主数据库虚拟机,2≤M<H,E、F大于等于2且E+F小于等于在所述M台主物理服务器上的虚拟机的个数;

所述H台物理服务器中的另外N台物理服务器作为备物理服务器,所述备物理服务器中的C个虚拟机的客户机操作系统上分别安装与主中间件虚拟机相同的中间件作为备中间件虚拟机,另外D个虚拟机的客户机操作系统上分别安装与主数据库虚拟机相同的数据库软件作为备数据库虚拟机,N=H-M,C、D大于等于1且C+D小于等于在所述N台备物理服务器上的虚拟机的个数;

五.配置管理中心,使

所述M台主物理服务器上的主中间件虚拟机及主数据库虚拟机配置成主服务器集群;

所述N台备物理服务器上的备中间件虚拟机及备数据库虚拟机配置成备服务器集群;

所述管理中心接收到主服务器集群中的一虚拟机上的故障监控模块上报的故障信息后,将对该发生故障的虚拟机的访问请求迁移至主服务器集群中的类型相同的运行正常一虚拟机;若主服务器集群中不存在类型相同的运行正常的虚拟机,则将对该发生故障的虚拟机的访问请求迁移至备服务器集群中的类型相同的运行正常一虚拟机;

类型相同是指同为中间件虚拟机或同为数据库虚拟机。

2.根据权利要求1所述的云计算实现方法,其特征在于,

所述M台主物理服务器上的E个主中间件虚拟机通过中间件配置成主负载均衡集群;

配置成主负载均衡集群的各主中间件虚拟机上的中间件,根据各主中间件虚拟机上执行的调度操作数据量,在不同主中间件虚拟机之间进行调度操作的迁移;

所述N台备物理服务器上的C个备中间件虚拟机通过中间件配置成备负载均衡集群;

配置成备负载均衡集群的各备中间件虚拟机上的中间件,根据各备中间件虚拟机上执行的调度操作数据量,在不同备中间件虚拟机之间进行调度操作的迁移;

所述M台主物理服务器上的F个主数据库虚拟机通过所述数据库软件配置成主实时应用集群,共用主数据库;配置成主实时应用集群的各主数据库虚拟机上的数据库软件,根据各主数据库虚拟机中的数据访问量,在各主数据库虚拟机之间进行数据访问的迁移;

所述N台备物理服务器上的D个备数据库虚拟机通过所述数据库软件配置成备实时应用集群,共用备数据库;配置成备实时应用集群的各备数据库虚拟机上的数据库软件,根据各备数据库虚拟机中的数据访问量,在各备数据库虚拟机之间进行数据访问的迁移;

在主数据库及备数据库上部署数据库复制软件,配置数据库表复制,将数据库表从主数据库同步复制到备数据库中。

3.根据权利要求1所述的云计算实现方法,其特征在于,

所述H台物理服务器具有相同CPU平台和内核微码,所述各中间件虚拟机上设置相同的应用程序。

4.根据权利要求1所述的云计算实现方法,其特征在于,

所述管理中心安装在所述H台物理服务器的一虚拟机上,或者安装在另一独立的物理服务器上。

5.根据权利要求1所述的云计算实现方法,其特征在于,所述管理中心,当监测到一个物理服务器上的任一虚拟机的应用负载大于负载阈值时,从该虚拟机所属的物理服务器的共享系统资源中为该虚拟机分配所需系统资源;

当监测到一物理服务器上任一虚拟机对资源的要求大于该物理服务器的共享系统资源时,将对该虚拟机的访问请求迁移至能够满足资源要求的另一物理服务器上的类型相同的运行正常的一虚拟机。

6.根据权利要求1所述的云计算实现方法,其特征在于,所述故障监控模块,当监测到所在虚拟机发生文件系统只读故障时,自动将该虚拟机关闭,并将故障信息上报所述管理中心。

7.根据权利要求1所述的云计算实现方法,其特征在于,在每台物理服务器上分别虚拟化成K个虚拟机,K为正整数。

8.根据权利要求7所述的云计算实现方法,其特征在于,K等于4。

9.根据权利要求8所述的云计算实现方法,其特征在于,H等于3,M等于2,N等于1,E等于4,F等于4,C等于2,D等于2。

10.根据权利要求2所述的云计算实现方法,其特征在于,

所述虚拟化平台软件为VMware ESX4.1,

所述管理中心为VMware Vcenter,

所述客户机操作系统为红帽Linux5.5,

所述中间件为Jboss EAP4.3,

所述数据库软件为Oracle10g R2,

所述数据库复制软件为DSG Real Sync。

11.一种云计算系统,其特征在于,包括H台物理服务器、一管理中心,所述H台物理服务器及管理中心通过网络连接,H为大于等于3的整数;

所述H台物理服务器安装相同的虚拟化平台软件,所述H台物理服务器各自分别设置共享系统资源;

所述H台物理服务器各自通过运行所述虚拟化平台软件分别虚拟化成一个或多个虚拟机;同一个物理服务器上的各个虚拟机共享该物理服务器的共享系统资源;

所述各虚拟机上分别部署相同的客户机操作系统、故障监控模块;

所述故障监控模块用于对所在虚拟机进行监测,当监测到所在虚拟机发生故障,自动将该虚拟机关闭,并将故障信息上报所述管理中心;

所述H台物理服务器中的M台物理服务器作为主物理服务器,所述主物理服务器上的E个虚拟机的客户机操作系统上分别安装相同的中间件作为主中间件虚拟机,另外F个虚拟机的客户机操作系统上分别安装相同的数据库软件作为主数据库虚拟机,2≤M<H,E、F大于等于2且E+F小于等于在所述M台主物理服务器上的虚拟机的个数;

所述H台物理服务器中的另外N台物理服务器作为备物理服务器,所述备物理服务器中的C个虚拟机的客户机操作系统上分别安装与主中间件虚拟机相同的中间件作为备中间件虚拟机,另外D个虚拟机的客户机操作系统上分别安装与主数据库虚拟机相同的数据库软件作为备数据库虚拟机,N=H-M,C、D大于等于1且C+D小于等于在所述N台备物理服务器上的虚拟机的个数;

所述管理中心,用于管理所述H台物理服务器上的虚拟化平台软件及其虚拟化成的各虚拟机,将多个虚拟机组成集群,并在各个虚拟化平台软件之间动态迁移虚拟机;

所述管理中心,将所述M台主物理服务器上的主中间件虚拟机及主数据库虚拟机配置成主服务器集群,将所述N台备物理服务器上的备中间件虚拟机及备数据库虚拟机配置成备服务器集群;

所述管理中心,接收到主服务器集群中的一虚拟机上的故障监控模块上报的故障信息后,将对该发生故障的虚拟机的访问请求迁移至主服务器集群中的类型相同的运行正常一虚拟机;若主服务器集群中不存在类型相同的运行正常的虚拟机,则将对该发生故障的虚拟机的访问请求迁移至备服务器集群中的类型相同的运行正常一虚拟机;

类型相同是指同为中间件虚拟机或同为数据库虚拟机。

12.根据权利要求11所述的云计算系统,其特征在于,

所述M台主物理服务器上的E个主中间件虚拟机通过中间件配置成主负载均衡集群;

配置成主负载均衡集群的各主中间件虚拟机上的中间件,根据各主中间件虚拟机上执行的调度操作数据量,在不同主中间件虚拟机之间进行调度操作的迁移;

所述N台备物理服务器上的C个备中间件虚拟机通过中间件配置成备负载均衡集群;

配置成备负载均衡集群的各备中间件虚拟机上的中间件,根据各备中间件虚拟机上执行的调度操作数据量,在不同备中间件虚拟机之间进行调度操作的迁移;

所述M台主物理服务器上的F个主数据库虚拟机通过所述数据库软件配置成主实时应用集群,共用主数据库;配置成主实时应用集群的各主数据库虚拟机上的数据库软件,根据各主数据库虚拟机中的数据访问量,在各主数据库虚拟机之间进行数据访问的迁移;

所述N台备物理服务器上的D个备数据库虚拟机通过所述数据库软件配置成备实时应用集群,共用备数据库;配置成备实时应用集群的各备数据库虚拟机上的数据库软件,根据各备数据库虚拟机中的数据访问量,在各备数据库虚拟机之间进行数据访问的迁移;

所述主数据库及备数据库上部署数据库复制软件,所述数据库复制软件用于配置数据库表复制,将数据库表从主数据库同步复制到备数据库中。

13.根据权利要求11所述的云计算系统,其特征在于,

所述H台物理服务器具有相同CPU平台和内核微码,所述各中间件虚拟机上设置相同的应用程序。

14.根据权利要求11所述的云计算系统,其特征在于,

所述管理中心安装在所述H台物理服务器的一虚拟机上,或者安装在另一独立的物理服务器上。

15.根据权利要求11所述的云计算系统,其特征在于,所述管理中心,当监测到一个物理服务器上的任一虚拟机的应用负载大于负载阈值时,从该虚拟机所属的物理服务器的共享系统资源中为该虚拟机分配所需系统资源;

当监测到一物理服务器上任一虚拟机对资源的要求大于该物理服务器的共享系统资源时,将对该虚拟机的访问请求迁移至能够满足资源要求的另一物理服务器上的类型相同的运行正常的一虚拟机。

16.根据权利要求11所述的云计算系统,其特征在于,所述故障监控模块,当监测到所在虚拟机发生文件系统只读故障时,自动将该虚拟机关闭,并将故障信息上报所述管理中心。

17.根据权利要求11所述的云计算系统,其特征在于,在每台物理服务器上分别虚拟化成K个虚拟机,K为正整数。

18.根据权利要求17所述的云计算系统,其特征在于,K等于4。

19.根据权利要求18所述的云计算系统,其特征在于,H等于3,M等于2,N等于1,E等于4,F等于4,C等于2,D等于2。

20.根据权利要求12所述的云计算系统,其特征在于,

所述虚拟化平台软件为VMware ESX4.1,

所述管理中心为VMware Vcenter,

所述客户机操作系统为红帽Linux5.5,

所述中间件为Jboss EAP4.3,

所述数据库软件为Oracle10g R2,

所述数据库复制软件为DSG Real Sync。

说明书 :

云计算实现方法和系统

技术领域

[0001] 本发明涉及计算机技术,尤其是涉及一种云计算实现方法和系统。

背景技术

[0002] 传统的云计算实现方法和系统,通过对多台物理服务器进行虚拟化,在物理服务器上建立虚拟机,从而实现云计算。在传统的云计算系统中各个虚拟机分别实现不同的功能,不同虚拟机上配置的操作系统和应用程序也通常不同,多个虚拟机配合工作实现相应的功能。
[0003] 由于各个虚拟机分别实现不同的功能,不同虚拟机上配置的操作系统和应用程序也通常不同,所以传统的云计算系统,当系统中的任一虚拟机出现故障时,会影响整个系统的运行,造成业务停顿,甚至导致系统的崩溃。
[0004] 例如,Linux操作系统及第三扩展文件系统(ext3)广泛应用于云计算系统。在传统Linux操作系统中,当文件系统代码尝试去写出关键数据,存储层报告错误时系统的过度负载,ext3代码的一个预读优化的机制能被触发从存储层发生一个不可恢复的错误。当出现这种情况后,业务系统将无法写入数据,Linux操作系统必须重启进行文件系统检查(file system check,fsck)修复以检查文件系统完整性,这时,文件系统就改变成只读状态以避免更大的毁坏。
[0005] 但是,由于ext3文件系统的另一个自身设计原因,fsck必须同时比对日志文件(journal)和原数据(meta-data),因此造成文件系统完整性检查时间无法预计,并且文件系统越大,数据量越大,该情况越严重,fsck检查时间可能数小时、数天、甚至数周。
[0006] 而传统的云计算系统中的Linux操作系统,也只实现了Linux操作系统从物理服务器到虚拟化平台的转换,但是没有改变ext3文件系统本身固有的特性和缺陷,当系统中任一虚拟机出现文件系统只读的情况,即该虚拟机上发生故障时,会影响整个系统的运行,造成业务停顿,甚至导致系统的崩溃。

发明内容

[0007] 本发明要解决的技术问题是能够避免单个虚拟机节点的故障对整个云计算平台造成影响,保证业务的通畅,提高用户体验和整个系统的性能。
[0008] 为解决上述技术问题,本发明提供了一种云计算实现方法,采用的技术方案是:
[0009] 一.在H台物理服务器上安装相同的虚拟化平台软件,H为大于等于3的整数,各台物理服务器间网络连接;
[0010] 二.运行所述H台物理服务器上的虚拟化平台软件,在各台物理服务器上分别虚拟化成一个或多个虚拟机,在各虚拟机里分别部署相同的客户机操作系统;各物理服务器分别设置共享系统资源,同一个物理服务器上的各个虚拟机共享该物理服务器的共享系统资源;
[0011] 三.安装管理中心,并将所述H台物理服务器上的虚拟化平台软件全部加入到管理中心里并接受管理;
[0012] 四.在所述H台物理服务器上的各虚拟机上部署故障监控模块,所述故障监控模块用于对所在虚拟机进行监测,当监测到所在虚拟机发生故障时,自动将该虚拟机关闭,并将故障信息上报所述管理中心;
[0013] 所述H台物理服务器中的M台物理服务器作为主物理服务器,所述主物理服务器上的E个虚拟机的客户机操作系统上分别安装相同的中间件作为主中间件虚拟机,另外F个虚拟机的客户机操作系统上分别安装相同的数据库软件作为主数据库虚拟机,2≤M<H,E、F大于等于2且E+F小于等于在所述M台主物理服务器上的虚拟机的个数;
[0014] 所述H台物理服务器中的另外N台物理服务器作为备物理服务器,所述备物理服务器中的C个虚拟机的客户机操作系统上分别安装与主中间件虚拟机相同的中间件作为备中间件虚拟机,另外D个虚拟机的客户机操作系统上分别安装与主数据库虚拟机相同的数据库软件作为备数据库虚拟机,N=H-M,C、D大于等于1且C+D小于等于在所述N台备物理服务器上的虚拟机的个数;
[0015] 五.配置管理中心,使
[0016] 所述M台主物理服务器上的主中间件虚拟机及主数据库虚拟机配置成主服务器集群;
[0017] 所述N台备物理服务器上的备中间件虚拟机及备数据库虚拟机配置成备服务器集群;
[0018] 所述管理中心接收到主服务器集群中的一虚拟机上的故障监控模块上报的故障信息后,将对该发生故障的虚拟机的访问请求迁移至主服务器集群中的类型相同的运行正常一虚拟机;若主服务器集群中不存在类型相同的运行正常的虚拟机,则将对该发生故障的虚拟机的访问请求迁移至备服务器集群中的类型相同的运行正常一虚拟机;
[0019] 类型相同是指同为中间件虚拟机或同为数据库虚拟机。
[0020] 所述M台主物理服务器上的E个主中间件虚拟机通过中间件配置成主负载均衡集群;配置成主负载均衡集群的各主中间件虚拟机上的中间件,根据各主中间件虚拟机上执行的调度操作数据量,在不同主中间件虚拟机之间进行调度操作的迁移;
[0021] 所述N台备物理服务器上的C个备中间件虚拟机通过中间件配置成备负载均衡集群;配置成备负载均衡集群的各备中间件虚拟机上的中间件,根据各备中间件虚拟机上执行的调度操作数据量,在不同备中间件虚拟机之间进行调度操作的迁移;
[0022] 所述M台主物理服务器上的F个主数据库虚拟机通过所述数据库软件配置成主实时应用集群,共用主数据库;配置成主实时应用集群的各主数据库虚拟机上的数据库软件,根据各主数据库虚拟机中的数据访问量,在各主数据库虚拟机之间进行数据访问的迁移;
[0023] 所述N台备物理服务器上的D个备数据库虚拟机通过所述数据库软件配置成备实时应用集群,共用备数据库;配置成备实时应用集群的各备数据库虚拟机上的数据库软件,根据各备数据库虚拟机中的数据访问量,在各备数据库虚拟机之间进行数据访问的迁移;
[0024] 在主数据库及备数据库上部署数据库复制软件,配置数据库表复制,将数据库表从主数据库同步复制到备数据库中。
[0025] 所述H台物理服务器具有相同CPU平台和内核微码,所述各中间件虚拟机上设置相同的应用程序。
[0026] 所述管理中心安装在所述H台物理服务器的一虚拟机上,或者安装在另一独立的物理服务器上。
[0027] 所述管理中心,
[0028] 当监测到一个物理服务器上的任一虚拟机的应用负载大于负载阈值时,从该虚拟机所属的物理服务器的共享系统资源中为该虚拟机分配所需系统资源;
[0029] 当监测到一物理服务器上任一虚拟机对资源的要求大于该物理服务器的共享系统资源时,将对该虚拟机的访问请求迁移至能够满足资源要求的另一物理服务器上的类型相同的运行正常的一虚拟机。
[0030] 为解决上述技术问题,本发明还提供了一种云计算系统,其采用的技术方案是,包括H台物理服务器、一管理中心,所述H台物理服务器及管理中心通过网络连接,H为大于等于3的整数;
[0031] 所述H台物理服务器安装相同的虚拟化平台软件,所述H台物理服务器各自分别设置共享系统资源,
[0032] 所述H台物理服务器各自通过运行所述虚拟化平台软件分别虚拟化成一个或多个虚拟机;同一个物理服务器上的各个虚拟机共享该物理服务器的共享系统资源;
[0033] 所述各虚拟机上分别部署相同的客户机操作系统、故障监控模块;
[0034] 所述故障监控模块用于对所在虚拟机进行监测,当监测到所在虚拟机发生故障,自动将该虚拟机关闭,并将故障信息上报所述管理中心;
[0035] 所述H台物理服务器中的M台物理服务器作为主物理服务器,所述主物理服务器上的E个虚拟机的客户机操作系统上分别安装相同的中间件作为主中间件虚拟机,另外F个虚拟机的客户机操作系统上分别安装相同的数据库软件作为主数据库虚拟机,2≤M<H,E、F大于等于2且E+F小于等于在所述M台主物理服务器上的虚拟机的个数;
[0036] 所述H台物理服务器中的另外N台物理服务器作为备物理服务器,所述备物理服务器中的C个虚拟机的客户机操作系统上分别安装与主中间件虚拟机相同的中间件作为备中间件虚拟机,另外D个虚拟机的客户机操作系统上分别安装与主数据库虚拟机相同的数据库软件作为备数据库虚拟机,N=H-M,C、D大于等于1且C+D小于等于在所述N台备物理服务器上的虚拟机的个数;
[0037] 所述管理中心,用于管理所述H台物理服务器上的虚拟化平台软件及其虚拟化成的各虚拟机,将多个虚拟机组成集群,并在各个虚拟化平台软件之间动态迁移虚拟机;
[0038] 所述管理中心,将所述M台主物理服务器上的主中间件虚拟机及主数据库虚拟机配置成主服务器集群,将所述N台备物理服务器上的备中间件虚拟机及备数据库虚拟机配置成备服务器集群;
[0039] 所述管理中心,接收到主服务器集群中的一虚拟机上的故障监控模块上报的故障信息后,将对该发生故障的虚拟机的访问请求迁移至主服务器集群中的类型相同的运行正常一虚拟机;若主服务器集群中不存在类型相同的运行正常的虚拟机,则将对该发生故障的虚拟机的访问请求迁移至备服务器集群中的类型相同的运行正常一虚拟机;
[0040] 类型相同是指同为中间件虚拟机或同为数据库虚拟机。
[0041] 所述M台主物理服务器上的E个主中间件虚拟机通过中间件配置成主负载均衡集群;配置成主负载均衡集群的各主中间件虚拟机上的中间件,根据各主中间件虚拟机上执行的调度操作数据量,在不同主中间件虚拟机之间进行调度操作的迁移;
[0042] 所述N台备物理服务器上的C个备中间件虚拟机通过中间件配置成备负载均衡集群;配置成备负载均衡集群的各备中间件虚拟机上的中间件,根据各备中间件虚拟机上执行的调度操作数据量,在不同备中间件虚拟机之间进行调度操作的迁移;
[0043] 所述M台主物理服务器上的F个主数据库虚拟机通过所述数据库软件配置成主实时应用集群,共用主数据库;配置成主实时应用集群的各主数据库虚拟机上的数据库软件,根据各主数据库虚拟机中的数据访问量,在各主数据库虚拟机之间进行数据访问的迁移;
[0044] 所述N台备物理服务器上的D个备数据库虚拟机通过所述数据库软件配置成备实时应用集群,共用备数据库;配置成备实时应用集群的各备数据库虚拟机上的数据库软件,根据各备数据库虚拟机中的数据访问量,在各备数据库虚拟机之间进行数据访问的迁移;
[0045] 所述主数据库及备数据库上部署数据库复制软件,所述数据库复制软件用于配置数据库表复制,将数据库表从主数据库同步复制到备数据库中。
[0046] 所述H台物理服务器具有相同CPU平台和内核微码,所述各中间件虚拟机上设置相同的应用程序。
[0047] 所述管理中心安装在所述H台物理服务器的一虚拟机上,或者安装在另一独立的物理服务器上。
[0048] 所述管理中心,当监测到一个物理服务器上的任一虚拟机的应用负载大于负载阈值时,从该虚拟机所属的物理服务器的共享系统资源中为该虚拟机分配所需系统资源;当监测到一物理服务器上任一虚拟机对资源的要求大于该物理服务器的共享系统资源时,将对该虚拟机的访问请求迁移至能够满足资源要求的另一物理服务器上的类型相同的运行正常的一虚拟机。
[0049] 本发明的云计算实现方法和系统,通过多层负载均衡架构设计,在应用层、中间层、数据库层每个层都部署了多台功能完全相同的的虚拟机,并在各虚拟机上分别部署故障监控模块,当一虚拟机发生文件系统只读等故障时,故障监控模块自动将该虚拟机关闭,实现虚拟机节点的自动隔离,并将故障信息上报管理中心,管理中心将对发生故障的虚拟机的访问请求迁移至相应的另一虚拟机,任何一个主虚拟机的故障或缺失都不会对当前业务系统造成停顿,从而能够避免单个主虚拟机的故障对整个云计算平台造成影响,保证了业务的通畅,提高了用户体验和整个系统的性能。这样当任何一个主虚拟机由于Linux操作系统ext3文件系统保护机制导致ext3文件系统只读情况发生,该主虚拟机关闭,防止应用系统对故障主虚拟机的继续访问,避免了ext3文件系统只读造成的业务停顿,解决了ext3文件系统完整性检查带来的时间不可预知问题,由于每个层面的虚拟机都是相同的,所以对于故障虚拟机无须修复,只要通过模板重新克隆部署即可。本发明的云计算实现方法和系统,由于业务数据放在裸设备(RAW Device)上,由数据库软件(如Oracle10g RAC)直接访问和管理,并由数据库复制软件将数据库表从主数据库同步复制到备数据库中,即使主数据库全部失效,也能快速切换到备数据库,不再受ext3文件系统功能和机制限制,实现了真实数据的有效保护。

附图说明

[0050] 下面结合附图和具体实施方式对本发明进行进一步详细说明。
[0051] 图1是本发明的云计算实现方法和系统一实施例示意图。

具体实施方式

[0052] 本发明的云计算实现方法一实施方式的技术方案如下:
[0053] 一.在H台物理服务器上安装相同的虚拟化平台软件(如VMware ESX4.1),作为云计算的底层基础运行的虚拟化平台,所述虚拟化平台软件用于将物理服务器的处理器、内存、存储器和资源虚拟化为一个或多个虚拟机,H为大于等于3的整数,所述H台物理服务器具有相同CPU平台和内核微码,各台物理服务器间网络连接;
[0054] 二.运行所述H台物理服务器上的虚拟化平台软件(如VMware ESX4.1),在各台物理服务器上分别虚拟化成一个或多个虚拟机(如在每台物理服务器上分别虚拟化成K个虚拟机,K为正整数),在各虚拟机里分别部署相同的客户机操作系统(如红帽Linux5.5),客户机操作系统用于为数据库、中间件这些软件提供基础服务;各物理服务器分别设置共享系统资源(如内存资源),同一个物理服务器上的各个虚拟机共享该物理服务器的共享系统资源(如内存资源);
[0055] 三.安装管理中心(如VMware Vcenter),并将所述H台物理服务器上的虚拟化平台软件(如VMware ESX4.1)全部加入到管理中心(如VMware Vcenter)里并接受管理,管理中心(如VMware Vcenter)可以安装在所述H台物理服务器的一虚拟机上,也可以安装在另一独立的物理服务器上,管理中心用于管理所述H台物理服务器上的各虚拟化平台软件及其虚拟化成的各虚拟机,将多个虚拟机组成集群,可在各个虚拟化平台软件之间动态迁移虚拟机;
[0056] 四.在所述H台物理服务器上的各虚拟机上部署故障监控模块,所述故障监控模块用于对所在虚拟机进行监测,当监测到所在虚拟机发生故障(如发生文件系统只读)时,自动将该虚拟机关闭,实现该虚拟机节点的自动隔离,并将故障信息上报所述管理中心;
[0057] 所述H台物理服务器中的M台物理服务器作为主物理服务器,所述主物理服务器上的E个虚拟机的客户机操作系统(如红帽Linux5.5)上分别安装相同的中间件(如Jboss EAP4.3)作为主中间件虚拟机,另外F个虚拟机的客户机操作系统上分别安装相同的数据库软件(如Oracle10g R2)作为主数据库虚拟机,2≤M<H,E、F大于等于2且E+F小于等于在所述M台主物理服务器上的虚拟机的个数;
[0058] 所述H台物理服务器中的另外N台物理服务器作为备物理服务器,所述备物理服务器中的C个虚拟机的客户机操作系统(如红帽Linux5.5)上分别安装与主中间件虚拟机相同的中间件(如Jboss EAP4.3)作为备中间件虚拟机,另外D个虚拟机的客户机操作系统上分别安装与主数据库虚拟机相同的数据库软件(如Oracle10g R2)作为备数据库虚拟机,N=H-M,C、D大于等于1且C+D小于等于在所述N台备物理服务器上的虚拟机的个数;
[0059] 所述各中间件虚拟机上设置相同的应用程序;
[0060] 五.所述M台主物理服务器上的E个主中间件虚拟机通过中间件(如Jboss EAP4.3)配置成主负载均衡集群;配置成主负载均衡集群的各主中间件虚拟机上的中间件,根据各主中间件虚拟机上执行的调度操作数据量,在不同主中间件虚拟机之间进行调度操作的迁移,以保证各主中间件虚拟机上调度操作的均衡;
[0061] 所述N台备物理服务器上的C个备中间件虚拟机通过中间件(如Jboss EAP4.3)配置成备负载均衡集群,实现会话复制和会话保持功能;配置成备负载均衡集群的各备中间件虚拟机上的中间件,根据各备中间件虚拟机上执行的调度操作数据量,在不同备中间件虚拟机之间进行调度操作的迁移,以保证各备中间件虚拟机上调度操作的均衡;
[0062] 所述M台主物理服务器上的F个主数据库虚拟机通过所述数据库软件(如Oracle10g R2)中的集群软件(如Oracle Clusterware)配置成主实时应用集群(real application clusters,RAC),共用主数据库;配置成主实时应用集群的各主数据库虚拟机上的数据库软件,根据各主数据库虚拟机中的数据访问量,在各主数据库虚拟机之间进行数据访问的迁移,以保证各主数据库虚拟机上数据访问的均衡;
[0063] 所述N台备物理服务器上的D个备数据库虚拟机通过所述数据库软件(如Oracle10g R2)中的集群软件(如Oracle Clusterware)配置成备实时应用集群(real application clusters,RAC),共用备数据库;配置成备实时应用集群的各备数据库虚拟机上的数据库软件,根据各备数据库虚拟机中的数据访问量,在各备数据库虚拟机之间进行数据访问的迁移,以保证各备数据库虚拟机上数据访问的均衡;
[0064] 在主数据库及备数据库上部署数据库复制软件(如DSG RealSync数据库容灾实时同步复制软件),配置数据库表复制,将数据库表从主数据库同步复制到备数据库中;
[0065] 六.配置管理中心,
[0066] 通过管理中心(如VMware Vcenter的VMware向导)及所述M台物理服务器上安装的虚拟化平台软件(如VMware ESX4.1的VMware向导)使所述M台主物理服务器上的主中间件虚拟机及主数据库虚拟机配置成主服务器集群;
[0067] 通过管理中心(如VMware Vcenter的VMware向导)及所述N台备物理服务器上安装的虚拟化平台软件(如VMware ESX4.1的VMware向导)使所述N台备物理服务器上的备中间件虚拟机及备数据库虚拟机配置成备服务器集群;
[0068] 使所述管理中心,当接收到主服务器集群中的一虚拟机上的故障监控模块上报的故障信息(如发生文件系统只读情况)后,将对该发生故障的虚拟机的访问请求迁移至主服务器集群中的类型相同的运行正常一虚拟机;若主服务器集群中不存在类型相同的运行正常的虚拟机,则将对该发生故障的虚拟机的访问请求迁移至备服务器集群中的类型相同的运行正常一虚拟机。由于只有当主服务器集群的所有虚拟机全部失效才访问备服务器集群,可以保证备服务器集群的数据是安全和有效的;
[0069] 并使所述管理中心,当监测到一个物理服务器上的任一虚拟机的应用负载大于负载阈值时,从该虚拟机所属的物理服务器的共享系统资源中为该虚拟机分配所需系统资源(如内存资源);当监测到一物理服务器上任一虚拟机对资源的要求大于该物理服务器的共享系统资源时,将对该虚拟机的访问请求迁移至能够满足资源要求的另一物理服务器上的类型相同的运行正常的一虚拟机;
[0070] 类型相同是指同为中间件虚拟机或同为数据库虚拟机。
[0071] 本发明的云计算系统一实施方式的技术方案如下:
[0072] 该云计算系统包括H台物理服务器、一管理中心,所述H台物理服务器及管理中心通过网络连接,H为大于等于3的整数;
[0073] 所述H台物理服务器具有相同CPU平台和内核微码,并安装相同的虚拟化平台软件(如VMware ESX4.1);所述H台物理服务器各自分别设置共享系统资源(如内存资源)[0074] 所述H台物理服务器各自通过运行所述虚拟化平台软件(如VMware ESX4.1)分别虚拟化成一个或多个虚拟机(如在每台物理服务器上分别虚拟化成K个虚拟机,K为正整数);同一个物理服务器上的各个虚拟机共享该物理服务器的共享系统资源(如内存资源);
[0075] 所述各虚拟机上分别部署相同的客户机操作系统(如红帽Linux5.5)、故障监控模块;
[0076] 所述故障监控模块用于对所在虚拟机进行监测,当监测到所在虚拟机发生故障(如发生文件系统只读)时,自动将该虚拟机关闭,实现该虚拟机的自动隔离,并将故障信息上报所述管理中心;
[0077] 所述H台物理服务器中的M台物理服务器作为主物理服务器,所述主物理服务器上的E个虚拟机的客户机操作系统(如红帽Linux5.5)上分别安装相同的中间件(如Jboss EAP4.3)作为主中间件虚拟机,另外F个虚拟机的客户机操作系统上分别安装相同的数据库软件(如Oracle10g R2)作为主数据库虚拟机,2≤M<H,E、F大于等于2且E+F小于等于在所述M台主物理服务器上的虚拟机的个数;
[0078] 所述H台物理服务器中的另外N台物理服务器作为备物理服务器,所述备物理服务器中的C个虚拟机的客户机操作系统(如红帽Linux5.5)上分别安装与主中间件虚拟机相同的中间件(如Jboss EAP4.3)作为备中间件虚拟机,另外D个虚拟机的客户机操作系统上分别安装与主数据库虚拟机相同的数据库软件(如Oracle10g R2)作为备数据库虚拟机,N=H-M,C、D大于等于1且C+D小于等于在所述N台备物理服务器上的虚拟机的个数;
[0079] 所述各中间件虚拟机上设置相同的应用程序;
[0080] 所述M台主物理服务器上的E个主中间件虚拟机通过中间件(如Jboss EAP4.3)配置成主负载均衡集群;配置成主负载均衡集群的各主中间件虚拟机上的中间件,根据各主中间件虚拟机上执行的调度操作数据量,在不同主中间件虚拟机之间进行调度操作的迁移,以保证各主中间件虚拟机上调度操作的均衡;
[0081] 所述N台备物理服务器上的C个备中间件虚拟机通过中间件(如Jboss EAP4.3)配置成备负载均衡集群,实现会话复制和会话保持功能;配置成备负载均衡集群的各备中间件虚拟机上的中间件,根据各备中间件虚拟机上执行的调度操作数据量,在不同备中间件虚拟机之间进行调度操作的迁移,以保证各备中间件虚拟机上调度操作的均衡;
[0082] 所述M台主物理服务器上的F个主数据库虚拟机通过所述数据库软件(如Oracle10g R2)中的集群软件(如Oracle Clusterware)配置成主实时应用集群(real application clusters,RAC),共用主数据库;配置成主实时应用集群的各主数据库虚拟机上的数据库软件,根据各主数据库虚拟机中的数据访问量,在各主数据库虚拟机之间进行数据访问的迁移,以保证各主数据库虚拟机上数据访问的均衡;
[0083] 所述N台备物理服务器上的D个备数据库虚拟机通过所述数据库软件(如Oracle10g R2)中的集群软件(如Oracle Clusterware)配置成备实时应用集群(real application clusters,RAC),共用备数据库;配置成备实时应用集群的各备数据库虚拟机上的数据库软件,根据各备数据库虚拟机中的数据访问量,在各备数据库虚拟机之间进行数据访问的迁移,以保证各备数据库虚拟机上数据访问的均衡;
[0084] 所述主数据库及备数据库上部署数据库复制软件(如DSG RealSync数据库容灾实时同步复制软件),所述数据库复制软件用于配置数据库表复制,将数据库表从主数据库同步复制到备数据库中;
[0085] 所述管理中心(如VMware Vcenter)安装在所述H台物理服务器之外的另一独立的物理服务器上或者安装在所述H台物理服务器的一虚拟机上,管理中心用于管理所述H台物理服务器上的虚拟化平台软件及其虚拟化成的各虚拟机,将多个虚拟机组成集群,并可在各个虚拟化平台软件之间动态迁移虚拟机;
[0086] 所述管理中心,将所述M台主物理服务器上的主中间件虚拟机及主数据库虚拟机配置成主服务器集群,将所述N台备物理服务器上的备中间件虚拟机及备数据库虚拟机配置成备服务器集群;
[0087] 所述管理中心,接收到主服务器集群中的一虚拟机上的故障监控模块上报的故障信息(如发生文件系统只读)后,将对该发生故障的虚拟机的访问请求迁移至主服务器集群中的类型相同的运行正常一虚拟机;若主服务器集群中不存在类型相同的运行正常的虚拟机,则将对该发生故障的虚拟机的访问请求迁移至备服务器集群中的类型相同的运行正常一虚拟机;
[0088] 所述管理中心,当监测到一个物理服务器上的任一虚拟机的应用负载大于负载阈值时,从该虚拟机所属的物理服务器的共享系统资源中为该虚拟机分配所需系统资源(如内存资源);当监测到一物理服务器上任一虚拟机对资源的要求大于该物理服务器的共享系统资源时,将对该虚拟机的访问请求迁移至能够满足资源要求的另一物理服务器上的类型相同的运行正常的一虚拟机;
[0089] 类型相同是指同为中间件虚拟机或同为数据库虚拟机。
[0090] 中间件是在操作系统、网络和数据库之上,应用软件的下层,主要功能是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信,来实现负载均衡等目的。
[0091] JBoss是一个基于J2EE的开放源代码的应用服务器,JBoss应用服务器充分利用了它先进的软件架构和高效稳定的底层组件,敏捷地实现了各种集群功能。
[0092] VMware主服务器集群可启用VMware DRS(Distributed Resource Scheduler)和VMware HA(High Availability)解决方案。
[0093] VMware DRS(Distributed Resource Scheduler,分布式资源调度程序),跨聚合到逻辑资源池中的硬件资源集合来动态地分配和平衡计算容量,VMware DRS跨资源池不间断地监控利用率,并根据反映了业务需要和不断变化的优先事务的预定义的规则,在多个虚拟机之间智能地分配可用资源。当虚拟机遇到负载增大时,VMware DRS将通过在资源池中的物理服务器之间重新分布虚拟机来自动为其分配更多资源。
[0094] VMware HA可使运行在ESX/ESXi主机上的虚拟机从主机故障中自动恢复过来。一台主机出现故障时,VMware HA会立即重新启动群集中其他主机上的所有关联的虚拟机。
[0095] 使用集群可最大限度地利用主机,并为虚拟机提供高可用性。集群在主机间分发资源并管理负载平衡。
[0096] 本发明的云计算实现方法和系统一实施例如图1所示,包括3台物理服务器;
[0097] 在3台物理服务器上安装VMware ESX4.1虚拟化平台软件,这个是云计算的底层基础运行平台;
[0098] 配置VMwareVcenter管理中心,并将所有物理服务器上的VMware ESX4.1虚拟化平台软件全部加入到VMwareVcenter管理中心里并接受管理,这个是实现云计算资源自动调整和分配的关键;
[0099] 运行各台物理服务器上的虚拟化平台软件(如VMware ESX4.1),在每台物理服务器上分别虚拟化成4个虚拟机,在3台物理服务器上的12个虚拟机里分别部署红帽Linux5.5客户机操作系统,在VMwareVcenter管理中心里部署红帽Linux5.5客户机操作系统共12台;
[0100] 在每台物理服务器上的4个部署红帽Linux5.5客户机操作系统的虚拟机中,其中2个虚拟机安装Jboss EAP4.3中间件,另外2个虚拟机安装Oracle10g R2数据库软件;
[0101] 第1、2台物理服务器的安装有Jboss EAP4.3中间件的4个虚拟机配置成主负载均衡集群,实现会话复制和会话保持功能;第1、2台物理服务器的安装有Oracle10g R2数据库的4个虚拟机配置成主实时应用集群(real application clusters,RAC),共用主数据库;
[0102] 第3台物理服务器的安装有Jboss EAP4.3中间件的2个虚拟机配置成备负载均衡集群,实现会话复制和会话保持功能;第3台物理服务器的安装有Oracle10g R2数据库的2个虚拟机配置成备实时应用集群(real application clusters,RAC),共用备数据库;
[0103] 在主数据库及备数据库上部署数据库复制软件(如DSG RealSync数据库容灾实时同步复制软件),配置数据库表复制,将数据库表从主数据库同步复制到备数据库中;
[0104] 第1、2台物理服务器上的8个虚拟机节点组成主服务器集群。
[0105] 第3台物理服务器上的4个虚拟机节点组成备服务器集群。
[0106] 所述各虚拟机上分别部署故障监控模块,用于对所在虚拟机进行监测,当监测到所在虚拟机发生故障(如发生文件系统只读情况)时,自动将该虚拟机关闭,实现虚拟机节点的自动隔离,并将故障信息上报所述管理中心;
[0107] 管理中心VMwareVcenter通过Vmotion功能自动实现虚拟机资源的动态在线迁移。
[0108] 本发明的云计算实现方法和系统,通过多层负载均衡架构设计,在应用层、中间层、数据库层每个层都部署了多台功能完全相同的的虚拟机,并在各虚拟机上分别部署故障监控模块,当一虚拟机发生文件系统只读等故障时,故障监控模块自动将该虚拟机关闭,实现虚拟机节点的自动隔离,并将故障信息上报管理中心,管理中心将对发生故障的虚拟机的访问请求迁移至相应的另一虚拟机,任何一个主虚拟机的故障或缺失都不会对当前业务系统造成停顿,从而能够避免单个主虚拟机的故障对整个云计算平台造成影响,保证了业务的通畅,提高了用户体验和整个系统的性能。这样当任何一个主虚拟机由于Linux操作系统ext3文件系统保护机制导致ext3文件系统只读情况发生,该主虚拟机关闭,防止应用系统对故障主虚拟机的继续访问,避免了ext3文件系统只读造成的业务停顿,解决了ext3文件系统完整性检查带来的时间不可预知问题,由于每个层面的虚拟机都是相同的,所以对于故障虚拟机无须修复,只要通过模板重新克隆部署即可。本发明的云计算实现方法和系统,由于业务数据放在裸设备(RAW Device)上,由数据库软件(如Oracle10g RAC)直接访问和管理,并由数据库复制软件将数据库表从主数据库同步复制到备数据库中,即使主数据库全部失效,也能快速切换到备数据库,不再受ext3文件系统功能和机制限制,实现了真实数据的有效保护。
[0109] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。