CN104601622B - 一种部署集群的方法和系统 - Google Patents
一种部署集群的方法和系统 Download PDFInfo
- Publication number
- CN104601622B CN104601622B CN201310533486.0A CN201310533486A CN104601622B CN 104601622 B CN104601622 B CN 104601622B CN 201310533486 A CN201310533486 A CN 201310533486A CN 104601622 B CN104601622 B CN 104601622B
- Authority
- CN
- China
- Prior art keywords
- cluster
- cluster member
- software
- unique identifier
- virtual machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0889—Techniques to speed-up the configuration process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
Abstract
本发明公开了一种部署集群的方法和系统,其中集群包含多个集群成员,该方法包括:获得每一集群成员的唯一标识符;根据每个集群成员的唯一标识符,获得该集群成员的集群配置信息;利用获得该集群成员的集群配置信息配置该集群成员,以及部署所述集群。该方法和系统可以提高集群的部署效率。
Description
技术领域
本发明涉及集群,更具体地涉及一种部署集群的方法和系统。
背景技术
在企业计算环境中,服务的连续性(continuity)和可用性(availability)都是很重要的评价指标,而集群环境利用多个成员所提供的资源和计算的冗余能力保证了服务的连续性和可用性。即使某个集群成员(member)之上的服务出现中断,集群中的其他成员能够自动且快速地接管这些服务,从而使得最终用户可见的服务中断可以忽略。
集群中的每个成员都是一个独立的计算节点。对应于物理计算机所构成的集群,则每个成员是一个独立的物理计算机;对应于由虚拟机所构成的集群,则每个成员对应于一个虚拟机。为了使得集群中各个节点能够彼此了解对方的存在,并协同提供集群服务,保证其上所运行的应用或者服务的高可用性,需要在每个节点上进行软件的安装和配置工作。对应于物理计算机,这意味着需要在每个物理计算机上安装操作系统、配置操作系统、安装集群软件、配置集群软件、安装应用程序、配置应用程序。而在云计算环境中,集群系统的建立同样意味着需要对集群中的每个虚拟机进行操作系统、集群软件和应用程序的安装与配置过程。
图4示意性示出了集群系统的集群成员,从图4可以看出,操作系统为物理计算机或虚拟机之上的所有软件(包括集群软件)提供基础的运行环境,集群软件监控着集群成员上安装的应用程序,并与应用程序协作为用户提供所需的服务,如Web服务,数据库服务等。系统运行过程中,各集群成员(物理计算机或虚拟机)上安装的集群软件会负责监控其上应用程序的运行状态,而集群成员彼此之间也会进行周期性的心跳检测,当某个集群成员(如成员1)发生故障,则另一集群成员(如集群成员2)将立刻对其进行接管,并代替其向外提供服务。并在必要时,对其执行相应的恢复操作,例如重启物理计算机或虚拟机等。
现有技术中,在一个集群成员的虚拟机上在完成上述软件(操作系统、集群软件、应用软件)的安装和配置之后,整个虚拟机的集群配置信息和其上所安装的全部软件(包括操作系统)都被封装在一个映像(image)文件中,集群成员2的虚拟机可以直接利用集群成员1的虚拟机映像构造映像,得到软件环境,但是每个集群成员的集群配置信息是不同的,需要对每个集群成员逐个修改,这需要大量的人工操作,非常麻烦;并且这在云计算环境下是不允许的。
因此,自动配置集群成员并部署集群是必要的。
发明内容
根据本发明的一个方面,提供了一种部署集群的方法,其中集群包含多个集群成员,该方法包括:
获得每一集群成员的唯一标识符;
根据每个集群成员的唯一标识符,获得该集群成员的集群配置信息;
利用获得的该集群成员的集群配置信息配置该集群成员;以及
部署所述集群。
根据本发明的另一个方面,提供了一种部署集群的系统,其中集群包含多个集群成员,该系统包括:
唯一标识符获得装置,被配置为获得每一集群成员的唯一标识符;
集群配置信息获得装置,被配置为根据每个集群成员的唯一标识符,获得该集群成员的集群配置信息;
配置装置,被配置为利用获得的该集群成员的集群配置信息配置该集群成员;
部署装置,被配置为部署所述集群。
利用根据本发明上述方面的方法和系统,可以提高集群环境的部署效率。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1表示根据本发明一实施例的云计算节点;
图2表示根据本发明一实施例的云计算环境;
图3表示根据本发明一实施例的抽象模型层;
图4示意性示出了集群系统的集群成员;
图5示意性示出了根据本发明的一种实施方式的部署集群的方法的流程;以及
图6示出了根据本发明的一种实施方式的部署集群的系统的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理。
根据本公开的一种具体实施方式,公开了一种部署集群的方法,其中集群包含多个集群成员,假设在集群中已经创建并启动每个集群成员,并且已经利用现有技术将该集群成员的软件环境安装完毕,即该集群成员的操作系统、集群软件和应用软件已经安装完毕,或者说集群成员的软件映像已经构造完毕,图5示意性示出了根据本发明的一种实施方式的部署集群的方法的流程,根据图5,该方法包括:
在步骤S501,获得每一集群成员的唯一标识符;
在步骤S504,根据每个集群成员的唯一标识符,获得该集群成员的集群配置信息;
在步骤S505,利用获得的该集群成员的集群配置信息配置该集群成员;以及
在步骤S506,部署所述集群。
在上述方法中,集群成员的唯一标识符,是用于识别集群成员,并区分其功能与角色的,可以使用该集群成员的MAC地址、IP地址或者其它唯一能够标识该集群成员的标识符。为了叙述的方便,以下以集群成员的MAC地址作为其唯一标识符的例子来描述,本领域技术人员可以知道,使用其它集群成员的标识符是类似的。
现有技术中,集群成员可以是物理机或者虚拟机,以下以虚拟机为例,虚拟机的MAC地址生成通常由虚拟机监视器(VMM或hypervisor)在创建虚拟机时构造完成,VMM可根据用户或管理员指定的配置信息,来创建具有特定MAC地址的虚拟网络设备,并提供给VM使用。下例为KVM(是hypervisor的一种)的虚拟机定义文件(*xml)的一部分。
上述文件描述了虚拟网络设备的相关信息,如网络连接方式为桥接,虚拟网络设备名称为tap92cbda81-8a,设备模型为virtio等。其中<mac address=′fa:16:3e:b7:c6:48′/>一行,定义了该虚拟机的虚拟网络设备的MAC地址,该虚拟机启动后,其虚拟网卡设备将具有该MAC地址。
获取虚拟机的MAC地址可以使用命令“ethtool-P eth0|awk‘{print$3}’,,来获得。对于使用IP地址作为集群成员的唯一标识符,可以采用类似的方法获得IP地址。对于集群成员为物理机时的唯一标识符的生成和获取,可以直接采用现有技术,这里不再赘述。
关于步骤S504,根据每个集群成员的唯一标识符,获得该集群成员的集群配置信息,有不同种类的集群,为了不同的目的,例如,有的集群的目的是Web应用,有的集群是数据库应用等等。假设在一个集群中,每个集群成员使用的映像文件,也就是安装的软件是相同的,各集群成员的集群配置除了MAC地址不同,其余也基本相同。则根据用户需求生成的集群成员的集群配置文件也基本相同,集群配置文件包括集群名称和节点列表,还可以包括集群成员的软件配置、成员数量、日志信息、服务、资源描述、HA策略等。以下给出了一个集群成员的集群配置文件的例子。
该示例中定义了名称为clus_web的集群,其包含两个节点,其名称分别为vml和vm2,该cluster提供的服务名称为webserv。
上述集群配置信息通常在系统定义时由用户提供,并利用特定格式的部署文件描述,如xml,JSON等形成集群配置文件。如果需要添加其他的集群配置信息,可以对上述文件进行扩展。
集群成员的集群配置文件可以存储在集群服务器中,集群成员从集群服务器中获取集群的配置文件,然后放置在合适的位置,例如,放置在初始化仓库中。或者,集群配置文件也可以直接存储在初始化仓库中。如果是不同集群的集群成员,其集群配置文件是不同的,在集群服务器或者初始化仓库中可以根据集群成员的唯一标识符存储不同集群成员的集群配置文件。即使在同一个集群中,不同集群成员也可以使用不同的集群配置文件。集群服务器或者初始化仓库中存储集群成员的集群配置信息与该集群成员的唯一标识符之间的对应关系,根据该对应关系可以获得指定的集群成员对应的集群配置信息。
然后在步骤S505,利用获得的该集群成员的集群配置信息配置该集群成员以及在步骤S506,部署所述集群。对于这两个步骤的执行,采用的是现有技术,后续例子将给出使用何种现有技术,这里不再赘述。这两个步骤完成后,该集群成员上安装的集群软件已经处于正常运行状态,并成为集群系统中的成员之一,与其它的集群成员协作共同向外提供用户定义的服务。
在一种实施方式中,不同的集群的成员,其安装的应用软件很大程度上是不同的,不同集群的成员使用的映像文件也是不同的,保存和维护多个映像文件会带来较大的存储和维护开销。虽然以上一直假设已经利用现有技术将该虚拟机的软件环境安装完毕,即该虚拟机的操作系统、集群软件和应用软件已经安装完毕,安装好上述软件的磁盘映像被构造成全集映像文件,构造完毕,可以直接应用于其它集群成员,但是这种情况只对少量的集群简单易用。假设有多个集群,每个集群成员安装的应用程序是不同的,甚至在一个集群内部的集群成员安装的应用程序也是不同的,并且集群配置文件也是不同的,则在本实施方式中,可以将安装好的操作系统和集群软件做成一个基础映像文件,将该基础映像文件和需要的应用程序统一放置在初始化仓库中存储,并且建立与集群成员的唯一标识符与应用软件之间的对应关系说明,根据该说明,不同的集群成员就可根据自己的唯一标识符,安装合适的应用软件以及基础映像文件。或者,不再存储基础映像文件,将操作系统和集群软件也与应用软件融合在一起,并且建立与集群成员的唯一标识符与软件之间的对应关系说明,根据该说明,不同的集群成员就可根据自己的唯一标识符,安装合适的软件。因此,在该种实施方式中,集群服务器或者初始化仓库中存储集群成员的唯一标识符与该集群成员需要安装的软件的对应关系,以及全部集群成员需要安装的软件,根据该对应关系,可以获得指定的集群成员要安装的软件包。因此,图5的方法还包括步骤S502,根据每个集群成员的唯一标识符,获得该集群成员需要安装的软件;以及步骤S503,在该集群成员上安装获得的软件。
这样,集群的部署可以完全自动地完成。具体实现中,如果应用在云计算环境中的集群部署,该方法应用于图3所示的虚拟层62,可以采用集群部署流程控制脚本来控制本方法的执行,即每个集群成员为一个虚拟机,在每一个集群成员中存储集群部署流程控制脚本,响应于集群成员的虚拟机启动,自动运行该集群部署流程控制脚本。
以下给出了一个流程控制脚本的示例,本领域技术人员应该理解,以下脚本仅仅是示例性的,实际的部署过程用户可以根据不同的需求定义不同的脚本,并且实现不同的技术要求,只要脚本满足本发明的技术特征,就在本发明的保护范围之内。
上述集群部署流程控制脚本主要负责实现如下两种功能。首先,在虚拟机启动过程中获得该集群成员需要的软件包并安装(如:corosync,pacemaker,modclusterd等软件包);其次,对集群成员进行配置,如集群结构策略、软件配置,用户密码信息配置等,以完成集群的部署过程。
该示例集群部署流程控制脚本包含如下内容:
●第1-2行:定义了获取安装所需软件包的集群服务器(CLUSREPO)与文件服务器(FILESERV)的IP地址;
●第4行:获取本VM的MAC地址信息;响应于hypervisor创建并启动虚拟机后,虚拟机网卡设备将具有分配的MAC地址(分配过程前面已经叙述)。以上面的虚拟机定义文件为例,其虚拟机的网络设备信息如下,其MAC地址为FA:16:3E:B7:C6:48。
●第5-6行:以MAC地址作为标识在虚拟机启动阶段通过网络传输方式从文件服务器fileserver获取该虚拟机所需安装的软件包;文件服务器是全局软件包存储仓库,为集群中所有的虚拟机提供其安装部署过程所需的软件包与安装必要的信息。该仓库的构建可根据具体的需要采用多种不同的技术实现方式,包括简单网络文件系统存储,如NFS;亦可采用较复杂的包管理系统,如APT、YUM等。
●第7-10行:进行软件包安装;
●第12行:以MAC地址作为标识从集群服务器(CLUSREPO)获取集群配置信息;该步骤执行过程中,虚拟机将从集群服务器(clusrepo)中获取集群的配置文件,本领域技术人员可以知道,在这个实例中将集群服务器和文件服务器分开,实际上二者完全可以使用同一个服务器,不加区分。或者将从集群服务器放置到文件服务器中,都是可以的。
●第14-16行:启动集群,并使得上述集群配置生效;并部署集群。该步骤执行过程中,VM启动并配置集群软件(如Corosync,Pacemaker等)。
该脚本启动时的自动运行可利用多种方式实现,如配置为自启动的Linuxservice或将其置于/etc/rc.1ocal文件中等。
在进一步的实施方式中,还可以考虑为集群提供具有弹性的存储访问,从而使得其根据实际应用的存储需求对系统存储的规模进行动态扩展和管理;以及可以为集群系统提供具有冗余特性的网络连接,使其具有一定程度的负载均衡或连接故障容忍能力。
前面已经参考附图描述了实现本发明的方法的各个实施例。本领域技术人员可以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种部署集群的系统。即使该系统在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该系统表现出区别于通用处理设备的特性,从而形成本发明的各个实施例的装置。本发明中所述系统包括若干装置或模块,所述装置或模块被配置为执行相应步骤。本领域的所述技术人员通过阅读本说明书可以理解如何编写程序实现所述装置或模块执行的动作。由于所述系统与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对应的装置,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再进行赘述。
本发明的实施方式还公开了一种部署集群的系统,其中集群包含多个集群成员,图6示出了根据本发明的一种实施方式的部署集群的系统的结构框图,根据图6,该系统600包括:唯一标识符获得装置601,被配置为获得每一集群成员的唯一标识符;集群配置信息获得装置604,被配置为根据每个集群成员的唯一标识符,获得该集群成员的集群配置信息;配置装置605,被配置为利用获得的该集群成员的集群配置信息配置该集群成员,以及部署装置606,被配置为部署所述集群。
在一种实施方式中,集群成员的唯一标识符为以下之一:集群成员的MAC地址;或者集群成员的IP地址。
在另一种实施方式中,系统600还包括:软件获得装置602,被配置为根据每个集群成员的唯一标识符,获得该集群成员需要安装的软件;以及软件安装装置603,被配置为在该集群成员上安装获得的软件。
在一种实施方式中,系统600需要安装的软件包括以下之一:全集映像文件;基础映像文件与应用软件;或者操作系统、集群软件与应用软件。
在另一种实施方式中,系统600在每一个集群成员中存储集群部署流程控制脚本,每个集群成员为一个虚拟机,系统600还包括:运行装置(图6未示出),被配置为响应于集群成员的虚拟机启动,自动运行该集群部署流程控制脚本,其中所述集群部署流程控制脚本控制本系统的执行。
在一种实施方式中,系统600还包括:唯一标识符创建装置(图6未示出),被配置为响应于集群成员的虚拟机被创建,对该虚拟机成员创建唯一标识符。
在一种实施方式中,系统600还包括:存储装置(图6未示出),被配置为存储集群成员的集群配置信息与该集群成员的唯一标识符之间的对应关系。在进一步的实施方式中,存储装置被进一步配置为:存储集群成员的唯一标识符与该集群成员需要安装的软件的对应关系,以及全部集群成员需要安装的软件。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种部署集群的方法,其中集群包含多个集群成员,该方法包括:
获得每一集群成员的唯一标识符;
存储集群成员的集群配置信息与该集群成员的唯一标识符之间的第一对应关系;
存储集群成员的唯一标识符与该集群成员需要安装的软件的第二对应关系,以及全部集群成员需要安装的软件;
根据每个集群成员的唯一标识符,获得该集群成员的集群配置信息;
利用获得的该集群成员的集群配置信息配置该集群成员;以及
部署所述集群,其中所述集群被部署到云计算环境下,每个集群成员为一个虚拟机,在每一个集群成员中存储集群部署流程控制脚本,响应于集群成员的虚拟机启动,自动运行该集群部署流程控制脚本,其中所述集群部署流程控制脚本控制本方法的执行。
2.如权利要求1所述的方法,其中集群成员的唯一标识符为以下之一:
集群成员的MAC地址;
集群成员的IP地址。
3.如权利要求1所述的方法,该方法在获得该集群成员的集群配置信息前还包括:
根据每个集群成员的唯一标识符,获得该集群成员需要安装的软件;
在该集群成员上安装获得的软件。
4.如权利要求3所述的方法,其中需要安装的软件包括以下之一:
全集映像文件;
基础映像文件与应用软件;
操作系统、集群软件与应用软件。
5.如权利要求1所述的方法,该方法在获得每一集群成员的唯一标识符前还包括:
响应于集群成员的虚拟机被创建,对该虚拟机成员创建唯一标识符。
6.一种部署集群的系统,其中集群包含多个集群成员,该系统包括:
唯一标识符获得装置,被配置为获得每一集群成员的唯一标识符;
存储装置,被配置为存储集群成员的集群配置信息与该集群成员的唯一标识符之间的第一 对应关系以及存储集群成员的唯一标识符与该集群成员需要安装的软件的第二对应关系,以及全部集群成员需要安装的软件;
集群配置信息获得装置,被配置为根据每个集群成员的唯一标识符,获得该集群成员的集群配置信息;
配置装置,被配置为利用获得的该集群成员的集群配置信息配置该集群成员;
部署装置,被配置为部署所述集群,其中所述集群被部署到云计算环境下,每个集群成员为一个虚拟机,在每一个集群成员中存储集群部署流程控制脚本;以及
运行装置,被配置为响应于集群成员的虚拟机启动,自动运行该集群部署流程控制脚本,其中所述集群部署流程控制脚本控制本系统的执行。
7.如权利要求6所述的系统,其中集群成员的唯一标识符为以下之一:
集群成员的MAC地址;
集群成员的IP地址。
8.如权利要求6所述的系统,该系统还包括:
软件获得装置,被配置为根据每个集群成员的唯一标识符,获得该集群成员需要安装的软件;
软件安装装置,被配置为在该集群成员上安装获得的软件。
9.如权利要求8所述的系统,其中需要安装的软件包括以下之一:
全集映像文件;
基础映像文件与应用软件;
操作系统、集群软件与应用软件。
10.如权利要求9所述的系统,该系统还包括:
唯一标识符创建装置,被配置为响应于集群成员的虚拟机被创建,对该虚拟机成员创建唯一标识符。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310533486.0A CN104601622B (zh) | 2013-10-31 | 2013-10-31 | 一种部署集群的方法和系统 |
US14/526,632 US9626172B2 (en) | 2013-10-31 | 2014-10-29 | Deploying a cluster |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310533486.0A CN104601622B (zh) | 2013-10-31 | 2013-10-31 | 一种部署集群的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104601622A CN104601622A (zh) | 2015-05-06 |
CN104601622B true CN104601622B (zh) | 2018-04-17 |
Family
ID=52996734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310533486.0A Active CN104601622B (zh) | 2013-10-31 | 2013-10-31 | 一种部署集群的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9626172B2 (zh) |
CN (1) | CN104601622B (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10884775B2 (en) * | 2014-06-17 | 2021-01-05 | Nokia Solutions And Networks Oy | Methods and apparatus to control a virtual machine |
US9798567B2 (en) | 2014-11-25 | 2017-10-24 | The Research Foundation For The State University Of New York | Multi-hypervisor virtual machines |
US10684837B2 (en) * | 2015-02-25 | 2020-06-16 | Red Hat Israel, Ltd. | Repository manager |
US20160285957A1 (en) * | 2015-03-26 | 2016-09-29 | Avaya Inc. | Server cluster profile definition in a distributed processing network |
CN106302569B (zh) * | 2015-05-14 | 2019-06-18 | 华为技术有限公司 | 处理虚拟机集群的方法和计算机系统 |
CN105743703B (zh) * | 2016-03-10 | 2019-05-03 | 郑州悉知信息科技股份有限公司 | 一种集群中节点服务器配置方法、节点服务器及系统 |
CN107229646A (zh) * | 2016-03-24 | 2017-10-03 | 中兴通讯股份有限公司 | 数据集群的部署方法、装置及系统 |
US11153223B2 (en) | 2016-04-07 | 2021-10-19 | International Business Machines Corporation | Specifying a disaggregated compute system |
CN106095498A (zh) * | 2016-06-03 | 2016-11-09 | 深圳市永兴元科技有限公司 | 软件部署的方法及装置 |
CN107528708A (zh) * | 2016-06-21 | 2017-12-29 | 天脉聚源(北京)科技有限公司 | 一种布置Linux服务器集群的方法和系统 |
CN108234164B (zh) * | 2016-12-14 | 2021-03-16 | 杭州海康威视数字技术股份有限公司 | 集群部署方法及装置 |
US10379835B2 (en) * | 2016-12-19 | 2019-08-13 | International Business Machines Corporation | Optimized creation of distributed storage and distributed processing clusters on demand |
CN106886434B (zh) * | 2016-12-28 | 2020-10-23 | 山西大智慧水利科技有限公司 | 一种分布式应用安装方法与装置 |
CN107707595B (zh) * | 2017-03-17 | 2018-06-15 | 贵州白山云科技有限公司 | 一种成员组变更方法及装置 |
CN107015837A (zh) * | 2017-05-17 | 2017-08-04 | 郑州云海信息技术有限公司 | 一种软件包自动化安装与配置方法及装置 |
CN106982266A (zh) * | 2017-05-27 | 2017-07-25 | 郑州云海信息技术有限公司 | 一种自动化部署集群的方法和装置 |
CN107483602A (zh) * | 2017-08-28 | 2017-12-15 | 济南浪潮高新科技投资发展有限公司 | 一种在分布式计算机系统中部署通信软件的方法及装置 |
CN107608826A (zh) * | 2017-09-19 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种存储集群的节点的故障恢复方法、装置及介质 |
CN114827241A (zh) * | 2017-09-22 | 2022-07-29 | 华为技术有限公司 | 一种跨平台部署的方法和系统 |
CN107741892A (zh) * | 2017-09-28 | 2018-02-27 | 联想(北京)有限公司 | 测试集群的搭建方法及其系统、以及电子设备 |
CN109597626B (zh) * | 2017-09-30 | 2022-02-11 | 北京国双科技有限公司 | 一种组件部署方法和装置 |
CN108008986A (zh) * | 2017-12-06 | 2018-05-08 | 成都初唐网络科技股份有限公司 | 数据自动化部署方法以及装置 |
CN110896404B (zh) * | 2018-09-12 | 2021-09-14 | 华为技术有限公司 | 数据处理的方法、装置和计算节点 |
CN109672722B (zh) * | 2018-10-23 | 2022-04-26 | 平安科技(深圳)有限公司 | 数据部署方法及装置、计算机存储介质和电子设备 |
US20200244536A1 (en) * | 2019-01-24 | 2020-07-30 | Hewlett Packard Enterprise Development Lp | Cluster formation |
CN110138862B (zh) * | 2019-05-16 | 2022-03-04 | 北京字节跳动网络技术有限公司 | 基于应用服务的业务处理方法、装置、网关设备及介质 |
CN111324371B (zh) * | 2020-04-17 | 2023-12-19 | 北京简单一点科技有限公司 | 一种流水线saas服务插件支持自定义环境及任务的方法 |
CN114006815B (zh) * | 2020-07-13 | 2024-01-26 | 中移(苏州)软件技术有限公司 | 云平台节点的自动化部署方法、装置、节点及存储介质 |
CN112054912B (zh) * | 2020-08-31 | 2023-06-13 | 北京易捷思达科技发展有限公司 | OpenStack开源云平台的资源计费系统和方法 |
CN112256546A (zh) * | 2020-10-29 | 2021-01-22 | 泰康保险集团股份有限公司 | 软件部署情况监控分析的方法和装置 |
US11611618B2 (en) | 2020-12-31 | 2023-03-21 | Nutanix, Inc. | Orchestrating allocation of shared resources in a datacenter |
US11734044B2 (en) | 2020-12-31 | 2023-08-22 | Nutanix, Inc. | Configuring virtualization system images for a computing cluster |
WO2023276039A1 (ja) * | 2021-06-30 | 2023-01-05 | 楽天モバイル株式会社 | サーバ管理装置、サーバ管理方法およびプログラム |
WO2023276038A1 (ja) * | 2021-06-30 | 2023-01-05 | 楽天モバイル株式会社 | サーバ管理装置、サーバ管理方法およびプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645801A (zh) * | 2009-08-27 | 2010-02-10 | 中兴通讯股份有限公司 | 基于集群管理的软件版本升级方法及命令交换机 |
CN102110071A (zh) * | 2011-03-04 | 2011-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机集群系统及其实现方法 |
CN102254031A (zh) * | 2011-08-03 | 2011-11-23 | 无锡浙潮科技有限公司 | 基于批处理请求的Microsoft SQL Server数据库集群 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8281307B2 (en) | 2009-06-01 | 2012-10-02 | International Business Machines Corporation | Virtual solution composition and deployment system and method |
US9552215B2 (en) | 2011-03-08 | 2017-01-24 | Rackspace Us, Inc. | Method and system for transferring a virtual machine |
US8972979B2 (en) | 2011-03-24 | 2015-03-03 | International Business Machines Corporation | Configuration of virtual appliances |
JP5606476B2 (ja) * | 2012-03-09 | 2014-10-15 | 株式会社東芝 | クライアント管理システム、クライアント管理方法及びプログラム |
US8892945B2 (en) * | 2012-04-02 | 2014-11-18 | International Business Machines Corporation | Efficient application management in a cloud with failures |
US20140052877A1 (en) * | 2012-08-16 | 2014-02-20 | Wenbo Mao | Method and apparatus for tenant programmable logical network for multi-tenancy cloud datacenters |
US9204088B2 (en) * | 2013-03-15 | 2015-12-01 | Sorenson Communications, Inc. | Systems including and methods of operating communication devices assigned individual and group identities |
-
2013
- 2013-10-31 CN CN201310533486.0A patent/CN104601622B/zh active Active
-
2014
- 2014-10-29 US US14/526,632 patent/US9626172B2/en active Active - Reinstated
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645801A (zh) * | 2009-08-27 | 2010-02-10 | 中兴通讯股份有限公司 | 基于集群管理的软件版本升级方法及命令交换机 |
CN102110071A (zh) * | 2011-03-04 | 2011-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机集群系统及其实现方法 |
CN102254031A (zh) * | 2011-08-03 | 2011-11-23 | 无锡浙潮科技有限公司 | 基于批处理请求的Microsoft SQL Server数据库集群 |
Also Published As
Publication number | Publication date |
---|---|
US20150120887A1 (en) | 2015-04-30 |
CN104601622A (zh) | 2015-05-06 |
US9626172B2 (en) | 2017-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104601622B (zh) | 一种部署集群的方法和系统 | |
CN104765620B (zh) | 一种程序模块部署的方法和系统 | |
CN105446793B (zh) | 迁移虚拟资产的方法和设备 | |
CN103368767B (zh) | 用于在容许故障的因特网云上部署软件应用的方法和系统 | |
CN104067265B (zh) | 用于支持在云中的安全应用部署的系统和方法 | |
CN104205056B (zh) | 跨多个云的工作负荷的动态分配的方法和系统 | |
Masud et al. | Cloud computing for higher education: a roadmap | |
CN104731658B (zh) | 供应和合并共享资源以最大化资源可用性的方法和系统 | |
CN103716347B (zh) | 建立虚拟机的方法、装置和云服务器 | |
CN105684357A (zh) | 虚拟机中地址的管理 | |
CN103238138A (zh) | 用于云环境中的分区部署/重部署的网络接口 | |
Finn et al. | Microsoft private cloud computing | |
Lowe | Mastering VMware vSphere 4 | |
CN103973641B (zh) | 管理不同网站的会话的方法及装置 | |
Marshall | Mastering VMware VSphere 6 | |
CN104424012B (zh) | 用于提供自定义虚拟装置的方法和设备 | |
Zaharov et al. | Use of open-source Internet of things platform in education projects | |
CN105224301B (zh) | 一种应用实例组装的方法和系统 | |
CN104246739A (zh) | 面向数据中心服务的联网 | |
Ahmed | Mastering Proxmox: Build virtualized environments using the Proxmox VE hypervisor | |
Coulter et al. | Implementation of simple XSEDE-like clusters: Science enabled and lessons learned | |
Savill | Microsoft Azure Infrastructure Services for Architects: Designing Cloud Solutions | |
CN104519096B (zh) | 用于在云计算系统中部署服务的方法和系统 | |
Ghazaleh et al. | A technical feasibility for adoption of clou d computing in King Abdulaziz University, Saudi Arabia | |
Windom et al. | Virtualizing Microsoft Tier 1 Applications with VMware VSphere 4 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |