首页> 中国专利> 一种虚拟化环境中故障恢复的方法

一种虚拟化环境中故障恢复的方法

摘要

本发明公开了一种虚拟化环境中故障恢复的方法,包括步骤:调度服务器监控物理服务器的性能数据,以判断虚拟机是否发生故障,若发生故障,则调度服务器在故障物理服务器上选取待恢复虚拟机,并根据物理服务器的状态选取合适的物理接管服务器恢复虚拟机,调度服务器探测故障物理服务器的网络状况,若网络可用,则调度服务器向故障物理服务器和物理接管服务器发送做好迁移准备的指令,故障物理服务器将待恢复虚拟机实时迁移至物理接管服务器。本发明使虚拟化环境中的上层服务具有容错与容灾能力,提升了服务质量和基础架构利用率,降低物理基础架构成本,提升IT员工工作效率,并具有更好的安全和隔离性,以及良好的容灾和容错特性。

著录项

  • 公开/公告号CN102819465A

    专利类型发明专利

  • 公开/公告日2012-12-12

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN201210219947.2

  • 发明设计人 金海;廖小飞;陆枫;潘浩;

    申请日2012-06-29

  • 分类号G06F11/07(20060101);

  • 代理机构42201 华中科技大学专利中心;

  • 代理人朱仁玲

  • 地址 430074 湖北省武汉市洪山区珞瑜路1037号

  • 入库时间 2023-12-18 07:36:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-14

    未缴年费专利权终止 IPC(主分类):G06F11/07 专利号:ZL2012102199472 申请日:20120629 授权公告日:20140924

    专利权的终止

  • 2014-09-24

    授权

    授权

  • 2013-01-30

    实质审查的生效 IPC(主分类):G06F11/07 申请日:20120629

    实质审查的生效

  • 2012-12-12

    公开

    公开

说明书

技术领域

本发明属于计算机技术领域,更具体地,涉及一种虚拟化环境中故障 恢复的方法。

背景技术

传统灾难恢复计划需要许多手动、复杂的步骤来分配恢复资源、执行 裸机恢复、执行数据恢复,并验证系统是否为使用做好了准备。搭建一套 容灾备份系统无论是在金钱、还是在人力、技术投入上,都是一个耗资巨 大、效果十分不明显的工程。容灾备份系统一旦建成,需要专人定期维护、 检查、演练,以保证紧急时刻,系统可以正常启用。同时,容灾备份系统 软硬件的选用,也要足以支撑起系统投入使用时的业务容量。对企业来说, 搭建这样一个系统无疑是一笔巨大的支出。

随着x86服务器及台式机部署数量的日益增长,新的运行风险和IT基 础架构的挑战也开始出现,现有的故障恢复的方法存在如下问题:1、基础 架构的低利用率;2、会导致物理基础架构成本不断增加;3、会导致IT管 理成本不断增加;4、缺乏故障恢复及灾难保护,导致台式机管理的安全性 差。

发明内容

针对现有技术的缺陷,本发明的目的在于提供一种虚拟化环境中故障 恢复的方法,其使虚拟化环境中的上层服务具有容错与容灾能力,提升了 服务质量和基础架构利用率,降低物理基础架构成本,提升IT员工工作效 率,并具有更好的安全和隔离性,以及良好的容灾和容错特性。

为实现上述目的,本发明提供了一种虚拟化环境中故障恢复的方法, 包括以下步骤:

(1)调度服务器监控物理服务器的性能数据,以判断虚拟机是否发生 故障;若发生故障,则进入步骤(2),否则过程结束;

(2)调度服务器在故障物理服务器上选取待恢复虚拟机,并根据物理 服务器的状态选取合适的物理接管服务器恢复虚拟机;

(3)调度服务器探测故障物理服务器的网络状况,若网络可用则进入 步骤(4),否则进入步骤(6);

(4)调度服务器向故障物理服务器和物理接管服务器发送做好迁移准 备的指令;

(5)故障物理服务器将待恢复虚拟机实时迁移至物理接管服务器,过 程结束;

(6)调度服务器在网络文件系统的检查点库中获取待恢复虚拟机的检 查点索引文件,读取并解析文件,获得虚拟机运行时的虚拟CPU个数、内 存占用量和检查点文件的路径,并发送给物理接管服务器;

(7)物理接管服务器从网络文件系统中读取检查点文件,并恢复虚拟 机。

步骤(1)具体为:调度服务器广播收集物理服务器信息,根据收集的 信息构建物理服务器状态表,为每个物理服务器设置定时器。物理服务器 定期提取运行时的性能参数以及运行的虚拟机列表,编码写入心跳包中, 将心跳包传输至调度服务器。调度服务器接收心跳包,解析心跳包内容, 更新物理服务器状态表。

性能参数包括CPU总利用率、内存利用率、网络带宽占用率,虚拟机 列表包括虚拟机名称,UUID,IP地址,虚拟CPU个数,内存占用量,网络 上行速率,网络下行速率。

步骤(2)具体为:调度服务器获取待恢复虚拟机的虚拟CPU个数,内 存占用量,网络带宽的资源需求,查找物理服务器状态表,筛选符合虚拟 机资源需求的候选物理服务器,预匹配虚拟机与候选物理服务器,计算恢 复后物理服务器CPU、内存和带宽的资源占用率,选取占用率最接近的物理 服务器为最终的接管物理服务器。保证虚拟机恢复后物理服务器不出现某 一资源短缺的情况,同时保证整体负载均衡。

步骤(2)包括以下子步骤:

(2-1)调度服务器判断故障类型;

(2-2)调度服务器根据故障类型选取待恢复虚拟机;

(2-3)调度服务器判断是否可筛选物理服务器作为候选物理接管服务 器,若可筛选则进入子步骤(2-4),否则过程结束;

(2-4)调度服务器根据运行的虚拟机数量判断是否可以从候选物理接 管服务器中选取一台物理接管服务器,若可以,则过程结束,否则进入子 步骤(2-5);

(2-5)调度服务器根据故障类型,从候选物理接管服务器选取一台物 理接管服务器。

故障类型包括CPU故障和内存故障。且CPU故障的优先级高于内存故 障。

在步骤(2-2)中,当CPU故障时,选取CPU绝对占用率最高的虚拟机, 其中CPU绝对占用率=虚拟机CPU占用率×虚拟CPU个数/物理服务 器CPU核数,当内存故障时,选取内存占用量最高的虚拟机。

步骤(2-3)具体为:接管服务器遍历物理服务器状态表,筛选非故障 且非锁定的空闲物理服务器作为候选物理接管服务器,非故障指物理服务 器当前没有被监控到发生故障,非锁定指物理服务器当前并没有在进行迁 移,空闲物理服务器指虚拟机恢复后的CPU和内存占用率均低于70%。

步骤(2-4)具体为:调度服务器首先从候选物理接管节点中选取运行 虚拟机最少的物理服务器,若该节点运行的虚拟机少于等于3个,则确定 该物理服务器为物理接管服务器。

步骤(2-5)具体为:当CPU故障时,选取CPU利用率最低的候选物理 服务器,当内存故障时,选取内存占用率最低的候选物理服务器。

通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以 下的有益效果:

1、容错性与容灾性良好:本发明使用虚拟化环境中的步骤(5)实时 迁移技术,在故障/灾难发生时及时的将承载上层服务的虚拟机迁移至安全 稳定的物理服务器上,该过程对上层服务透明;使用虚拟化环境中的步骤 (7)检查点技术,定时对虚拟机进行备份,防止故障/灾难发生后造成不 可恢复的后果。提高了虚拟化环境中上层服务的容错和容灾的能力。

2、快速备份与恢复:本发明针对虚拟化环境中的检查点制作过程进行 了优化。步骤(7)通过对虚拟机的内存进行压缩和动态调整,大大提升了 检查点文件备份和恢复的时间,同时减少了检查点文件占用的磁盘空间。 提高了检查点恢复的性能。

3、高可用性:本发明针对不同的灾难种类采取不同的恢复策略。步骤 (3)针对网络通畅的故障,采用实时迁移技术快速将故障影响的虚拟机迁 移至安全可靠的物理服务器上,进行故障转移,保证故障发生时服务不中 断;针对网络中断的故障,第一时间选择安全可靠的物理服务器,从检查 点文件中恢复虚拟机至稳定的运行状态,保证故障发生后的服务快速恢复。

4、低成本:本发明采用虚拟化技术,对硬件设备没有特殊的要求,不 需要额外添加价格昂贵的容灾恢复硬件。只要是支持虚拟化的硬件设备, 即可使用本方法进行故障恢复,降低了设备成本。

附图说明

图1是本发明虚拟化环境中故障恢复的方法的流程图。

图2是本发明方法中步骤(2)的细化流程图。

图3是检查点索引文件结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图 及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体 实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明虚拟化环境中故障恢复的方法包括以下步骤:

(1)调度服务器(Dispatch Server,简称DS)监控物理服务器(Physical  Machine,简称PM)的性能数据,以判断虚拟机(Virtual Machine,简称 VM)是否发生故障;若发生故障,则进入步骤(2),否则过程结束;具体 而言,调度服务器广播收集物理服务器信息,根据收集的信息构建物理服 务器状态表,为每个物理服务器设置定时器。物理服务器定期提取运行时 的性能参数(CPU总利用率、内存利用率、网络带宽占用率)以及运行的虚 拟机列表(虚拟机名称,UUID,IP地址,虚拟CPU个数,内存占用量,网 络上行速率,网络下行速率),编码写入心跳包中,将心跳包传输至调度 服务器。调度服务器接收心跳包,解析心跳包内容,更新物理服务器状态 表。

(2)调度服务器在故障物理服务器上选取待恢复虚拟机,并根据物理 服务器的状态选取合适的物理接管服务器恢复虚拟机;具体而言,调度服 务器获取待恢复虚拟机的虚拟CPU个数,内存占用量,网络带宽的资源需 求,查找物理服务器状态表,筛选符合虚拟机资源需求的候选物理服务器, 预匹配虚拟机与候选物理服务器,计算恢复后物理服务器CPU、内存和带宽 的资源占用率,选取占用率最接近的物理服务器为最终的接管物理服务器。 保证虚拟机恢复后物理服务器不出现某一资源短缺的情况,同时保证整体 负载均衡。

(3)调度服务器探测故障物理服务器的网络状况,若网络可用则进入 步骤(4),否则进入步骤(6);具体而言,调度服务器向故障物理服务 器发送ping包探测故障物理服务器的网络状况,根据ping包响应时间确 定故障物理服务器的网络状况。ping回复的延迟超过1s或超时,认为故障 服务器网络不可用;ping的延迟低于1s,认为故障服务器网络可用。

(4)调度服务器向故障物理服务器和物理接管服务器发送做好迁移准 备的指令;具体而言,故障物理服务器和物理接管节点进入锁定状态,不 再被作为候选物理接管服务器,同时暂停虚拟机检查点备份过程,保证有 足够的CPU、内存和网络带宽进行迁移。

(5)故障物理服务器将待恢复虚拟机实时迁移至物理接管服务器,过 2程结束;具体而言,故障物理服务器在实时迁移前,动态调整虚拟机分配 的内存至最小值,以避免传输不必要的未使用的内存块。迁移完成后,动 态调整虚拟机的内存至迁移前的大小。

(6)调度服务器在网络文件系统(NetworkFile System,简称NFS) 的检查点库中获取待恢复虚拟机的检查点索引文件,读取并解析文件,获 得虚拟机运行时的虚拟CPU个数、内存占用量和检查点文件的路径,并发 送给物理接管服务器。如图3所示,检查点索引文件包含以下内容:虚拟 机IP、虚拟机UUID、检查点文件创建时间、检查点文件使用次数、虚拟CPU 个数、内存大小、挂载镜像路径、检查点文件大小和检查点文件路径。

(7)物理接管服务器从网络文件系统中读取检查点文件,并恢复虚拟 机,过程结束;具体而言,物理接管节点完成检查点文件的恢复后,动态 调整虚拟至运行时状态。

如图2所示,步骤(2)具体包括以下子步骤:

(2-1)判断故障类型;具体而言,故障类型包括CPU故障、内存故障。 其中CPU故障优先级高于内存故障,当CPU故障和内存故障同时出现时, 视为CPU故障。

(2-2)根据故障类型选取待恢复虚拟机;具体而言,当CPU故障时, 选取CPU绝对占用率最高的虚拟机,CPU绝对占用率的计算公式为:CPU绝 对占用率=虚拟机CPU占用率×虚拟CPU个数/物理服务器CPU核数; 当内存故障时,选取内存占用量最高的虚拟机。

(2-3)判断是否可筛选物理服务器作为候选物理接管服务器,若可筛 选则进入子步骤(2-4),否则过程结束;具体而言,接管服务器遍历物理 服务器状态表,筛选非故障且非锁定的空闲物理服务器作为候选物理接管 服务器。非故障指物理服务器当前没有被监控到发生故障,非锁定指物理 服务器当前并没有在进行迁移,空闲物理服务器指虚拟机恢复后的CPU和 内存占用率均低于70%。

(2-4)根据运行的虚拟机数量判断是否可以从候选物理接管服务器中 选取一台物理接管服务器,若可以,则过程结束,否则进入子步骤(2-5); 具体而言,调度服务器首先从候选物理接管节点中选取运行虚拟机最少的 物理服务器,若该节点运行的虚拟机少于等于3个,则确定该物理服务器 为物理接管服务器。

(2-5)根据故障类型,从候选物理接管服务器选取一台物理接管服务 器。具体而言,CPU故障时,选取CPU利用率最低的候选物理服务器,内存 故障时,选取内存占用率最低的候选物理服务器。

应用实例

为了验证本发明方法的可行性和有效性,在真实环境下搭建了本发明 系统验证本发明方法。系统环境如下表所示:

该系统包含1台调度服务器,9台物理服务器,每台物理服务器上开启 最多8个虚拟机,1台网络文件系统服务器。物理服务器采用Cent OS 5.5 操作系统,虚拟机管理器采用Xen 4.1.1,虚拟机使用半虚拟化方式,虚拟 机镜像文件存储在网络文件系统NFS上,通过网络的方式加载虚拟机镜像, 虚拟机每10分钟制作一次检查点备份。调度服务器、物理服务器和网络文 件系统在一个局域网内。

调度服务器广播收集物理服务器信息,根据收集的信息构建物理服务 器状态表,为每个物理服务器设置定时器。物理服务器定期提取运行时的 性能参数以及运行的虚拟机列表,编码写入心跳包中,通过UDP传输协议 将心跳包传输至调度服务器。调度服务器接收心跳包,解析心跳包内容, 更新物理服务器状态表。调度服务器监控服务状态表,确定故障。调度服 务器向故障物理服务器发送ping包探测故障物理服务器的网络状况。根据 ping包响应时间确定故障物理服务器的网络状况。ping的延迟超过1s或 超时,认为故障服务器网络不可用;ping的延迟低于1s,认为故障服务器 网络可用。网络可用时,确定采用实时迁移的方法进行故障处理;网络不 可用时,采用检查点恢复的方法进行故障处理。

经过测试,如下表,在虚拟机分配1GB内存的情况下,本发明的实时 迁移时间为4s,服务中断时间为60-300ms,未进行优化的Xen原生的实时 迁移时间为12s;本发明的检查点文件大小在400MB-1GB之间,检查点制作 时间为5-10s,恢复时间为4-10s;未进行优化的Xen原生的检查点文件大 小为1.1GB,制作时间为14s,恢复时间为10s。在故障发生时,能够根据 故障物理服务器的网络状况选择相应的故障处理方式解决故障,降低故障 对服务的影响,提高服务的容灾与容错能力。

  本发明   Xen 4.1.1   实时迁移时间   4s   12s   实时迁移服务中断时间   60-300ms   60-300ms   检查点文件大小(1GB内存)   400MB–1GB   1.1GB   检查点文件制作时间(1GB内存)   5-10s   14s   检查点文件恢复时间(1GB内存)   4–10s   10s

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等 同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号