一种数据库部署方法、数据库部署装置、控制设备及系统与流程

文档序号:13983057阅读:259来源:国知局
一种数据库部署方法、数据库部署装置、控制设备及系统与流程
本发明涉及数据库领域,尤其涉及一种数据库部署方法、数据库部署装置、控制设备及系统。
背景技术
:数据库是依照某种数据模型组织起来并存放在存储器中的数据集合。由于数据库具有多用户共享的特点,能为业务提供数据支撑,因此数据库在业务系统的应用非常普遍。出于数据可靠性的考虑,数据库一般设置在独立的服务器上。在现有的数据库部署方法中,用户提出创建数据库的申请之后,由数据库管理员在业务系统中创建数据库。由于创建数据库的过程需要很多步骤,人工配置效率非常低。当数据库架构的复杂程度增加时,创建数据库所花费的时间也随之增加。技术实现要素:本发明提供了一种数据库部署方法、数据库部署装置、控制设备以及云计算系统,能够减少创建数据库所用时间,提高数据库部署效率。第一方面提供了一种数据库部署方法,包括:控制设备接收数据库创建请求,数据库创建请求携带有数据库架构标识以及数据库类型;控制设备根据数据库架构标识创建虚拟机,虚拟机设置在物理主机中;控制设备根据数据库类型确定数据库配置信息,根据数据库配置信息在虚拟机中部署数据库。第二方面提供一种数据库部署装置,包括:接口模块,用于接收数据库创建请求,数据库创建请求携带有数据库架构标识以及数据库类型;创建虚拟机模块,用于根据数据库架构标识创建虚拟机,虚拟机设置在物理主机中;确定模块,用于根据数据库类型确定数据库配置信息;部署数据库模块,用于根据数据库配置信息在虚拟机中部署数据库。第三方面提供一种控制设备,该控制设备包括多个如第二方面的数据库部署装置。第四方面提供一种云计算系统,该云计算系统包括第三方面的控制设备以及多台物理主机。在本发明技术方案中,控制设备能够接收数据库创建请求,获取数据库架构标识以及数据库类型,根据数据库架构标识创建虚拟机,根据数据库类型确定数据库配置信息,根据数据库配置信息在虚拟机中创建数据库。本发明可以自动创建虚拟机,并在虚拟机中自动部署数据库,减少了创建数据库所用的时间,提高了创建数据库的效率。附图说明图1为本发明实施例中云计算系统的一个示意图;图2为本发明实施例中物理主机的一个示意图;图3为本发明实施例中数据库部署方法的一个流程示意图;图4为本发明实施例中数据库部署方法的一个流程示意图;图5为本发明实施例中数据库部署方法的一个流程示意图;图6为本发明实施例中高可用数据库部署方法的一个流程示意图;图7为本发明实施例中单机数据库部署方法的一个流程示意图;图8为本发明实施例中数据库部署装置的一个结构示意图;图9为本发明实施例中数据库部署装置的另一个结构示意图;图10为本发明实施例中数据库部署装置中设置单元的一个结构示意图;图11为本发明实施例中数据库部署装置的另一个结构示意图;图12为本发明实施例中数据库部署装置的另一个结构示意图;图13为本发明实施例中控制设备的一个结构示意图。具体实施方式本发明的数据库部署方法主要应用于云计算系统,下面对云计算系统进行说明,请参阅图1,云计算系统包括控制设备10、网络20、多台物理主机30以及存储设备40。控制设备10一般由服务器实现。控制设备包括应用接口(applicationprogramminginterface,简称api)、消息队列、调度器和其他功能组件。其中调度器和其他功能组件都可以有多个。api:控制设备的接入模块,所有客户端设备通过api组件与控制设备交互。api组件负责对虚拟机创建请求的请求包进行参数校验,并对请求进行路由,分发给系统中其他组件。对于异步任务,api组件会将请求包分发给消息队列组件。消息队列:对于异步任务,消息会在消息队列中进行流转,各个组件具有生产者或者消费者的身份,生产者向消息队列中发送消息,消费者从消息队列中接收消息。调度器:用于从多台物理主机中选取合适的物理主机作为虚拟机的宿主机。其他功能组件:分别负责虚拟机的网络管理、云盘存储管理、镜像管理和虚拟机生产等功能。物理主机30包括虚拟机和硬件层,硬件层可以为每个虚拟机提供硬件资源,如图2所示。虚拟机(virtualmachine,简称vm)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在一台物理主机上可以通过虚拟机软件模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。硬件层是指虚拟机运行的硬件平台。其中,硬件层可包括多种硬件,例如某计算节点的硬件层可包括处理器(如cpu)和内存,还可以包括网卡、存储器等高速或低速输入/输出(input/output,简称i/o)设备,及具有特定处理功能的其它设备,如输入输出内存管理单元(input/outputmemorymanagementunit,简称iommu),其中iommu可用于虚拟机物理地址和host物理地址的转换。存储设备40用于存放数据库文件。举例来说,存储设备可以是基于ceph存储技术的分布式存储系统,该分布式存储系统包括许多对象存储设备(object-basedstoragedevice,简称osd)。每个osd使用对象(object)对所保存的数据进行管理,每个对象都是数据和数据属性集合的综合体。它将数据存放到磁盘的磁道和扇区,将若干磁道和扇区组合起来构成object,并且通过此object向外界提供对数据的访问。每个object同传统的文件相似,使用同文件类似的访问接口,包括open、read、write等。但是两者并不相同,每个object可能包括若干个文件,也可能是某个文件的一部分,且是独立于操作系统的。除了具体的用户数据外,osd还记录了每个object的属性信息,将这些信息放到osd上,增强了整个存储系统的并行访问性能和可扩展性。可以理解的是,在本发明的云计算系统中,控制设备10也可以通过任意一台物理主机30实现,存储设备40也可以不采用分布式设计,而是采用物理主机的硬件层来实现,此处不作限定。基于以上云计算系统,本发明提出了一种在云计算系统上自动部署数据库的方法,具体请参阅以下实施例。请参阅图3,本发明提供的数据库部署方法的一个实施例包括:步骤301、控制设备接收数据库创建请求,数据库创建请求携带有数据库架构标识以及数据库类型。本实施例中,用户可以通过客户端向控制设备发起数据库创建请求,控制设备可以接收该数据库创建请求。数据库创建请求携带有数据库类型以及数据库架构标识。数据库类型可以包括数据库版本信息,例如结构化查询语言(structuredquerylanguage,简称sql)server2008r2。其中,客户端是指为用户提供本地服务的程序,一般安装在用户设备上,例如个人电脑、手机、平板电脑或车载电脑等。步骤302、控制设备根据数据库架构标识,在物理主机中创建虚拟机。具体的,数据库架构标识包括高可用数据库标识以及单机架构标识。若数据库架构标识为高可用数据库架构标识,则控制设备可以创建多台虚拟机。在多台虚拟机中,包括至少一台用于承担业务负载的主虚拟机、至少一台用于在主虚拟机发生故障时承担业务负载的辅虚拟机以及至少一台监控虚拟机,监控虚拟机用于监控主虚拟机和辅虚拟机,执行自动切换的仲裁功能。需要说明的是,主虚拟机、辅虚拟机以及监控虚拟机分别是在不同物理主机上创建的。若数据库架构标识为单机架构标识,则控制设备可以在一台物理主机上创建用于承担业务负载的虚拟机,该虚拟机的数量可以是一台,也可以是多台,此处不作限定。步骤303、控制设备根据数据库类型确定数据库配置信息。当控制设备接收数据库创建请求之后,控制设备从预设数据库配置信息中确定与该数据库类型对应的数据库配置信息。数据库类型可以是mysql或mssqlserver,还可以是oracle、db2、sybase或其他类型的数据库,此处不作限定。举例来说,若用户请求的数据库类型为mssqlserver,则控制设备确定数据库配置信息为mssqlserver数据库配置信息。若数据库类型为mysql,则控制设备确定数据库配置信息为mysql数据库配置信息。需要说明的是,步骤303与步骤302并无固定先后顺序,具体执行顺序此处不作限定。步骤304、控制设备根据数据库配置信息在虚拟机中部署数据库。控制设备确定数据库配置信息之后,可以使用数据库配置信息在虚拟机中部署数据库。部署完成之后,用户就可以访问并使用虚拟机上的数据库。本实施例中,控制设备可以自动创建虚拟机,还可以根据数据库类型选取数据库配置信息,再根据数据库配置信息在虚拟机上自动配置数据库。可见,本实施例无需人工干预,就能够自动在云计算系统创建数据库。与人工创建数据库相比,本实施例可以缩短创建数据库的时间,提高创建数据库的效率。尤其在处理大量的数据库创建请求时,可极大地提高创建数据库的效率。以数据库的可靠性进行划分,数据库架构可以分为高可用数据库架构和单机架构。下面分别对不同架构的数据库自动部署过程进行介绍,首先对单机架构的数据库自动化部署过程进行详细说明:步骤401、控制设备接收数据库创建请求,数据库创建请求携带有单机架构标识以及数据库类型。本实施例中,用户可以通过客户端向控制设备发送数据库创建请求,数据库创建请求携带的数据库架构标识为单机架构标识。数据库类型可参阅图3,此处不再赘述。需要说明的是,在实际应用中,数据库的默认架构可以是单机架构。当数据库创建请求没有携带高可用数据库架构标识时,表示申请的数据库是单机架构的数据库,控制设备可以执行步骤402。步骤402、控制设备根据预设虚拟机配置信息创建虚拟机;控制设备确定数据库架构为单机架构之后,可以从备用物理主机中选取一台物理主机,然后根据虚拟机配置信息,在物理主机上安装虚拟机的操作系统、设置虚拟机网络类型等。虚拟机配置信息包括卷配置信息,卷配置信息用于为虚拟机挂载存储卷。虚拟机配置信息是由服务商预先设置与控制设备或物理主机中的。虚拟机配置信息至少包括但不限于以下信息:处理器数量、处理器核心数量、虚拟机内存容量、操作系统、网络类型、i/o控制器类型、磁盘类型、虚拟磁盘容量、虚拟磁盘分区信息、虚拟磁盘的磁盘名称等。步骤403、控制设备根据卷配置信息创建存储卷,将存储卷挂载于虚拟机。控制设备可以根据虚拟机配置信息中的卷配置信息创建存储卷,然后将该存储卷挂载于虚拟机,以存储数据库文件。一个存储卷可以由多个osd实现,即当存储卷存储文件时,该文件可以是分别存储在多个osd中。步骤404、控制设备将虚拟机进行初始化设置。虚拟机需要进行初始化设置之后,才能被用户访问。虚拟机初始化设置过程具体如下:控制设备可以生成互联网协议(internetprotocol,简称ip)地址,将其作为虚拟机的ip地址。控制设备生成ip地址的具体方式可以为:在待分配ip地址中选取任意一个ip地址。待分配ip地址是指在可访问网络中,除了已分配的ip地址之外的ip地址。可访问网络一般是指企业的局域网。控制设备还可以生成虚拟机名,以该虚拟机名给上述虚拟机命名。举例来说,命名规则可以是:机房位置+数据库类型+虚拟机组序列号+‘-’+虚拟机编号。例如tjmssql000002-1。可以理解的是,命名规则并不限于以上举例,还可以采用其他命名方式,此处不作限定。步骤405、控制设备根据数据库类型确定数据库配置信息。可以理解的是,步骤405与步骤303相似,此处不再赘述。步骤406、控制设备根据数据库配置信息在虚拟机中部署数据库。控制设备确定数据库配置信息之后,可以在虚拟机中建立数据库,根据数据库配置信息将该数据库进行初始化配置。配置成功之后,用户就可以访问并使用该数据库。本实施例无需人工干预,就能够自动在云计算系统创建数据库。与人工创建数据库相比,本实施例可以缩短创建数据库的时间,提高创建数据库的效率。其次,本实施例详细描述了虚拟机自动创建的过程,以及在虚拟机中自动配置数据库的过程。基于图4所示实施例,在本发明的一个可选实施例中,在步骤405之后,且在步骤406之前,上述数据库部署方法还包括:控制设备设置虚拟机的域名,将虚拟机加入可访问网络。本实施例中,可访问网络一般是指企业局域网。控制设备给虚拟机设置域名之后,重启虚拟机,就可以将该虚拟机加入可访问网络。当虚拟机入域之后,用户在客户端输入域名,就可以直接访问该虚拟机。以上对单机架构的数据库自动部署过程进行了介绍,下面对高可用数据库架构的数据库自动部署过程进行详细说明。请参阅图5,本发明提供的数据库部署方法的另一个实施例包括:步骤501、控制设备接收数据库创建请求,数据创建请求包括高可用数据库架构标识以及数据库类型。本实施例中,用户可以通过客户端向控制设备发送数据库创建请求,数据库创建请求携带的数据库架构标识为高可用数据库架构标识。数据库类型可参阅图3所示实施例。步骤502、控制设备根据第一预设虚拟机配置信息创建主虚拟机以及辅虚拟机,并根据第二预设虚拟机配置信息创建监控虚拟机。其中,第一预设虚拟机配置信息包括虚拟机配置信息以及卷配置信息,卷配置信息用于为虚拟机挂载存储卷,第二预设虚拟机配置信息包括虚拟机配置信息,可以不包括卷配置信息。控制设备可以从备用物理主机中选取一台物理主机,然后根据虚拟机配置信息在物理主机上创建主虚拟机。控制设备创建辅虚拟机的过程与主虚拟机相似。主虚拟机用于承担业务负载,辅虚拟机用于当主虚拟机发生故障时承担业务负载。控制设备另选一台物理主机,根据虚拟机配置信息创建监控虚拟机。监控虚拟机不承担业务负载,用于故障检测以及自动切换的仲裁功能。需要说明的是,主虚拟机、辅虚拟机以及监控虚拟机分别设置在不同的物理主机上。以上三个节点可以通过网络互相检测状态。主虚拟机和辅虚拟机角色对等,可以互换角色。步骤503、控制设备根据卷配置信息创建第一存储卷以及第二存储卷,将第一存储卷挂载于主虚拟机,将第二存储卷挂载于辅虚拟机。控制设备将主虚拟机以及辅虚拟机进行初始化设置之后,可以根据卷配置信息分别创建第一存储卷以及第二存储卷,将第一存储卷挂载于主虚拟机,将第二存储卷挂载于辅虚拟机。然后,控制设备可以调用卷初始化(initvolume)脚本分别对第一存储卷以及第二存储卷进行初始化设置。可以理解的是,由于主虚拟机和辅虚拟机要承担业务负载,因此需要挂载存储卷,而监控虚拟机不需要承担业务负载,因此可以不挂载存储资源。步骤504、控制设备分别将主虚拟机、辅虚拟机以及监控虚拟机进行初始化设置。其中,步骤504具体可以为:控制设备生成第一虚拟机名以及第一ip地址,将第一虚拟机名作为主虚拟机的虚拟机名,将第一ip地址作为主虚拟机的ip地址;控制设备生成第二虚拟机名以及第二ip地址,将第二虚拟机名作为辅虚拟机的虚拟机名,将第二ip地址作为辅虚拟机的ip地址;控制设备生成第三虚拟机名以及第三ip地址,将第三虚拟机名作为监控虚拟机的虚拟机名,将第三ip地址作为监控虚拟机的ip地址。举例来说,虚拟机名以及ip地址的设置可以如下表所示:虚拟机名虚拟机ip地址主虚拟机szsql-1x.x.x.101辅虚拟机szsql-2x.x.x.102监控虚拟机szsql-3x.x.x.103步骤505、控制设备根据数据库类型确定数据库配置信息。可以理解的是,步骤505与步骤303相似,此处不再赘述。步骤506、控制设备在主虚拟机中建立第一数据库,根据数据库配置信息将第一数据库进行初始化配置;在辅虚拟机中建立第二数据库,根据数据库配置信息将第二数据库配置为第一数据库的镜像数据库。控制设备分别在主虚拟机和辅虚拟机中建立数据库,分别将数据库进行初始化配置。控制设备将主虚拟机和辅虚拟机中的数据库方案配置为镜像,以使得当主虚拟机发生故障时,云计算系统可以切换到辅虚拟机,由辅虚拟机来处理业务。此时,用户无需感知主虚拟机发生故障,对于用户来说,云计算系统仍是可以正常运行的。由于高可用数据库比较复杂,人工创建高可用数据库需要花费很多时间。本实施例无需人工干预,就能够自动在云计算系统创建高可用数据库。可见,本实施例能够极大地缩短创建数据库的时间,提高创建数据库的效率。其次,本实施例详细描述了多台虚拟机自动创建的过程,以及在多台虚拟机中自动配置高可用数据库的过程。由此,本实施例具有良好的可行性。基于图5所示实施例,在本发明的一个可选实施例中,在步骤505之后,且在步骤506之前,上述数据库部署方法还包括:控制设备分别设置主虚拟机的域名、辅虚拟机的域名以及监控虚拟机的域名,将主虚拟机、辅虚拟机以及监控虚拟机加入可访问网络。本实施例中,可访问网络一般是指企业局域网。控制设备分别给主虚拟机、辅虚拟机以及监控虚拟机设置域名之后,需要重启虚拟机,才能将以上虚拟机加入可访问网络。当以上虚拟机入域之后,用户在客户端输入域名,就可以直接访问对应的虚拟机。需要说明的是,若在云计算系统部署数据库的过程中,出现异常导致创建失败,则控制设备可以回滚虚拟机和卷,并且将产生的异常信息记录在日志中。为便于理解,下面以在云计算系统上创建sqlserver2008r2数据库为例进行详细介绍。在本发明的具体应用场景中,存储设备为对象存储系统。用户向控制设备发起数据库创建请求,控制设备判断数据库类型是否为sqlserver2008r2,若是,则判断数据库架构是否为高可用数据库架构,若是,则执行高可用数据库创建流程,如图6所示,若否,则执行单机架构的数据库创建流程,如图7所示。请参阅图6,高可用数据库创建流程具体如下:控制设备从备用主机中选取主机a、主机b、主机c;在主机a上根据虚拟机配置信息创建vm1以及存储卷1,将存储卷1挂载于vm1;在主机b上创建vm2以及存储卷2,将存储卷2挂载于vm2;在主机c上创建vm3。将vm1的ip设置为169.254.169.11,将vm1命名为szsql-1;将vm2的ip设置为169.254.169.12,将vm2命名为szsql-2;将vm3的ip设置为169.254.169.13,将vm3命名为szsql-3。若是szsql-1,则控制设备将存储卷1进行初始化,设置存储卷1为d盘符;若是szsql-2,将存储卷2进行初始化,设置存储卷2为d盘符。控制设备为主机a、主机b、主机c分别设置域名,将主机a、主机b、主机c加入企业局域网。入域成功后,企业用户就可以通过域名访问相应的主机。控制设备分别在主机a和主机b上配置sqlserver2008r2的数据库,并将数据库的模式设为高可用架构。配置完成之后,主机a、主机b分别可以向控制设备发送数据库部署完成消息,例如200,200表示数据库部署成功。在数据库创建过程中,若创建过程发生异常,则服务器回滚虚拟机和卷,并且将错误报告写入日志。请参阅图7,执行单机数据库的创建流程具体如下:控制设备从备用主机中选取主机d;在主机d上根据虚拟机配置信息创建vm0以及存储卷3,将存储卷3挂载于vm0;设置虚拟机szsql-0的ip地址为169.254.169.10,将vm0命名为sz-sql0;将存储卷3初始化;设置虚拟机szsql-0的域名;在虚拟机szsql-0上建立sqlserver2008数据库,根据数据库配置信息进行sql配置。以上从方法角度对本发明提供的数据库部署方法进行了详细介绍,下面从装置方面对本发明提供的数据库部署装置进行介绍:请参阅图8,本发明提供的数据库部署装置800的一个实施例包括:接口模块801,用于接收数据库创建请求,数据库创建请求携带有数据库架构标识以及数据库类型;创建虚拟机模块802,用于根据数据库架构标识,创建虚拟机,虚拟机设置在物理主机中;确定模块803,用于根据数据库类型确定数据库配置信息;部署数据库模块804,用于根据数据库配置信息在虚拟机中部署数据库。请参阅图9,在本发明的一个可选实施例中,云计算系统还包括存储设备;创建虚拟机模块802包括:第一创建单元901,用于若数据库架构标识为高可用数据库架构标识,则根据第一预设虚拟机配置信息创建主虚拟机以及辅虚拟机,并根据第二预设虚拟机配置信息创建监控虚拟机,其中,第一预设虚拟机配置信息包括卷配置信息,主虚拟机、辅虚拟机以及监控虚拟机设置在不同的物理主机中;第一挂载单元902,用于根据卷配置信息创建第一存储卷,将第一存储卷挂载于主虚拟机;第二挂载单元903,用于根据卷配置信息创建第二存储卷,将第二存储卷挂载于辅虚拟机;第一设置单元904,用于分别将主虚拟机、辅虚拟机以及监控虚拟机进行初始化设置。进一步的,在本发明的另一个可选实施例中,创建数据库模块804包括:第一建立单元905,用于在主虚拟机中建立第一数据库;第一配置单元906,用于根据数据库配置信息将第一数据库进行初始化配置;第二建立单元907,用于在辅虚拟机中建立第二数据库;第二配置单元908,用于根据数据库配置信息将第二数据库配置为第一数据库的镜像数据库。请参阅图10,在本发明的另一个可选实施例中,第一设置单元904包括:第一设置子单元1001,用于生成第一虚拟机名以及第一ip地址,将第一虚拟机名作为主虚拟机的虚拟机名,将第一ip地址作为主虚拟机的ip地址;第二设置子单元1002,用于生成第二虚拟机名以及第二ip地址,将第二虚拟机名作为辅虚拟机的虚拟机名,将第二ip地址作为辅虚拟机的ip地址;第三设置子单元1003,用于生成第三虚拟机名以及第三ip地址,将第三虚拟机名作为监控虚拟机的虚拟机名,将第三ip地址作为监控虚拟机的ip地址。进一步的,在本发明的另一个可选实施例中,创建虚拟机模块802还包括:第二设置单元1101,还用于分别设置主虚拟机的域名,辅虚拟机的域名以及监控虚拟机的域名,并将主虚拟机、辅虚拟机以及监控虚拟机加入可访问网络。请参阅图12,在本发明的另一个可选实施例中,云计算系统还包括存储设备;创建虚拟机模块802包括:第二创建单元1201,用于若数据库架构标识为单机架构标识,根据预设虚拟机配置信息创建虚拟机,虚拟机配置信息包括卷配置信息;第三挂载单元1202,用于根据卷配置信息创建存储卷,将存储卷挂载于虚拟机;第三设置单元1203,用于将虚拟机进行初始化设置。进一步的,在本发明的另一个可选实施例中,部署数据库模块804包括:第三建立单元1204,用于在虚拟机中建立数据库;第三配置单元1205,用于根据数据库配置信息将数据库进行初始化配置。进一步的,在本发明的另一个可选实施例中,尽管图12未示出,创建虚拟机模块还可以包括:第四设置单元,用于设置虚拟机的域名,将虚拟机加入可访问网络。为便于理解,下面以一个具体应用场景对本发明实施例提供的数据库部署装置中各模块之间的交互进行详细说明:用户向服务器发起数据库创建请求,接收模块801判断数据库类型是否为sqlserver2008r2,若是,则确定数据库配置信息为sqlserver2008r2数据库配置信息。接收模块801判断数据库架构是否为高可用数据库架构,若是,则创建虚拟机模块802以及部署数据库模块804执行高可用数据库创建流程,若否,则创建虚拟机模块802以及部署数据库模块804执行单机架构的数据库创建流程。高可用数据库创建流程具体如下:第一创建单元901从备用主机中选取主机a、主机b、主机c。第一创建单元901在主机a上根据虚拟机配置信息创建vm1,第一挂载单元902根据卷配置信息创建存储卷1,将存储卷1挂载于vm1;在主机b上创建vm2,第二挂载单元903根据卷配置信息创建存储卷2,将存储卷2挂载于vm2;在主机c上创建vm3。第一设置单元904将主虚拟机、辅虚拟机以及监控虚拟机进行初始化设置,具体过程如下:第一设置子单元1001将vm1的ip设置为169.254.169.11,将vm1命名为szsql-1;第二设置子单元1002将vm2的ip设置为169.254.169.12,将vm2命名为szsql-2;第三设置子单元1003将vm3的ip设置为169.254.169.13,将vm3命名为szsql-3。若是szsql-1,则第一设置单元904将存储卷1进行初始化,设置存储卷1为d盘符;若是szsql-2,第一设置单元904将存储卷2进行初始化,设置存储卷2为d盘符。第二设置子单元1101分别为主机a、主机b、主机c设置域名,将主机a、主机b、主机c加入企业局域网。入域成功后,企业用户就可以通过域名访问相应的主机。第一建立单元905在主机a上建立sqlserver2008r2的数据库,第一配置单元906根据数据库配置信息将该数据库进行初始化配置,第二建立单元907在主机b上建立sqlserver2008r2的数据库,第二配置单元根据数据库配置信息将主机b的数据库设置为主机a的数据库的镜像数据库。配置完成之后,主机a可以向服务器发送数据库部署完成消息,例如200,200表示数据库部署成功。在数据库创建过程中,若创建过程发生异常,则服务器回滚虚拟机和卷,并且将错误报告写入日志。执行单机数据库的创建流程具体如下:第二创建单元1201从备用主机中选取主机d;在主机d上根据虚拟机配置信息创建vm0,第三挂载单元1203创建存储卷3,将存储卷3挂载于vm0;第三设置单元1202设置虚拟机vm0的ip地址为169.254.169.10,将vm0命名为sz-sql0,将存储卷3初始化;第四设置单元设置虚拟机szsql-0的域名;第三建立单元1204在虚拟机szsql-0上建立sqlserver2008r2数据库,第三配置单元1205根据数据库配置信息进行sql配置。以上从功能模块角度对本发明实施例中的数据库部署装置进行了描述,下面从硬件角度对本发明实施例中的数据库部署装置进行介绍:请参阅图13,本发明实施例提供一种服务器1300,能够实现图3至图7所示实施例中控制设备的功能。该控制设备可以包括多台如图8~图12所示的数据库部署装置。该服务器1300包括:以总线相互连接的输入装置1301、输出装置1302、至少一个处理器1303及至少一个存储器1304;其中,存储器1304可以是短暂存储或持久存储。存储在存储器1304的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1303可以设置为与存储器1304通信,在服务器1300上执行存储器1304中的一系列指令操作。服务器1300还可以包括一个或一个以上电源,一个或一个以上有线或无线网络接口,一个或一个以上输入输出接口,和/或,一个或一个以上操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。上述实施例中由服务器所执行的步骤可以基于该图13所示的服务器结构。通过调用存储器1304存储的操作指令,处理器1303用于执行如下方法:接收数据库创建请求,数据库创建请求携带有数据库架构标识以及数据库类型;根据数据库架构标识创建虚拟机,虚拟机设置在物理主机中;根据数据库类型确定数据库配置信息,根据数据库配置信息在虚拟机中部署数据库。在本发明的一些实施例中,处理器1303具体用于若数据库架构标识为高可用数据库架构标识,则根据第一预设虚拟机配置信息创建主虚拟机以及辅虚拟机,并根据第二预设虚拟机配置信息创建监控虚拟机,其中,第一预设虚拟机配置信息包括卷配置信息,主虚拟机、辅虚拟机以及监控虚拟机设置在不同的物理主机中;根据卷配置信息创建第一存储卷以及第二存储卷,将第一存储卷挂载于主虚拟机,将第二存储卷挂载于辅虚拟机;分别将主虚拟机、辅虚拟机以及监控虚拟机进行初始化设置。在本发明的一些实施例中,处理器1303具体用于在主虚拟机中建立第一数据库,根据数据库配置信息将第一数据库进行初始化配置;在辅虚拟机中建立第二数据库,根据数据库配置信息将第二数据库配置为第一数据库的镜像数据库。在本发明的一些实施例中,处理器1303具体用于生成第一虚拟机名以及第一ip地址,将第一虚拟机名作为主虚拟机的虚拟机名,将第一ip地址作为主虚拟机的ip地址;生成第二虚拟机名以及第二ip地址,将第二虚拟机名作为辅虚拟机的虚拟机名,将第二ip地址作为辅虚拟机的ip地址;生成第三虚拟机名以及第三ip地址,将第三虚拟机名作为监控虚拟机的虚拟机名,将第三ip地址作为监控虚拟机的ip地址。在本发明的一些实施例中,处理器1303具体用于分别设置主虚拟机的域名、辅虚拟机的域名以及监控虚拟机的域名;将主虚拟机、辅虚拟机以及监控虚拟机加入可访问网络。在本发明的一些实施例中,处理器1303具体用于若数据库架构标识为单机架构标识,根据预设虚拟机配置信息创建虚拟机,预设虚拟机配置信息包括卷配置信息;根据卷配置信息创建存储卷,将存储卷挂载于虚拟机;将虚拟机进行初始化设置。在本发明的一些实施例中,处理器1303具体用于在虚拟机中建立数据库,根据数据库配置信息将数据库进行初始化配置。本发明实施例还提供一种云计算系统,包括:如图13所示实施例或可选实施例所示的控制设备,以及多台物理主机。在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1