首页> 中国专利> 一种云环境下虚拟应用双机的切换方法、装置及系统

一种云环境下虚拟应用双机的切换方法、装置及系统

摘要

本发明实施例提供一种云环境下虚拟应用双机的切换方法,包括:云管理平台将共享EBS卷的关联状态发送给所述虚拟备机;接收所述虚拟备机发送的解除所述虚拟主机与所述共享EBS卷的关联的请求;解除所述虚拟主机与所述共享EBS卷的关联;接收所述虚拟备机发送的关联所述共享EBS卷的请求;关联所述虚拟备机与所述共享EBS卷,以便所述虚拟备机控制所述共享EBS卷。本发明实施例同时提供相应的云管理平台及系统。采用本发明实施例公开的方法及装置,能够彻底解决脑裂问题。同时由于去除了对参考主机的依赖,能够简化应用双机部署,提高应用双机可靠性。

著录项

  • 公开/公告号CN102972010A

    专利类型发明专利

  • 公开/公告日2013-03-13

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201280000892.4

  • 发明设计人 傅财斌;

    申请日2012-08-17

  • 分类号H04L29/08(20060101);H04L12/24(20060101);

  • 代理机构

  • 代理人

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2024-02-19 18:03:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-03-25

    授权

    授权

  • 2013-04-10

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20120817

    实质审查的生效

  • 2013-03-13

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,具体涉及云环境下的虚拟应用双机的切换方 法、装置及系统。

背景技术

当前物理环境下的应用双机,对于主备双机共享磁盘的模式,通常是在两 台机器上分别安装双机软件,通过FC-SAN(Fibre Channel Storage Area  Network,光纤通道存储局域网)或IP-SAN(IP协议存储局域网)划分一块共 享磁盘,限定此磁盘只能由指定的两台物理机器访问。将共享磁盘当成一组资 源由双机软件(例如Veritas Cluster Server)进行控制。对于温备、冷备模式的双 机应用,双机切换时,原主机卸载共享磁盘后,原备机才挂载该共享磁盘,确 保在同一时刻只能有一台机器对该共享磁盘进行操作。

现有物理双机系统由单独的组件进行管理,当双机配置不正确时,容易产 生脑裂(brain-split)问题——双机同时读取共享磁盘,导致数据损坏。

为了解决双机系统的脑裂问题,现有技术中存在一种方案:在双机之外, 引入一台机器作为参考主机,当主备机之间的心跳联系出现故障时,为了识别 出孤岛节点,主备机都ping参考主机的IP,ping失败的主动释放对磁盘的控 制。

这种方案的缺点是当主机掉电、宕机或控制程序异常时将无法释放对磁盘 的控制,这样备机自然无法获取对共享磁盘的控制来提供业务,因此会造成较 长时间的业务中断。而且这种方案需要配置参考主机,而参考主机可能是外部 应用组件,它本身的可靠性也难以得到保证。

发明内容

本发明实施例提供一种云环境下的虚拟应用双机的切换方法,以解决主机 出现故障无法释放对共享磁盘的控制,导致备机无法取得对共享磁盘的控制, 进而影响主备双机切换的问题。

本发明实施例提供一种云环境下虚拟应用双机的切换方法,所述虚拟应 用双机包括虚拟主机和虚拟备机,所述方法包括:云管理平台将共享弹性块存 储EBS卷的关联状态发送给所述虚拟备机;接收所述虚拟备机发送的解除所述 虚拟主机与所述共享EBS卷的关联的请求;所述云管理平台解除所述虚拟主机 与所述共享EBS卷的关联;接收所述虚拟备机发送的关联所述共享EBS卷的 请求;关联所述虚拟备机与所述共享EBS卷,以便所述虚拟备机控制所述共享 EBS卷。

本发明实施例同时提供一种云管理平台,用于云环境下虚拟应用双机的切 换,包括:发送模块,用于将共享弹性块存储EBS卷的关联状态发送给所述虚 拟备机;所述接收模块还用于,接收所述虚拟备机发送的解除所述虚拟主机与 所述共享EBS卷的关联的请求;去关联模块,用于根据所述接收模块接收的所 述解除所述虚拟主机与所述共享EBS卷的关联的请求,解除所述虚拟主机与所 述共享EBS卷的关联;所述接收模块还用于,接收所述虚拟备机发送的关联所 述共享EBS卷的请求;关联模块,用于根据所述接收模块接收的关联所述共享 EBS卷与所述虚拟备机的请求,关联所述虚拟备机与所述共享EBS卷,以便 所述虚拟备机控制所述共享EBS卷。

本发明实施例还提供一种云环境下的虚拟应用双机系统,用于云环境下虚 拟应用双机的切换,所述系统包括云管理平台、虚拟主机和虚拟备机,具体地: 所述云管理平台,用于将共享弹性块存储EBS卷的关联状态发送给所述虚拟备 机;所述虚拟备机,还用于根据所述云管理平台发送的所述共享EBS卷的关联 状态,检测到所述共享EBS卷与所述虚拟主机关联,则向所述云管理平台发送 解除所述虚拟主机与所述共享EBS卷的关联的请求;所述云管理平台,还用于 接收所述虚拟备机发送的解除所述虚拟主机与所述共享EBS卷的关联的请求, 解除所述虚拟主机与所述共享EBS卷的关联;所述虚拟备机,还用于向所述云 管理平台发送关联所述共享EBS卷的请求;所述云管理平台,还用于根据所述 虚拟备机发送的关联所述共享EBS卷的请求,关联所述虚拟备机与所述共享 EBS卷;所述虚拟备机,还用于将所述共享EBS卷加载到本地,以控制所述 共享EBS卷。

采用本发明实施例公开的云环境下虚拟应用双机的切换方法、云管理平台 以及虚拟应用双机系统,将应用双机虚拟化,在虚拟主机出现故障无法释放对 共享磁盘的控制时,虚拟备机可以请求云管理平台解除虚拟主机与共享磁盘的 关联,进而获得对共享磁盘的控制,实现由虚拟主机到虚拟备机的切换,提高 了应用双机运行的可靠性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描 述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出 创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种云环境下虚拟应用双机切换方法示意图;

图2为本发明实施例提供的在开源Xen虚拟化环境下为虚拟机挂载EBS 卷的示意图;

图3为本发明实施例提供的云环境下虚拟应用双机系统图;

图4为本发明实施例提供的云环境下虚拟应用双机的启动步骤示意图;

图5为本发明实施例提供的云环境下虚拟应用双机的主动切换步骤示意 图;

图6为本发明实施例提供的云环境下虚拟应用双机的被动切换步骤示意 图;

图7为本发明实施例提供的云管理平台的结构示意图;

图8为本发明实施例提供的云管理平台的另一种结构示意图;

图9为本发明实施例提供的云环境下虚拟应用双机系统的架构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不 是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造 性劳动前提下获得的所有其他实施例,都属于本发明保护的范围。

图1所示为本发明一个实施例提供的一种云环境下虚拟应用双机的切换方 法的示意图,其中,在本发明实施例中,云环境下的虚拟应用双机包括虚拟主 机和虚拟备机。结合该图,详述该方法的各步骤如下:

步骤101、云管理平台将共享EBS卷(Elastic block store,弹性块存储) 的关联状态发送给虚拟备机;

在本发明一个实施例中,云管理平台将共享EBS卷的关联状态发送给虚拟 备机,可具体为:虚拟主机发生故障时,云管理平台接收虚拟备机发送的查询 共享EBS卷关联状态的请求;云管理平台根据虚拟备机发送的查询请求,将共 享EBS卷的关联状态发送给虚拟备机。

在虚拟应用双机的运行过程中,当虚拟主机出现故障时,会导致虚拟主机 向虚拟备机的切换。由于双机应用中的共享磁盘只允许同时由一台主机控制, 因此在切换之前,虚拟备机要先获取共享EBS卷的关联状态,以避免虚拟应用 双机同时关联该EBS卷的情况出现。

在本发明实施例中,虚拟备机可以通过多种方式获取共享EBS卷的关联状 态,例如:云管理平台定时向虚拟备机发送共享EBS卷的关联状态信息;在云 管理平台检测到虚拟主机发生故障(例如虚拟主机出现故障、虚拟主机的网络 连接出现故障、或是虚拟主机的宿主机出现故障等)时,向虚拟备机发送共享 EBS卷的关联状态信息;或者由虚拟备机定时或在虚拟主机发生故障时,向云 管理平台发送查询共享EBS卷关联状态的请求,云管理平台根据该请求向虚拟 备机发送共享EBS卷的关联状态等,本发明实施例对此不作限定。

步骤102、云管理平台接收虚拟备机发送的解除虚拟主机与共享EBS卷的 关联的请求;

步骤103、云管理平台解除虚拟主机与共享EBS卷的关联;

若虚拟主机的故障导致其没有主动释放对共享EBS卷的控制,则首先要由 云管理平台解除虚拟主机与共享EBS卷的关联关系,再将该共享EBS卷与虚 拟备机建立关联,以避免共享EBS卷与虚拟应用双机同时建立关联的情况的出 现。

步骤104、云管理平台接收虚拟备机发送的关联共享EBS卷的请求;

步骤105、云管理平台关联虚拟备机与该共享EBS卷,以便虚拟备机控制 该共享EBS卷。

云管理平台将共享EBS卷与虚拟备机建立关联后,虚拟备机再通过mount (加载)命令将此EBS卷加载到本地,便能够对该EBS卷进行控制,像使用 本地磁盘一样使用此共享EBS卷。

采用本发明实施例公开的云环境下虚拟应用双机的切换方案,虚拟主机和 虚拟备机之间通过云管理平台获取对方的状态信息,避免了孤岛节点(发生网 络等故障时,导致某个节点不能对外提供服务,并且不能被其他网元感知,此 节点即称为孤岛节点)的出现,与此同时,在虚拟主机发生故障不能主动释放 对共享EBS卷的控制时,虚拟备机能够及时地获取故障信息并请求由云管理平 台解除虚拟主机对共享EBS卷的控制,从而使得虚拟备机能够获得对共享EBS 卷的控制,实现由虚拟主机到虚拟备机的顺利切换。

结合上述实施例公开的云环境下虚拟应用双机的切换方法,本实施例公开 上述方案的应用基础——云环境的详细内容。

云环境中管理着大量的计算设备和存储设备,云管理平台通过虚拟化技 术,将物理资源虚拟成逻辑资源,进而向外提供虚拟计算资源(虚拟机)和虚拟 存储资源(例如EBS卷)服务。为了管理方便,云管理平台将各种设备划分成多 个区域进行管理,每个区域都拥有自己专有的计算和存储设备,不同的区域间 不能进行资源共享。

EBS卷是云管理平台在一个指定的区域内创建的虚拟存储资源,大小范围 可以从1GB到1TB,由存储设备NAS(Network Attached Storage,网络连接式 存储)、SAN(Storage Area Network,存储网络)或DAS(Direct Attached Storage, 直连式存储)提供物理存储空间。在VMware(一种虚拟机软件,业界一种主 流方案)虚拟化环境下,EBS卷是一个后缀为vmdk的文件,此文件属于某个 VMFS(VMware Virtual Machine File System,VMware提供的虚拟机文件系统) 文件系统;而在XenServer(一种基于linux的虚拟化服务器)虚拟化环境下, EBS卷可以是一个文件,也可以是一个逻辑卷。

EBS卷创建成功后,可以通过调用虚拟化环境的API(Application  Programming Interface,应用程序编程接口。例如在VMware虚拟化环境中调用 VirtualMachine.ReconfigVM_Task;在XenServer虚拟化环境中调用 xenapi.VBD.plug)将其与同一区域内的任意一台虚拟机建立关联,同时也可以 从该虚拟机中将其分离。EBS卷与虚拟机关联成功后,即相当于为虚拟机增加 了一块磁盘,该虚拟机可以对它进行分区、格式化、创建文件系统等物理磁盘 所适用的各种操作。从使用效果来看,EBS卷相当于一块可插拔的磁盘,类似 于USB盘。

在VMware虚拟化环境下一个EBS卷可以只分配给一台虚拟机使用,也可 以分配给多台虚拟机使用;而在XenServer虚拟化环境下一个EBS卷只能分配 给一台虚拟机使用。在本发明实施例中,由云管理平台管理EBS卷,可以对其 施加如下限制:一个EBS卷同一时刻只能分配给一台虚拟机使用,此EBS卷 从原虚拟机分离成功后,才可以分配给其他虚拟机使用。

图2所示为本发明一个实施例提供的在开源Xen虚拟化环境下为虚拟机关 联EBS卷的示意图。在VMware虚拟化环境下为虚拟机关联EBS卷的情况与 此类似,不再赘述。

如图所示,由SAN存储系统提供逻辑驱动器(如图中所示LUN1和LUN2), 由云管理平台管理卷组(Volume Group),将多个LUN加入。当创建EBS卷 时,在卷组之上划分逻辑卷(Logical Volume),一个EBS卷对应一个逻辑卷 (如图中所示EBS1对应逻辑卷4,EBS2对应逻辑卷6)。同理,对于虚拟机 的磁盘,也是一个磁盘对应一个逻辑卷。

如图中所示,虚拟机1关联了逻辑卷1;虚拟机2和虚拟机3是本发明实 施例中创建的虚拟应用双机,EBS1是双机的共享磁盘,根据前述实施例中提 及的对共享EBS卷的限制条件,EBS1在同一时刻只能被虚拟机2或虚拟机3 单独关联,不能同时被两个虚拟机关联;虚拟机4未关联磁盘。

图2中所示各部分的编号只是用于举例,不代表在一个区域内云管理平台 能够管理的(虚拟)设备上限。

图3所示为本发明实施例提供的云环境下虚拟应用双机系统图。和物理环 境下的应用双机有两点不同:一是在物理环境下的应用双机系统只有一台主机 和一台备机组成,而在本发明实施例中,在云环境下的虚拟应用双机系统中除 两台虚拟机外,还包括了云管理平台;二是在物理环境下的应用双机之间需要 有心跳信息保持联系,以此来获知对方的运行情况,而在本发明实施例中,在 云环境下的虚拟应用双机之间不再需要心跳信息保持联系,而是通过云管理平 台来获知对方的运行情况。

如图3所示,云管理平台创建的两台虚拟机包括一台虚拟主机和一台虚拟 备机,虚拟主机和虚拟备机之间共享使用一块磁盘(EBS卷)。前已述及,云 管理平台可以创建一个或多个EBS卷,此图中所示的一个EBS卷用于举例, 不作为对本发明实施例的限定。云环境下虚拟机和EBS卷都是逻辑对象,当虚 拟机的物理宿主机发生故障时,虚拟机双机关系仍然保存在云管理平台中,故 只需要指定新的物理宿主机重启虚拟机即可,不必如现有物理环境下的双机系 统那样重新配置应用双机。

在本发明实施例中,云环境下的虚拟应用双机之间不再需要心跳信息进行 联系,取而代之的是,由云管理平台提供虚拟应用双机的状态信息。借助于云 平台对虚拟资源的全方位的监控,本发明实施例中的云管理平台能够很方便地 获取虚拟应用双机的状态信息,例如:虚拟机健康状况(例如运行、停止或故 障等),虚拟机挂载EBS卷信息(例如是否挂载、何时挂载以及挂载的EBS 卷标识等),以及虚拟机的性能数据(例如CPU占用率,磁盘或网络I/O流量 等)等。

在现有的双机方案中,一般将待监控对象划分到某个资源组中,由资源组 提供脚本供安装在双机中的双机软件调用并执行特定的任务,例如资源组的启 动、停止或监控等。具体地,在本发明实施例中,虚拟应用双机中的双机软件 可以通过监控脚本从云管理平台处获取到当前双机的运行状态,为双机监控提 供准确的虚拟机状态信息。由于虚拟应用双机中的任意一台虚拟机,都可以通 过云管理平台查询到另一台虚拟机的状态信息,同时由于云管理平台性能的高 可靠性,因此能够最大限度地减少孤岛节点的出现。

结合上述实施例中公开的内容,本实施例分别对虚拟应用双机的创建、启 动和切换进行详细说明。

云环境下虚拟应用双机的创建:

在上述实施例公开的云环境下,用户通过云管理平台的portal(入口)申 请创建虚拟应用双机,在提出申请的同时指定共享磁盘(即EBS卷)的大小。

云管理平台创建主备虚拟双机——虚拟主机和虚拟备机,并在主备虚拟双 机上安装双机软件(例如Veritas Cluster Server等)以监控双机应用。同时设置 虚拟主机和虚拟备机分别通过云管理平台获取对方的状态信息,例如:虚拟机 健康状况(例如运行、停止或故障等),虚拟机挂载EBS卷信息(例如是否挂 载、何时挂载以及挂载的EBS卷标识等),以及虚拟机的性能数据(例如CPU 占用率,磁盘或网络I/O流量等)等。

云管理平台在创建虚拟应用双机的同时创建共享EBS卷,数量可以为一个 也可以为多个,设置创建的共享EBS卷只能被这对虚拟应用双机使用,同时设 置EBS卷在同一时刻只能由一台虚拟机单独控制。

云环境下虚拟应用双机的启动:

图4所示为本发明一个实施例提供的云环境下虚拟应用双机的启动步骤示 意图,结合该图,详述各步骤如下:

步骤401、虚拟主机启动时从云管理平台中获取虚拟机元数据;

其中,虚拟机元数据中可以包括虚拟机ID、虚拟机可以挂载的EBS卷ID、 已经挂载的EBS卷ID、挂载时间等信息。

具体地,虚拟主机可以由安装其上的双机启动脚本(script)通过云管理平 台的webserver(网页服务器)服务获取到虚拟机元数据。例如,可以通过命令: wget http://11.22.33.44/255/meta-data/获取到相应的数据。

步骤402、虚拟主机向云管理平台申请关联共享EBS卷;

具体地,虚拟主机可以通过云管理平台提供的CLI(command-line interface, 命令行界面)工具,以在步骤401中获取的EBS卷的EBS ID(EBS卷标识) 作为参数发起AttachVolume(增加卷)请求,由云管理平台为虚拟主机增加磁 盘;

其中,CLI工具由云管理平台提供,可以运行在任何虚拟机上,只需要与 云管理平台保持网络相通即可。由云管理平台对EBS卷进行控制,确保一个 EBS卷始终只能由一台虚拟机控制,彻底杜绝双机应用时发生脑裂问题。。

在现有的物理双机中,需要挂载多块共享磁盘时,不能指定磁盘在OS (Operating System,操作系统)上的设备名称,一般只能通过磁盘大小进行区 分,这样对于相同大小的磁盘,就难以区分每块磁盘的用途。

特别地,在本发明一个实施例中,云管理平台在创建多个共享EBS卷时可 以同时为每个EBS卷设定名称,这样虚拟机在请求挂载EBS卷时,就可以指 定EBS卷的名称,从而解决现有物理双机中不能区分多块共享磁盘的问题,并 且能够方便双机脚本的写作,减少人为错误导致的问题。例如虚拟应用双机需 要两块共享磁盘,一块存话单,一块存数据库文件,在申请创建虚拟应用双机 时申请两个EBS卷(EBS1、EBS2)作为共享磁盘,并规划好卷名称,存话单 的EBS卷名称可以定为/dev/sdb,存数据库文件的EBS卷名称可以定为/dev/sdc。

在这种情况下,挂载EBS卷的请求可如下所示:

cloudcli AttachEBS VM1 EBS1 /dev/sdb

mount /dev/sdb /mnt/bill

cloudcli AttachEBS VM1 EBS2 /dev/sdc

mount /dev/sdc /mnt/dbfile

步骤403、虚拟主机将EBS卷加载到本地;

其中,在步骤402中云管理平台为虚拟主机关联共享EBS卷后,虚拟主机 再通过mount命令将此EBS卷加载到本地,便可像使用本地磁盘一样使用此共 享EBS卷了。

云环境下虚拟应用双机的切换:

在本发明实施例中,云环境下虚拟应用双机的切换可以分为两种情况:一 种情况是由虚拟主机主动发起的切换,由虚拟主机切换到虚拟备机,可称之为 主动切换;另外一种情况是出现故障,导致由虚拟主机到虚拟备机的切换,可 称之为被动切换。以下分别说明这两种情况下的虚拟应用双机的切换步骤。

图5所示为本发明一个实施例提供的云环境下虚拟应用双机的主动切换步 骤示意图。以下结合该图详述各步骤:

步骤501、虚拟主机卸载本地加载的共享EBS卷;

具体地,虚拟主机可以通过unmount命令卸载加载到本地的共享EBS卷。

步骤502、虚拟主机向云管理平台请求解除与共享EBS卷的关联;

具体地,虚拟主机可以通过云管理平台提供的CLI工具以共享EBS卷的 EBS ID作为参数向云管理平台发起DetachVolume(分离卷)请求,解除与此 EBS卷的关联;

云管理平台收到请求后,解除此共享EBS卷与虚拟主机的关联。

步骤503、虚拟备机向云管理平台申请关联共享EBS卷;

步骤504、虚拟备机将EBS卷加载到本地。

其中,虚拟备机经过步骤503与504与共享EBS卷建立关联并加载到本地, 与前述步骤402与403中虚拟主机关联、加载共享EBS卷的操作相同,此处不 再赘述。

在虚拟主机主动进行双机切换的情况下,虚拟主机先释放对共享EBS卷的 控制,再进行双机切换,这样就可保证在同一时刻只会有一台虚拟机关联共享 EBS卷,从而避免导致脑裂(brain-split)的出现。

此外,在本发明的另一个实施例中,还可以在虚拟备机申请关联共享EBS 卷之前,先由其向云管理平台查询此EBS卷的关联状态,在确定此EBS卷没 有与其他虚拟机关联的情况下,才会申请关联此EBS卷。虚拟备机向云管理平 台查询EBS卷关联状态的步骤在后续实施例中详细说明。

而在被动切换的情况下,例如虚拟主机出现故障、虚拟主机的网络连接出 现故障、或是虚拟主机的宿主机出现故障时,也需要由虚拟主机切换到虚拟备 机,图6所示为本发明一个实施例提供的云环境下虚拟应用双机被动切换时的 步骤示意图。以下详述被动切换的各步骤:

步骤601、虚拟备机检测到需进行双机切换;

前已述及,在虚拟应用双机中分别安装有双机软件,双机软件通过脚本从 云管理平台处获取虚拟双机的运行状态。具体地,在本实施例中,虚拟备机中 的双机软件可以通过监控脚本从云管理平台处获取虚拟主机的运行状态,从而 检测到虚拟主机发生故障,需要进行双机切换。发生的故障类型包括但不限于 虚拟主机故障、虚拟主机的网络连接故障、或是虚拟虚拟主机的宿主机故障等。

步骤602、虚拟备机向云管理平台查询共享EBS卷的关联状态;

在发生故障时,虚拟主机一般不会主动释放对共享EBS卷的控制,因而在 切换之前由虚拟备机向云管理平台查询共享EBS卷的关联状态,并根据查询到 的情况执行相应的操作;

具体地,虚拟备机可通过DescribeVolume(描述卷)命令向云管理平台查 询共享EBS卷的关联状态。

前已述及,在主动切换的情况下,虚拟备机在关联共享EBS卷之前,也可 以实施该步骤查询共享EBS卷的关联状态,从而更好地避免脑裂情况的出现, 增强虚拟应用双机的可靠性。

步骤603、云管理平台向虚拟备机反馈共享EBS卷的关联状态;

其中,若共享EBS卷还与虚拟主机关联,则执行步骤604;若共享EBS 卷未与虚拟主机关联,则执行步骤606。

步骤604、虚拟备机向云管理平台请求解除虚拟主机与共享EBS卷的关联;

具体地,虚拟备机可以通过CLI工具向云管理平台发起DetachVolume请 求,解除虚拟主机与此EBS卷的关联。

前已述及,云管理平台能够很方便地获取虚拟应用双机的状态信息,在本 发明的一个实施例中,云管理平台在收到虚拟备机发送的解除虚拟主机与共享 EBS卷的关联的请求后,还可以先对虚拟主机的状态进行判断,确定虚拟主机 确实发生故障后,再解除虚拟主机与共享EBS卷的关联。

步骤605、云管理平台解除虚拟主机与共享EBS卷的关联;

步骤606、虚拟备机向云管理平台申请与共享EBS卷建立关联,云管理平 台建立虚拟备机与共享EBS卷的关联;

步骤607、虚拟备机将共享EBS卷加载到本地。

具体地,在上述步骤606与607中,虚拟备机可以通过CLI工具向云管理 平台发起AttachVolume请求,由云管理平台为虚拟备机与共享EBS卷建立关 联,而后虚拟备机再通过mount操作,将此EBS卷加载到本地。

通过本实施例公开的操作,在虚拟主机故障的情况下,虚拟备机可以通过 云管理平台获知共享EBS卷的关联状态,在此基础上再进行相关操作,从而可 以有效地减少脑裂的出现,增强虚拟应用双机的可靠性。特别是在虚拟主机出 现故障,无法主动释放对共享EBS卷的控制的情况下,虚拟备机可以通过云管 理平台解除虚拟主机与共享EBS卷的关联,这样就能保证虚拟备机对共享EBS 卷的单独控制,保证切换的顺利完成。

结合上述实施例公开的内容,本实施例公开一种云管理平台,用以实施上 述实施例公开的云环境下虚拟应用双机的切换方案。

图7所示为本发明一个实施例提供的云管理平台的结构示意图,以下结合 该图,详述云管理平台的各组成部分。

如图所示,云管理平台700由发送模块701、接收模块702、去关联模块 703和关联模块704组成。

其中,发送模块701,用于将共享EBS卷的关联状态发送给虚拟备机;

在本发明一个实施例中,发送模块701将共享EBS卷的关联状态发送给虚 拟备机可具体为:在虚拟主机发生故障时,接收模块702接收虚拟备机发送的 查询共享EBS卷关联状态的请求;发送模块701根据接收模块702接收的查询 共享EBS卷关联状态的请求,将共享EBS卷的关联状态发送给虚拟备机。

在虚拟应用双机的运行过程中,当虚拟主机出现故障时,会导致虚拟主机 向虚拟备机的切换。由于双机应用中的共享磁盘只允许同时由一台主机控制, 因此在切换之前,虚拟备机要先获取共享EBS卷的关联状态,以避免虚拟应用 双机同时关联该EBS卷的情况出现。

在本发明实施例中,虚拟备机可以通过多种方式获取共享EBS卷的关联状 态,例如:云管理平台定时向虚拟备机发送共享EBS卷的关联状态信息;在云 管理平台检测到虚拟主机发生故障(例如虚拟主机出现故障、虚拟主机的网络 连接出现故障、或是虚拟主机的宿主机出现故障等)时,向虚拟备机发送共享 EBS卷的关联状态信息;或者由虚拟备机定时或是在虚拟主机发生故障时,向 云管理平台发送查询共享EBS卷关联状态的请求,云管理平台根据该请求向虚 拟备机发送共享EBS卷的关联状态等,本发明实施例对此不作限定。

接收模块702用于,接收虚拟备机发送的解除虚拟主机与共享EBS卷的关 联的请求;

去关联模块703,用于根据接收模块701接收的解除虚拟主机与共享EBS 卷的关联的请求,解除虚拟主机与共享EBS卷的关联;

其中,在共享EBS卷还与虚拟主机关联的情况下,虚拟备机要请求云管理 平台解除共享EBS卷与虚拟主机的关联,以便实现由虚拟备机对共享EBS卷 的控制,完成由虚拟主机向虚拟备机的切换。

接收模块702还用于,接收虚拟备机发送的关联共享EBS卷的请求;

关联模块704,用于根据接收模块702接收的关联共享EBS卷与虚拟备机 的请求,关联虚拟备机与共享EBS卷,以便虚拟备机控制共享EBS卷。

结合图7,图8所示的云管理平台中还包括创建模块705。

其中,创建模块705用于,根据用户的请求,创建虚拟主机、虚拟备机和 共享EBS卷,并设置虚拟主机和虚拟备机分别通过云管理平台获取对方的状态 信息,以及共享EBS卷由虚拟主机或虚拟备机单独控制;

其中,创建的共享EBS卷可以为一个也可以为一个以上,当创建模块705 创建一个以上的共享EBS卷时,创建模块705还用于,为一个以上的共享EBS 卷分别指定名称。

接收模块702还用于,接收虚拟主机发送的关联共享EBS卷的请求;

关联模块704还用于,根据接收模块702接收的关联共享EBS卷和虚拟主 机的请求,关联虚拟主机与共享EBS卷,以便虚拟主机控制共享EBS卷。

采用本实施例公开的云管理平台,可以根据用户的请求创建虚拟应用双机 和共享EBS卷,能够最大限度地满足用户的需求;在虚拟应用双机启动后运行 的过程中,虚拟主机和虚拟备机都可以通过云管理平台及时获得对方的运行状 态信息,特别是在虚拟主机发生故障的情况下,虚拟备机能够及时从云管理平 台处获得该信息,并执行相应的操作,避免了双机同时读取共享磁盘的情况出 现,极大增强了虚拟应用双机的运行可靠性。

图9所示为本发明实施例提供的云环境下虚拟应用双机系统的架构图,如 图所示,该系统用于云环境下虚拟应用双机的切换,其中包括云管理平台901、 虚拟主机902以及虚拟备机903。具体地:

云管理平台901,用于将共享EBS卷的关联状态发送给虚拟备机903;

在本发明一个实施例中,云管理平台901将共享EBS卷的关联状态发送给 虚拟备机903可具体为:虚拟主机发生故障时,虚拟备机903向云管理平台901 发送查询共享EBS卷关联状态的请求,响应于该请求,云管理平台901将共享 EBS卷的关联状态发送给虚拟备机903。

在虚拟应用双机的运行过程中,当虚拟主机出现故障时,会导致虚拟主机 向虚拟备机的切换。由于双机应用中的共享磁盘只允许同时由一台主机控制, 因此在切换之前,虚拟备机要先获取共享EBS卷的关联状态,以避免虚拟应用 双机同时关联该EBS卷的情况出现。

在本发明实施例中,虚拟备机可以通过多种方式获取共享EBS卷的关联状 态,例如:云管理平台定时向虚拟备机发送共享EBS卷的关联状态信息;在云 管理平台检测到虚拟主机发生故障(例如虚拟主机出现故障、虚拟主机的网络 连接出现故障、或是虚拟主机的宿主机出现故障等)时,向虚拟备机发送共享 EBS卷的关联状态信息;或者由虚拟备机定时或是在虚拟主机发生故障时,向 云管理平台发送查询共享EBS卷关联状态的请求,云管理平台根据该请求向虚 拟备机发送共享EBS卷的关联状态等,本发明实施例对此不作限定。

虚拟备机903,用于根据云管理平台901发送的共享EBS卷的关联状态, 检测到共享EBS卷与虚拟主机902关联,则向云管理平台901发送解除虚拟主 机902与共享EBS卷的关联的请求;

云管理平台901,还用于接收虚拟备机903发送的解除虚拟主机902与共 享EBS卷的关联的请求,解除虚拟主机902与共享EBS卷的关联;

虚拟备机903,还用于向云管理平台901发送关联共享EBS卷的请求;

云管理平台901,还用于根据虚拟备机903发送的关联共享EBS卷的请求, 关联虚拟备机903与共享EBS卷;

虚拟备机903,还用于将共享EBS卷加载到本地,以控制共享EBS卷。

上述云管理平台901还用于,根据用户的请求,创建虚拟主机902、虚拟 备机903和共享EBS卷,并设置虚拟主机902和虚拟备机903分别通过云管理 平台901获取对方的状态信息,以及共享EBS卷由虚拟主机902或虚拟备机 903单独控制;

虚拟主机902,用于向云管理平台901发送关联共享EBS卷的请求;

云管理平台901,还用于根据接收的关联共享EBS卷和虚拟主机902的请 求,关联虚拟主机902与共享EBS卷;

虚拟主机902,还用于将共享EBS卷加载到本地,以控制共享EBS卷。

采用本实施例公开的云管理平台,可以根据用户的请求创建虚拟应用双机 和共享EBS卷,能够最大限度地满足用户的需求;在虚拟应用双机启动后运行 的过程中,虚拟主机和虚拟备机都可以通过云管理平台及时获得对方的运行状 态信息,特别是在虚拟主机发生故障的情况下,虚拟备机能够及时从云管理平 台处获得该信息,并执行相应的操作,避免了双机同时读取共享磁盘的情况出 现,极大增强了虚拟应用双机的运行可靠性。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上 述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式 来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡 献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储 介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设 备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或 者实施例的某些部分所述的方法。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实 施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实 施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例, 所以描述的比较简单,各单元具体功能的执行过程参见方法实施例的部分说明 即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单 元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可 以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目 的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本 发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、 改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号