一种HA集群中虚拟机存储文件迁移方法及其装置.pdf

上传人:b*** 文档编号:6119211 上传时间:2019-04-13 格式:PDF 页数:14 大小:1.04MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410035243.9

申请日:

2014.01.24

公开号:

CN103810038A

公开日:

2014.05.21

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||著录事项变更IPC(主分类):G06F 9/48变更事项:申请人变更前:杭州华三通信技术有限公司变更后:新华三技术有限公司变更事项:地址变更前:310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地变更后:310052 浙江省杭州市滨江区长河路466号|||实质审查的生效IPC(主分类):G06F 9/48申请日:20140124|||公开

IPC分类号:

G06F9/48; G06F9/455; H04L29/08

主分类号:

G06F9/48

申请人:

杭州华三通信技术有限公司

发明人:

蔡志峰

地址:

310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

优先权:

专利代理机构:

北京鑫媛睿博知识产权代理有限公司 11297

代理人:

龚家骅

PDF下载: PDF下载
内容摘要

本发明公开了一种HA集群中虚拟机存储文件迁移方法及其装置,该方法包括:虚拟机管理平台获取所述HA集群中的特定共享存储的当前空闲率;当所述特定共享存储的当前空闲率低于第一阈值时,所述虚拟机管理平台对所述特定共享存储进行虚拟机存储文件迁移操作。在本发明中,有效地降低了由于共享存储满而导致的虚拟机使用异常、业务中断的概率,提高了系统的稳定性。

权利要求书

1.一种高可用性HA集群中虚拟机存储文件迁移方法,其特征在于,所
述HA集群中包括虚拟机管理平台、物理主机和至少两个共享存储,所述物
理主机中运行有虚拟机,所述虚拟机的存储文件保存在共享存储中,该方法
包括:
虚拟机管理平台获取所述HA集群中的特定共享存储的当前空闲率;
当所述特定共享存储的当前空闲率低于第一阈值时,所述虚拟机管理平
台对所述特定共享存储进行虚拟机存储文件迁移操作。
2.如权利要求1所述的方法,其特征在于,所述虚拟机管理平台对所述
特定共享存储进行虚拟机存储文件迁移操作之前,还包括:
所述虚拟机管理平台判断所述HA集群中是否存在当前空闲率大于第二
阈值的其他共享存储,并当判断为是时,确定执行对所述特定共享存储进行
虚拟机存储文件迁移操作的步骤;否则,不对所述特定共享存储进行虚拟机
存储文件迁移操作;其中,所述第二阈值大于所述第一阈值。
3.如权利要求1或2所述的方法,其特征在于,所述虚拟机管理平台对
所述特定共享存储进行虚拟机存储文件迁移操作,具体包括以下步骤:
步骤A、所述虚拟机管理平台将当前空闲率大于第二阈值的其他共享存
储中,当前空闲率最高的共享存储确定为目标共享存储;
步骤B、所述虚拟机管理平台对所述特定共享存储进行虚拟机存储文件
迁移操作,迁移至目标共享存储。
4.如权利要求3所述的方法,其特征在于,所述步骤B,具体包括:
步骤B0、确定所述特定共享存储中,存储文件实际大小不超过所述目标
共享存储的可用空间的各个虚拟机的迁移优先级;
步骤B1、所述虚拟机管理平台根据所述特定共享存储中的虚拟机的迁移
优先级,将迁移优先级最高的虚拟机的存储文件迁移到所述目标共享存储;
步骤B2、所述虚拟机管理平台判断进行虚拟机存储文件迁移操作后的所
述特定共享存储的当前空闲率是否低于所述第一阈值;若判断为是,则转至
步骤A;否则,结束当前流程;
其中,未处于运行状态的虚拟机的迁移优先级高于处于运行状态的虚拟
机;未处于运行状态的虚拟机的迁移优先级与其存储文件的实际大小正相关;
处于运行状态的虚拟机的迁移优先级,与该虚拟机的虚拟大小及实际空间占
用率均呈正相关。
5.如权利要求4所述的方法,其特征在于,进一步根据以下公式确定处
于运行状态的虚拟机i的迁移优先级:
虚拟机i的迁移优先级=a*vSize i/vSize Max+b*虚拟机i的占用率
其中,vSize i为虚拟机i的虚拟大小,vSize Max为所述特定共享存储中
虚拟机的虚拟大小的最大值,虚拟机i的占用率为虚拟机i的实际存储大小与
虚拟大小的比值,a和b为不大于1的非负数,且a+b=1。
6.如权利要求1所述的方法,其特征在于,
预先将HA集群中的所有共享存储均挂载到各个物理主机,且每个共享
存储在不同物理主机下挂载目录的全路径名称相同。
7.一种虚拟机管理平台,其特征在于,应用于包括物理主机和至少两个
共享存储的高可用性HA集群,所述物理主机中运行有虚拟机,所述虚拟机
的存储文件保存在该共享存储中,该虚拟机管理平台包括:
获取模块,用于获取所述HA集群中的特定共享存储的当前空闲率;
处理模块,用于当所述特定共享存储的当前空闲率低于第一阈值时,对
所述特定共享存储进行虚拟机存储文件迁移操作。
8.如权利要求7所述的虚拟机管理平台,其特征在于,还包括:
判断模块,用于判断所述HA集群中是否存在当前空闲率大于第二阈值
的其他共享存储;
所述处理模块具体用于,当所述判断模块判断为是时,对所述特定共享
存储进行虚拟机存储文件迁移操作;当所述判断模块判断为否时,不对所述
特定共享存储进行虚拟机存储文件迁移操作;其中,所述第二阈值大于所述
第一阈值。
9.如权利要求7或8所述的虚拟机管理平台,其特征在于,所述处理模
块具体用于,通过以下步骤实现对所述特定共享存储进行虚拟机存储文件迁
移操作:
步骤A、将当前空闲率大于第二阈值的其他共享存储中,当前空闲率最
高的共享存储确定为目标共享存储;
步骤B、对所述特定共享存储进行虚拟机存储文件迁移操作,迁移至目
标共享存储。
10.如权利要求9所述的虚拟机管理平台,其特征在于,所述处理模块
具体用于,通过以下步骤实现所述步骤B:
步骤B0、确定所述特定共享存储中,存储文件实际大小不超过所述目标
共享存储的可用空间的各个虚拟机的迁移优先级;
步骤B1、根据所述特定共享存储中的虚拟机的迁移优先级,将迁移优先
级最高的虚拟机的存储文件迁移到所述目标共享存储;
步骤B2、判断进行虚拟机存储文件迁移操作后的所述特定共享存储的当
前空闲率是否低于所述第一阈值;若判断为是,则转至步骤A;否则,结束
当前流程;
其中,未处于运行状态的虚拟机的迁移优先级高于处于运行状态的虚拟
机;未处于运行状态的虚拟机的迁移优先级与其存储文件的实际大小正相关;
处于运行状态的虚拟机的迁移优先级,与该虚拟机的虚拟大小及实际空间占
用率均呈正相关。
11.如权利要求10所述的虚拟机管理平台,其特征在于,所述处理模块
具体用于,进一步根据以下公式确定处于运行状态的虚拟机i的迁移优先级:
虚拟机i的迁移优先级=a*vSize i/vSize Max+b*虚拟机i的占用率
其中,vSize i为虚拟机i的虚拟大小,vSize Max为所述特定共享存储中
虚拟机的虚拟大小的最大值,虚拟机i的占用率为虚拟机i的实际存储大小与
虚拟大小的比值,a和b为不大于1的非负数,且a+b=1。

说明书

一种HA集群中虚拟机存储文件迁移方法及其装置

技术领域

本发明涉及通信技术领域,尤其涉及一种HA集群中虚拟机存储文件迁移
方法及其装置。

背景技术

参见图1,使用corosync+pacemaker可以方便地搭建虚拟机集群,即将虚
拟机作为pacemaker的一个资源进行管理,资源的启动或停止状态由pacemake
对外提供的配置信息进行控制。

为了方便虚拟机在集群中的各个主机之间迁移,一般将虚拟机的镜像文件
存放在网络共享文件系统中,并在集群中的所有主机上都mount(挂载)上该
共享文件系统,即确保集群中的所有物理主机都可以访问到该共享文件系统,
且mount到物理主机上的目标目录名称一致。

在HA(High Availability,高可用性)集群中,能够做到将集群中的多个
物理主机统一管理、将集群中的所有资源统一管理,并为资源指定默认的运行
位置信息。

一般地,实际组网中的共享存储可以是多个,且连接到存储的实际网络一
般是多个链路聚合(bond),即物理服务器连接到物理存储一般是两个或两个
以上的链路聚合,存储设备连接到存储网络的物理链路一般也是两个或两个以
上链路聚合,这样可以有效的抵御单点故障造成的影响。

每个共享存储分别mount到HA集群中的各个物理主机上,这多个共享存
储起到分担数据存储的作用。

但是,HA集群中的虚拟机在使用一段时间后,由于用户数据的增加,虚
机的镜像大小会增长,如果HA集群中部署了大量的虚拟机,镜像大小的增长
是比较可观的,即使预留了足够大的空闲空间,也会出现空间不够用的时候,
此时就会出现虚机使用异常。

针对可能出现网络共享存储空间满的情况,管理员需要定期的进行检查,
在存储空间空闲率(空闲空间大小/总大小)小于预设的警戒低水位(比如20%)
时,对原先的网络共享存储进行扩容或增加新的网络共享存储,并将部分虚拟
机的存储迁移到新扩容的或新增的共享存储上。

但是,通过操作维护规范等主观上检查、规避和解决,没有在软件层面上
避免或自动提醒,出现问题的概率高。

发明内容

本发明提供了一种HA集群中虚拟机存储文件迁移方法及其装置,用以
降低由共享存储满而导致的虚拟机使用异常、业务中断的概率,提高系统的
稳定性。

为了达到以上目的,本发明实施例提供了一种高可用性HA集群中虚拟
机存储文件迁移方法,所述HA集群中包括虚拟机管理平台、物理主机和至
少两个共享存储,所述物理主机中运行有虚拟机,所述虚拟机的存储文件保
存在共享存储中,该方法包括:

虚拟机管理平台获取所述HA集群中的特定共享存储的当前空闲率;

当所述特定共享存储的当前空闲率低于第一阈值时,所述虚拟机管理平
台对所述特定共享存储进行虚拟机存储文件迁移操作。

其中,所述虚拟机管理平台对所述特定共享存储进行虚拟机存储文件迁
移操作之前,还包括:

所述虚拟机管理平台判断所述HA集群中是否存在当前空闲率大于第二
阈值的其他共享存储,并当判断为是时,确定执行对所述特定共享存储进行
虚拟机存储文件迁移操作的步骤;否则,不对所述特定共享存储进行虚拟机
存储文件迁移操作;其中,所述第二阈值大于所述第一阈值。

其中,所述虚拟机管理平台对所述特定共享存储进行虚拟机存储文件迁
移操作,具体包括以下步骤:

步骤A、所述虚拟机管理平台将当前空闲率大于第二阈值的其他共享存
储中,当前空闲率最高的共享存储确定为目标共享存储;

步骤B、所述虚拟机管理平台对所述特定共享存储进行虚拟机存储文件
迁移操作,迁移至目标共享存储。

其中,所述步骤B,具体包括:

步骤B0、确定所述特定共享存储中,存储文件实际大小不超过所述目标
共享存储的可用空间的各个虚拟机的迁移优先级;

步骤B1、所述虚拟机管理平台根据所述特定共享存储中的虚拟机的迁移
优先级,将迁移优先级最高的虚拟机的存储文件迁移到所述目标共享存储;

步骤B2、所述虚拟机管理平台判断进行虚拟机存储文件迁移操作后的所
述特定共享存储的当前空闲率是否低于所述第一阈值;若判断为是,则转至
步骤A;否则,结束当前流程;

其中,未处于运行状态的虚拟机的迁移优先级高于处于运行状态的虚拟
机;未处于运行状态的虚拟机的迁移优先级与其存储文件的实际大小正相关;
处于运行状态的虚拟机的迁移优先级,与该虚拟机的虚拟大小及实际空间占
用率均呈正相关。

其中,进一步根据以下公式确定处于运行状态的虚拟机i的迁移优先级:

虚拟机i的迁移优先级=a*vSize i/vSize Max+b*虚拟机i的占用率

其中,vSize i为虚拟机i的虚拟大小,vSize Max为所述特定共享存储中
虚拟机的虚拟大小的最大值,虚拟机i的占用率为虚拟机i的实际存储大小与
虚拟大小的比值,a和b为不大于1的非负数,且a+b=1。

其中,预先将HA集群中的所有共享存储均挂载到各个物理主机,且每
个共享存储在不同物理主机下挂载目录的全路径名称相同。

本发明实施例还提供了一种虚拟机管理平台,应用于包括物理主机和至
少两个共享存储的高可用性HA集群,所述物理主机中运行有虚拟机,所述
虚拟机的存储文件保存在该共享存储中,该虚拟机管理平台包括:

获取模块,用于获取所述HA集群中的特定共享存储的当前空闲率;

处理模块,用于当所述特定共享存储的当前空闲率低于第一阈值时,对
所述特定共享存储进行虚拟机存储文件迁移操作。

其中,还包括:

判断模块,用于判断所述HA集群中是否存在当前空闲率大于第二阈值
的其他共享存储;

所述处理模块具体用于,当所述判断模块判断为是时,对所述特定共享
存储进行虚拟机存储文件迁移操作;当所述判断模块判断为否时,不对所述
特定共享存储进行虚拟机存储文件迁移操作;其中,所述第二阈值大于所述
第一阈值。

其中,所述处理模块具体用于,通过以下步骤实现对所述特定共享存储
进行虚拟机存储文件迁移操作:

步骤A、将当前空闲率大于第二阈值的其他共享存储中,当前空闲率最
高的共享存储确定为目标共享存储;

步骤B、对所述特定共享存储进行虚拟机存储文件迁移操作,迁移至目
标共享存储。

其中,所述处理模块具体用于,通过以下步骤实现所述步骤B:

步骤B0、确定所述特定共享存储中,存储文件实际大小不超过所述目标
共享存储的可用空间的各个虚拟机的迁移优先级;

步骤B1、根据所述特定共享存储中的虚拟机的迁移优先级,将迁移优先
级最高的虚拟机迁移的存储文件到所述目标共享存储;

步骤B2、判断进行虚拟机存储文件迁移操作后的所述特定共享存储的当
前空闲率是否低于所述第一阈值;若判断为是,则转至步骤A;否则,结束
当前流程;

其中,未处于运行状态的虚拟机的迁移优先级高于处于运行状态的虚拟
机;未处于运行状态的虚拟机的迁移优先级与其存储文件的实际大小正相关;
处于运行状态的虚拟机的迁移优先级,与该虚拟机的虚拟大小及实际空间占
用率均呈正相关。

其中,所述处理模块具体用于,进一步根据以下公式确定处于运行状态
的虚拟机i的迁移优先级:

虚拟机i的迁移优先级=a*vSize i/vSize Max+b*虚拟机i的占用率

其中,vSize i为虚拟机i的虚拟大小,vSize Max为所述特定共享存储中
虚拟机的虚拟大小的最大值,虚拟机i的占用率为虚拟机i的实际存储大小与
虚拟大小的比值,a和b为不大于1的非负数,且a+b=1。

本发明上述实施例中,虚拟机管理平台可以获取HA集群中特定共享存储
的当前空闲率,并当该特定共享存储的当前空闲率低于第一阈值时,虚拟机管
理平台对特定共享存储进行虚拟机存储文件迁移操作,有效地降低了由于共享
存储满而导致的虚拟机使用异常、业务中断的概率,提高了系统的稳定性。

附图说明

图1为现有技术中的一种虚拟机集群的组网示意图;

图2为本发明实施例提供的一种HA集群中虚拟机存储文件迁移方法的流
程示意图;

图3为本发明实施例提供的一种虚拟机管理平台的结构示意图。

具体实施方式

针对上述现有技术的问题,本申请实施例提供了一种HA集群中虚拟机存
储文件迁移的技术方案。在该技术方案中,HA集群中包括虚拟机管理平台、
物理主机和至少两个共享存储,虚拟机管理平台可以获取HA集群中特定共享
存储的当前空闲率,并当该特定共享存储的当前空闲率低于第一阈值时,虚拟
机管理平台对特定共享存储进行虚拟机存储文件迁移操作,有效地降低了由于
共享存储满而导致的虚拟机使用异常、业务中断的概率,提高了系统的稳定性。

其中,虚拟机存储文件可以包括该虚拟机挂载的一个或多个镜像文件。

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

如图2所示,为本发明实施例提供的一种HA集群中虚拟机存储文件迁移
方法的流程示意图,可以包括以下步骤:

步骤201、虚拟机管理平台获取HA集群中的特定共享存储的当前空闲率。

具体的,在本发明实施例中,可以预先在虚拟机管理平台中配置需要进行
定期检查空闲率的共享存储。虚拟机管理平台可以根据该配置定期对特定共享
存储(预先配置为需要定期检测空闲率的共享存储)的空闲率进行检测,获取
该特定共享存储的当前空闲率。

步骤202、当该特定共享存储的当前空闲率低于第一阈值时,虚拟机管理
平台对特定共享存储进行虚拟机存储文件迁移操作。

具体的,在本发明实施例中,可以预先设定触发虚拟机管理平台自动进行
虚拟机存储文件迁移操作的空闲率警戒低水位(第一阈值)。虚拟机管理平台
获取到特定共享存储的当前空闲率时,可以判断该特定共享存储的当前空闲率
是否低于第一阈值,并当判断结果为是时,确定需要对该特定共享存储进行虚
拟机存储文件迁移操作,否则,确定不需要对该特定共享存储进行虚拟机存储
文件迁移操作,此时,虚拟机管理平台可以在下一个检测周期继续对该特定共
享存储的空闲率进行检测。

进一步地,为了降低虚拟机存储文件迁移操作,对虚拟机存储文件迁移的
目标共享存储自身性能的影响,在本发明实施例中,可以预先设定一个共享存
储允许迁入的空闲率阈值(第二阈值),即只有当共享存储的空闲率高于该第
二阈值时,该共享存储才能被选为虚拟机存储文件迁移的目标共享存储。

相应地,虚拟管理平台在确定特定共享存储的当前空闲率低于第一阈值
时,还需要先判断HA集群中是否存在当前空闲率大于第二阈值的其他共享存
储,并当判断为是时,确定执行对该特定共享存储进行虚拟机存储文件迁移操
作的步骤;否则,则认为当前不存在可用的目标共享存储,不对该特定共享存
储进行虚拟机存储文件迁移操作,在该情况下,虚拟机管理平台可以发出无可
用目标共享存储的告警信息;其中,第二阈值大于第一阈值。

当虚拟机管理平台确定当前存在可用的目标共享存储时,虚拟机管理平台
对特定共享存储进行虚拟机存储文件迁移操作,具体可以包括以下步骤:

步骤A、虚拟机管理平台将当前空闲率大于第二阈值的其他共享存储中,
当前空闲率最高的共享存储确定为目标共享存储;

步骤B、虚拟机管理平台对该特定共享存储进行虚拟机存储文件迁移操作,
迁移至目标共享存储。

其中,步骤B可以具体包括:

步骤B0、确定所述特定共享存储中,存储文件实际大小不超过所述目标
共享存储的可用空间的各个虚拟机的迁移优先级;

步骤B1、虚拟机管理平台根据该特定共享存储中的虚拟机的迁移优先级,
将迁移优先级最高的虚拟机的存储文件迁移到该目标共享存储;

步骤B2、虚拟机管理平台判断进行虚拟机存储文件迁移操作后的特定共
享存储的当前空闲率是否低于第一阈值,若判断为是,则转至步骤A;否则,
结束当前流程。

在本发明实施例中,为了保证虚拟机存储文件迁移能够正常进行,在确定
了目标共享存储之后,需要选择该特定共享存储中实际存储大小不超过该目标
共享存储的可用空间大小的虚拟机作为候选的待迁移虚拟机。例如,假设目标
共享存储的可用空间大小为100G,则候选的待迁移虚拟机的实际存储大小不
能超过100G。

优选地,在特定共享存储中,未处于运行状态的虚拟机的迁移优先级高于
处于运行状态的虚拟机;未处于运行状态的虚拟机的迁移优先级与其存储文件
的实际大小正相关,即实际存储大小越大的虚拟机,迁移优先级越高;处于运
行状态的虚拟机的迁移优先级,与该虚拟机的虚拟大小及实际空间占用率均呈
正相关。

其中,可以进一步根据以下公式确定处于运行状态的虚拟机i的迁移优先
级:

虚拟机i的迁移优先级=a*vSize i/vSize Max+b*虚拟机i的占用率

其中,vSize i为虚拟机i的虚拟大小,vSize Max为所述特定共享存储中
虚拟机的虚拟大小的最大值,虚拟机i的占用率为虚拟机i的实际存储大小与
虚拟大小的比值,a和b为不大于1的非负数,且a+b=1。

其中,虚拟机的虚拟大小即为实际创建虚拟机存储时指定的最大空间;实
际存储大小即为虚拟机存储文件实际使用的空间。

应该认识到,上述确定目标共享存储,以及确定特定共享存储中实际迁移
的虚拟机的方案仅仅是本发明实施例提供的技术方案的一种具体实现,其并不
是对本发明保护范围的限定,即本发明实施例提供的技术方案中,确定目标共
享存储,以及确定特定共享存储中实际迁移的虚拟机也可以通过其他方案实
现。例如,在确定目标共享存储时,可以在当前空闲率大于第二阈值的其他共
享存储中随机选择或轮询选择;在确定特定共享存储中实际迁移的虚拟机时,
也可以在该特定共享存储中实际存储大小不超过目标共享存储的可用空间大
小的虚拟机中随机选择或轮询选择,虚拟机的迁移优先级也可以直接由虚拟机
的实际存储大小确定等,其具体实现,在此不再赘述。

优选地,在本发明实施例中,还可以预先设定触发虚拟机管理平台进行告
警的空闲率警戒低水位(第三阈值),该第三阈值大于第一阈值。当虚拟机管
理平台确定特定共享存储的当前空闲率低于第三阈值,且高于第一阈值时,该
虚拟机管理平台可以进行告警,以便管理员及其采取相应措施,如对存储及时
进行扩容,避免出现异常。

为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结
合具体的应用场景对本发明实施例提供的技术方案进行描述。

1、系统组网

以图1所示组网为例,三台物理主机在一个HA集群中(为了简化,这里
仅仅以三台物理主机组成的HA集群为例,实际组网中的物理主机节点个数可
以灵活的弹性伸展),各物理主机上运行基于Linux(操作系统)的qemu-kvm
(命令行虚拟系统常用参数)虚拟化平台,每个物理主机上运行多个虚拟机,
各虚拟机上分别跑不同的业务(比如,DataBase server(数据库服务器)、web 
server(网页服务器),file server(文件服务器),mail server(邮件服务器)等)。

虚拟机管理平台对集群内的所有物理服务器主机进行管理,包括增加、删
除物理主机;启用或禁用HA高可用性功能等。各物理主机上通过libvirt(软
件名称)虚拟化中间件与qemu-kvm配合来实现增加、删除、暂停、迁移虚拟
机等所有与虚拟机生命周期的管理。

在该实施例中,集群启用HA时,有如下几点要求,以确保虚拟机可以在
HA集群中的所有物理主机上随意迁移成功:

1)、集群中的所有主机都必须mount一个共享的网络存储,且mount的目
标目录名必须一直,比如都是/vms/target100;

2)、集群中的所有主机都必须创建相同名称的虚拟交换机;

3)、虚拟机的镜像文件必须都保存在共享的网络存储中;

4)、启动HA时,需要将libvirt可识别的虚拟机的定义文件同步到HA集
群中的所有物理主机上并通过virsh define命令定义成功。

2、物理主机

运行基于Linux的qemu-kvm虚拟化平台,运行libvirt等虚拟化中间件,
运行corosync+pacemker等HA集群软件,是虚拟机、虚拟交换机、存储的载
体。

虚拟机管理平台通过SSH(Secure Shell Protocol,安全外壳协议)等远程
工具来管理物理主机。

3、虚拟机管理平台

实现对所有物理主机,物理主机上运行的虚拟机、虚拟交换机,存储等资
源的统一管理。以下重点对与本发明相关的主要功能说明如下:

1)、物理主机管理

实现对物理主机的增加、删除等操作。

2)、集群HA管理

通过SSH工具远程管理各个物理主机上的corosync+pacemaker的配置,
服务启停等,实现HA启用或停止功能。

3)、网络共享存储管理

增加、删除、暂停和启动集群使用的网络共享存储;

网络共享存储用于存放虚拟机的镜像文件,且HA集群中的所有虚机的所
有镜像文件都需要保存到网络共享存储上,网络共享存储使用mount命令
mount到本地(比如/vms/target18),操作系统使用网络存储就好比使用本地存
储一样。

4)、存储空闲率定期检测

在管理台上启动一个定时任务,定期的检测所预置的需要检测的共享存储
(比如/vms/target16、/vms/target18),且可以配置各共享存储的预设的空闲率
警戒低水位II(即第一阈值)、空闲率警戒低水位I(即第三阈值)的阈值(可
不配置,不配置时使用默认值分别20%、30%),定时任务依据这些配置定期
检测并做出后续动作。

基于上述系统组网,该实施例中的虚拟机存储文件迁移方案可以包括以下
流程:

1、共享存储空间使用率(或空闲率)检测流程

虚拟机管理平台的检测模块可以维护用于记录各个共享存储的基本信息
以及空闲率的表格,其格式可以如表1所示:

表1


虚拟机管理平台启动时,启动一个定时任务线程,该线程的到时处理流程
如下:

1)、当前是否有配置需要定期检测空闲率的共享存储,如果有则转步骤2)
处理,否则,结束本次检测处理,等待定时器下次超时。

2)、对已配置的需要定期检测空闲率的每个共享存储,假设预置的空闲率
警戒低水位II、空闲率警戒低水位I的阈值分别为p2、p1(一般p1>p2),做如
下操作:

a)、获取当前共享存储的已使用大小、可用大小、使用率pUsedNow,更
新表1中相应列内容;

b)、在步骤a)的基础上获取当前共享存储的当前空闲率pFreeNow,即
pFreeNow=1-pUsedNow,更新表1中相应列内容;

c)、若pFreeNow<=p1,则向系统写空闲率低于空闲率警戒低水位I的告
警信息,及时向管理员发出告警,以便及时采取措施

d)若pFreeNow<=p2,则向虚拟机管理平台的迁移模块发消息,触发迁
移模块对使用该共享存储的虚拟机进行虚拟机存储文件迁移操作。

2、虚拟机存储文件迁移流程

虚拟机管理平台的迁移模块在接收到来自检测模块的触发迁移的消息(消
息中携带了需要迁移的源共享存储的名称,比如/vms/target18)时,按照如下
步骤操作:

1)、检查表1中的除了当前共享存储外的其他共享存储,如果没有其他的
共享存储,则发出无可用迁移目的存储的告警信息,结束操作;若有其他的共
享存储,则转至步骤2);

2)、从其他共享存储中挑选一个空闲率最高且当前空闲率大于“允许迁入
空闲率”的共享存储,如果没有找到满足条件的共享存储则发出无可用迁移目
的存储的告警信息,结束操作;若找到,则转至步骤3);

3)、找到满足步骤2)条件的共享存储/vms/targetX,则从虚拟管理平台的
虚拟机管理信息中查找所有使用该共享存储(/vms/target18)的虚拟机,对这些虚
拟机分别做如下计算并填充表2:

通过qemu-img info命令查看虚拟机镜像使用情况,填充表2中除了迁移
优先级一列的所有列内容,如果虚拟机有多个镜像,则填写多行。

表2


其中,是否运行状态为1的虚拟机为处于运行状态的虚拟机,是否运行状
态为0的虚拟机为处于未运行状态的虚拟机。

4)、对表2中的所有“是否运行状态”1的虚拟机,进行如下计算:

获取“虚拟大小”一列的最大值为vSize Max,则

迁移优先级=“虚拟大小”一列的值/vSizeMax*0.4+“占用率”一列的
值*0.6

对于处于运行状态且有多块磁盘镜像的,按照加和平均的方式获取该虚拟
机的最终的迁移优先级,比如vm1有三块磁盘,且该vm1处于运行状态,且
三块磁盘按照以上方法计算出来的迁移优先级分别为a、b和c,则vm1的最
终的迁移优先级为(a+b+c)/3;

5)、决策需要迁移存储的虚拟机:

获取“是否运行状态”一列为0,且“实际大小”一列为最大,且不超过
目标共享存储的可用空间大小的虚拟机vma,执行虚拟机存储文件迁移操作,
目标共享存储为/vms/targetX,迁移完成后将该虚拟机从表2中删除;如果表2
中找不到“是否运行状态”一列为0的行,则寻找“是否运行状态”一列为1、
迁移优先级最大,且实际大小不超过目标共享存储的可用空间大小的一个虚拟
机的存储文件进行迁移,迁移完成后将该虚拟机从表2中删除;

6)、检测源共享存储/vms/target18的当前空闲率,如果当前空闲率高于空
闲率警戒低水位II,则结束本次迁移存储流程,否则转步骤1),继续迁移。

通过以上描述可以看出,在本发明实施例提供的技术方案中,虚拟机管理
平台可以获取HA集群中特定共享存储的当前空闲率,并当该特定共享存储的
当前空闲率低于第一阈值时,虚拟机管理平台对特定共享存储进行虚拟机存储
文件迁移操作,有效地降低了由于共享存储满而导致的虚拟机使用异常、业务
中断的概率,提高了系统的稳定性。

如图3所示,为本发明实施例提供的一种虚拟机管理平台的结构示意图,
该虚拟机管理平台应用于包括至少两个共享存储的高可用性HA集群,该虚拟
机管理平台可以包括:

获取模块31,用于获取所述HA集群中的特定共享存储的当前空闲率;

处理模块32,用于当所述特定共享存储的当前空闲率低于第一阈值时,对
所述特定共享存储进行虚拟机存储文件迁移操作。

其中,还包括:

判断模块33,用于判断所述HA集群中是否存在当前空闲率大于第二阈值
的其他共享存储;

所述处理模块32具体用于,当所述判断模块判断为是时,对所述特定共
享存储进行虚拟机存储文件迁移操作;当所述判断模块判断为否时,不对所述
特定共享存储进行虚拟机存储文件迁移操作;其中,所述第二阈值大于所述第
一阈值。

其中,所述处理模块32具体用于,通过以下步骤实现对所述特定共享存
储进行虚拟机存储文件迁移操作:

步骤A、将当前空闲率大于第二阈值的其他共享存储中,当前空闲率最高
的共享存储确定为目标共享存储;

步骤B、对所述特定共享存储进行虚拟机文件存储迁移操作,迁移至目标
共享存储。

其中,所述处理模块具体用于,通过以下步骤实现所述步骤B:

步骤B0、确定所述特定共享存储中,存储文件实际大小不超过所述目标
共享存储的可用空间的各个虚拟机的迁移优先级;

步骤B1、根据所述特定共享存储中的虚拟机的迁移优先级,将迁移优先
级最高的虚拟机的存储文件迁移到所述目标共享存储;

步骤B2、判断进行虚拟机存储文件迁移操作后的所述特定共享存储的当
前空闲率是否低于所述第一阈值;若判断为是,则转至步骤A;否则,结束当
前流程;

其中,未处于运行状态的虚拟机的迁移优先级高于处于运行状态的虚拟
机;未处于运行状态的虚拟机的迁移优先级与其存储文件的实际大小正相关;
处于运行状态的虚拟机的迁移优先级,与该虚拟机的虚拟大小及实际空间占用
率均呈正相关。

其中,所述处理模块32具体用于,进一步根据以下公式确定处于运行状
态的虚拟机i的迁移优先级:

虚拟机i的迁移优先级=a*vSize i/vSize Max+b*虚拟机i的占用率

其中,vSize i为虚拟机i的虚拟大小,vSize Max为所述特定共享存储中
虚拟机的虚拟大小的最大值,虚拟机i的占用率为虚拟机i的实际存储大小与
虚拟大小的比值,a和b为不大于1的非负数,且a+b=1。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明
可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很
多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上
或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机
软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以
是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述
的方法。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通
技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,
这些改进和润饰也应视本发明的保护范围。

一种HA集群中虚拟机存储文件迁移方法及其装置.pdf_第1页
第1页 / 共14页
一种HA集群中虚拟机存储文件迁移方法及其装置.pdf_第2页
第2页 / 共14页
一种HA集群中虚拟机存储文件迁移方法及其装置.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种HA集群中虚拟机存储文件迁移方法及其装置.pdf》由会员分享,可在线阅读,更多相关《一种HA集群中虚拟机存储文件迁移方法及其装置.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103810038 A (43)申请公布日 2014.05.21 CN 103810038 A (21)申请号 201410035243.9 (22)申请日 2014.01.24 G06F 9/48(2006.01) G06F 9/455(2006.01) H04L 29/08(2006.01) (71)申请人 杭州华三通信技术有限公司 地址 310053 浙江省杭州市高新技术产业开 发区之江科技工业园六和路 310 号华 为杭州生产基地 (72)发明人 蔡志峰 (74)专利代理机构 北京鑫媛睿博知识产权代理 有限公司 11297 代理人 龚家骅 (54) 发明名称 。

2、一种 HA 集群中虚拟机存储文件迁移方法及 其装置 (57) 摘要 本发明公开了一种 HA 集群中虚拟机存储文 件迁移方法及其装置, 该方法包括 : 虚拟机管理 平台获取所述 HA 集群中的特定共享存储的当前 空闲率 ; 当所述特定共享存储的当前空闲率低于 第一阈值时, 所述虚拟机管理平台对所述特定共 享存储进行虚拟机存储文件迁移操作。在本发明 中, 有效地降低了由于共享存储满而导致的虚拟 机使用异常、 业务中断的概率, 提高了系统的稳定 性。 (51)Int.Cl. 权利要求书 2 页 说明书 9 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 。

3、说明书9页 附图2页 (10)申请公布号 CN 103810038 A CN 103810038 A 1/2 页 2 1.一种高可用性HA集群中虚拟机存储文件迁移方法, 其特征在于, 所述HA集群中包括 虚拟机管理平台、 物理主机和至少两个共享存储, 所述物理主机中运行有虚拟机, 所述虚拟 机的存储文件保存在共享存储中, 该方法包括 : 虚拟机管理平台获取所述 HA 集群中的特定共享存储的当前空闲率 ; 当所述特定共享存储的当前空闲率低于第一阈值时, 所述虚拟机管理平台对所述特定 共享存储进行虚拟机存储文件迁移操作。 2. 如权利要求 1 所述的方法, 其特征在于, 所述虚拟机管理平台对所述特。

4、定共享存储 进行虚拟机存储文件迁移操作之前, 还包括 : 所述虚拟机管理平台判断所述 HA 集群中是否存在当前空闲率大于第二阈值的其他共 享存储, 并当判断为是时, 确定执行对所述特定共享存储进行虚拟机存储文件迁移操作的 步骤 ; 否则, 不对所述特定共享存储进行虚拟机存储文件迁移操作 ; 其中, 所述第二阈值大 于所述第一阈值。 3.如权利要求1或2所述的方法, 其特征在于, 所述虚拟机管理平台对所述特定共享存 储进行虚拟机存储文件迁移操作, 具体包括以下步骤 : 步骤 A、 所述虚拟机管理平台将当前空闲率大于第二阈值的其他共享存储中, 当前空闲 率最高的共享存储确定为目标共享存储 ; 步骤。

5、 B、 所述虚拟机管理平台对所述特定共享存储进行虚拟机存储文件迁移操作, 迁移 至目标共享存储。 4. 如权利要求 3 所述的方法, 其特征在于, 所述步骤 B, 具体包括 : 步骤 B0、 确定所述特定共享存储中, 存储文件实际大小不超过所述目标共享存储的可 用空间的各个虚拟机的迁移优先级 ; 步骤 B1、 所述虚拟机管理平台根据所述特定共享存储中的虚拟机的迁移优先级, 将迁 移优先级最高的虚拟机的存储文件迁移到所述目标共享存储 ; 步骤 B2、 所述虚拟机管理平台判断进行虚拟机存储文件迁移操作后的所述特定共享存 储的当前空闲率是否低于所述第一阈值 ; 若判断为是, 则转至步骤 A ; 否则。

6、, 结束当前流程 ; 其中, 未处于运行状态的虚拟机的迁移优先级高于处于运行状态的虚拟机 ; 未处于运 行状态的虚拟机的迁移优先级与其存储文件的实际大小正相关 ; 处于运行状态的虚拟机的 迁移优先级, 与该虚拟机的虚拟大小及实际空间占用率均呈正相关。 5. 如权利要求 4 所述的方法, 其特征在于, 进一步根据以下公式确定处于运行状态的 虚拟机 i 的迁移优先级 : 虚拟机 i 的迁移优先级 =a*vSize i/vSize Max+b* 虚拟机 i 的占用率 其中, vSize i 为虚拟机 i 的虚拟大小, vSize Max 为所述特定共享存储中虚拟机的虚 拟大小的最大值, 虚拟机 i 。

7、的占用率为虚拟机 i 的实际存储大小与虚拟大小的比值, a 和 b 为不大于 1 的非负数, 且 a+b=1。 6. 如权利要求 1 所述的方法, 其特征在于, 预先将 HA 集群中的所有共享存储均挂载到各个物理主机, 且每个共享存储在不同物 理主机下挂载目录的全路径名称相同。 7. 一种虚拟机管理平台, 其特征在于, 应用于包括物理主机和至少两个共享存储的高 可用性 HA 集群, 所述物理主机中运行有虚拟机, 所述虚拟机的存储文件保存在该共享存储 权 利 要 求 书 CN 103810038 A 2 2/2 页 3 中, 该虚拟机管理平台包括 : 获取模块, 用于获取所述 HA 集群中的特定。

8、共享存储的当前空闲率 ; 处理模块, 用于当所述特定共享存储的当前空闲率低于第一阈值时, 对所述特定共享 存储进行虚拟机存储文件迁移操作。 8. 如权利要求 7 所述的虚拟机管理平台, 其特征在于, 还包括 : 判断模块, 用于判断所述 HA 集群中是否存在当前空闲率大于第二阈值的其他共享存 储 ; 所述处理模块具体用于, 当所述判断模块判断为是时, 对所述特定共享存储进行虚拟 机存储文件迁移操作 ; 当所述判断模块判断为否时, 不对所述特定共享存储进行虚拟机存 储文件迁移操作 ; 其中, 所述第二阈值大于所述第一阈值。 9. 如权利要求 7 或 8 所述的虚拟机管理平台, 其特征在于, 所述。

9、处理模块具体用于, 通 过以下步骤实现对所述特定共享存储进行虚拟机存储文件迁移操作 : 步骤 A、 将当前空闲率大于第二阈值的其他共享存储中, 当前空闲率最高的共享存储确 定为目标共享存储 ; 步骤 B、 对所述特定共享存储进行虚拟机存储文件迁移操作, 迁移至目标共享存储。 10. 如权利要求 9 所述的虚拟机管理平台, 其特征在于, 所述处理模块具体用于, 通过 以下步骤实现所述步骤 B : 步骤 B0、 确定所述特定共享存储中, 存储文件实际大小不超过所述目标共享存储的可 用空间的各个虚拟机的迁移优先级 ; 步骤 B1、 根据所述特定共享存储中的虚拟机的迁移优先级, 将迁移优先级最高的虚拟。

10、 机的存储文件迁移到所述目标共享存储 ; 步骤 B2、 判断进行虚拟机存储文件迁移操作后的所述特定共享存储的当前空闲率是否 低于所述第一阈值 ; 若判断为是, 则转至步骤 A ; 否则, 结束当前流程 ; 其中, 未处于运行状态的虚拟机的迁移优先级高于处于运行状态的虚拟机 ; 未处于运 行状态的虚拟机的迁移优先级与其存储文件的实际大小正相关 ; 处于运行状态的虚拟机的 迁移优先级, 与该虚拟机的虚拟大小及实际空间占用率均呈正相关。 11. 如权利要求 10 所述的虚拟机管理平台, 其特征在于, 所述处理模块具体用于, 进一 步根据以下公式确定处于运行状态的虚拟机 i 的迁移优先级 : 虚拟机 。

11、i 的迁移优先级 =a*vSize i/vSize Max+b* 虚拟机 i 的占用率 其中, vSize i 为虚拟机 i 的虚拟大小, vSize Max 为所述特定共享存储中虚拟机的虚 拟大小的最大值, 虚拟机 i 的占用率为虚拟机 i 的实际存储大小与虚拟大小的比值, a 和 b 为不大于 1 的非负数, 且 a+b=1。 权 利 要 求 书 CN 103810038 A 3 1/9 页 4 一种 HA 集群中虚拟机存储文件迁移方法及其装置 技术领域 0001 本发明涉及通信技术领域, 尤其涉及一种 HA 集群中虚拟机存储文件迁移方法及 其装置。 背景技术 0002 参见图 1, 使用。

12、 corosync+pacemaker 可以方便地搭建虚拟机集群, 即将虚拟机作 为pacemaker的一个资源进行管理, 资源的启动或停止状态由pacemake对外提供的配置信 息进行控制。 0003 为了方便虚拟机在集群中的各个主机之间迁移, 一般将虚拟机的镜像文件存放在 网络共享文件系统中, 并在集群中的所有主机上都 mount(挂载) 上该共享文件系统, 即确 保集群中的所有物理主机都可以访问到该共享文件系统, 且 mount 到物理主机上的目标目 录名称一致。 0004 在 HA(High Availability, 高可用性) 集群中, 能够做到将集群中的多个物理主 机统一管理、 。

13、将集群中的所有资源统一管理, 并为资源指定默认的运行位置信息。 0005 一般地, 实际组网中的共享存储可以是多个, 且连接到存储的实际网络一般是多 个链路聚合 (bond) , 即物理服务器连接到物理存储一般是两个或两个以上的链路聚合, 存 储设备连接到存储网络的物理链路一般也是两个或两个以上链路聚合, 这样可以有效的抵 御单点故障造成的影响。 0006 每个共享存储分别mount到HA集群中的各个物理主机上, 这多个共享存储起到分 担数据存储的作用。 0007 但是, HA 集群中的虚拟机在使用一段时间后, 由于用户数据的增加, 虚机的镜像大 小会增长, 如果 HA 集群中部署了大量的虚拟。

14、机, 镜像大小的增长是比较可观的, 即使预留 了足够大的空闲空间, 也会出现空间不够用的时候, 此时就会出现虚机使用异常。 0008 针对可能出现网络共享存储空间满的情况, 管理员需要定期的进行检查, 在存储 空间空闲率 (空闲空间大小 / 总大小) 小于预设的警戒低水位 (比如 20%) 时, 对原先的网络 共享存储进行扩容或增加新的网络共享存储, 并将部分虚拟机的存储迁移到新扩容的或新 增的共享存储上。 0009 但是, 通过操作维护规范等主观上检查、 规避和解决, 没有在软件层面上避免或自 动提醒, 出现问题的概率高。 发明内容 0010 本发明提供了一种 HA 集群中虚拟机存储文件迁移。

15、方法及其装置, 用以降低由共 享存储满而导致的虚拟机使用异常、 业务中断的概率, 提高系统的稳定性。 0011 为了达到以上目的, 本发明实施例提供了一种高可用性 HA 集群中虚拟机存储文 件迁移方法, 所述 HA 集群中包括虚拟机管理平台、 物理主机和至少两个共享存储, 所述物 理主机中运行有虚拟机, 所述虚拟机的存储文件保存在共享存储中, 该方法包括 : 说 明 书 CN 103810038 A 4 2/9 页 5 0012 虚拟机管理平台获取所述 HA 集群中的特定共享存储的当前空闲率 ; 0013 当所述特定共享存储的当前空闲率低于第一阈值时, 所述虚拟机管理平台对所述 特定共享存储进。

16、行虚拟机存储文件迁移操作。 0014 其中, 所述虚拟机管理平台对所述特定共享存储进行虚拟机存储文件迁移操作之 前, 还包括 : 0015 所述虚拟机管理平台判断所述 HA 集群中是否存在当前空闲率大于第二阈值的其 他共享存储, 并当判断为是时, 确定执行对所述特定共享存储进行虚拟机存储文件迁移操 作的步骤 ; 否则, 不对所述特定共享存储进行虚拟机存储文件迁移操作 ; 其中, 所述第二阈 值大于所述第一阈值。 0016 其中, 所述虚拟机管理平台对所述特定共享存储进行虚拟机存储文件迁移操作, 具体包括以下步骤 : 0017 步骤 A、 所述虚拟机管理平台将当前空闲率大于第二阈值的其他共享存储。

17、中, 当前 空闲率最高的共享存储确定为目标共享存储 ; 0018 步骤 B、 所述虚拟机管理平台对所述特定共享存储进行虚拟机存储文件迁移操作, 迁移至目标共享存储。 0019 其中, 所述步骤 B, 具体包括 : 0020 步骤 B0、 确定所述特定共享存储中, 存储文件实际大小不超过所述目标共享存储 的可用空间的各个虚拟机的迁移优先级 ; 0021 步骤 B1、 所述虚拟机管理平台根据所述特定共享存储中的虚拟机的迁移优先级, 将迁移优先级最高的虚拟机的存储文件迁移到所述目标共享存储 ; 0022 步骤 B2、 所述虚拟机管理平台判断进行虚拟机存储文件迁移操作后的所述特定共 享存储的当前空闲率。

18、是否低于所述第一阈值 ; 若判断为是, 则转至步骤 A ; 否则, 结束当前 流程 ; 0023 其中, 未处于运行状态的虚拟机的迁移优先级高于处于运行状态的虚拟机 ; 未处 于运行状态的虚拟机的迁移优先级与其存储文件的实际大小正相关 ; 处于运行状态的虚拟 机的迁移优先级, 与该虚拟机的虚拟大小及实际空间占用率均呈正相关。 0024 其中, 进一步根据以下公式确定处于运行状态的虚拟机 i 的迁移优先级 : 0025 虚拟机 i 的迁移优先级 =a*vSize i/vSize Max+b* 虚拟机 i 的占用率 0026 其中, vSize i 为虚拟机 i 的虚拟大小, vSize Max 。

19、为所述特定共享存储中虚拟机 的虚拟大小的最大值, 虚拟机 i 的占用率为虚拟机 i 的实际存储大小与虚拟大小的比值, a 和 b 为不大于 1 的非负数, 且 a+b=1。 0027 其中, 预先将 HA 集群中的所有共享存储均挂载到各个物理主机, 且每个共享存储 在不同物理主机下挂载目录的全路径名称相同。 0028 本发明实施例还提供了一种虚拟机管理平台, 应用于包括物理主机和至少两个共 享存储的高可用性 HA 集群, 所述物理主机中运行有虚拟机, 所述虚拟机的存储文件保存在 该共享存储中, 该虚拟机管理平台包括 : 0029 获取模块, 用于获取所述 HA 集群中的特定共享存储的当前空闲率。

20、 ; 0030 处理模块, 用于当所述特定共享存储的当前空闲率低于第一阈值时, 对所述特定 共享存储进行虚拟机存储文件迁移操作。 说 明 书 CN 103810038 A 5 3/9 页 6 0031 其中, 还包括 : 0032 判断模块, 用于判断所述 HA 集群中是否存在当前空闲率大于第二阈值的其他共 享存储 ; 0033 所述处理模块具体用于, 当所述判断模块判断为是时, 对所述特定共享存储进行 虚拟机存储文件迁移操作 ; 当所述判断模块判断为否时, 不对所述特定共享存储进行虚拟 机存储文件迁移操作 ; 其中, 所述第二阈值大于所述第一阈值。 0034 其中, 所述处理模块具体用于, 。

21、通过以下步骤实现对所述特定共享存储进行虚拟 机存储文件迁移操作 : 0035 步骤 A、 将当前空闲率大于第二阈值的其他共享存储中, 当前空闲率最高的共享存 储确定为目标共享存储 ; 0036 步骤 B、 对所述特定共享存储进行虚拟机存储文件迁移操作, 迁移至目标共享存 储。 0037 其中, 所述处理模块具体用于, 通过以下步骤实现所述步骤 B : 0038 步骤 B0、 确定所述特定共享存储中, 存储文件实际大小不超过所述目标共享存储 的可用空间的各个虚拟机的迁移优先级 ; 0039 步骤 B1、 根据所述特定共享存储中的虚拟机的迁移优先级, 将迁移优先级最高的 虚拟机迁移的存储文件到所述。

22、目标共享存储 ; 0040 步骤 B2、 判断进行虚拟机存储文件迁移操作后的所述特定共享存储的当前空闲率 是否低于所述第一阈值 ; 若判断为是, 则转至步骤 A ; 否则, 结束当前流程 ; 0041 其中, 未处于运行状态的虚拟机的迁移优先级高于处于运行状态的虚拟机 ; 未处 于运行状态的虚拟机的迁移优先级与其存储文件的实际大小正相关 ; 处于运行状态的虚拟 机的迁移优先级, 与该虚拟机的虚拟大小及实际空间占用率均呈正相关。 0042 其中, 所述处理模块具体用于, 进一步根据以下公式确定处于运行状态的虚拟机 i 的迁移优先级 : 0043 虚拟机 i 的迁移优先级 =a*vSize i/v。

23、Size Max+b* 虚拟机 i 的占用率 0044 其中, vSize i 为虚拟机 i 的虚拟大小, vSize Max 为所述特定共享存储中虚拟机 的虚拟大小的最大值, 虚拟机 i 的占用率为虚拟机 i 的实际存储大小与虚拟大小的比值, a 和 b 为不大于 1 的非负数, 且 a+b=1。 0045 本发明上述实施例中, 虚拟机管理平台可以获取 HA 集群中特定共享存储的当前 空闲率, 并当该特定共享存储的当前空闲率低于第一阈值时, 虚拟机管理平台对特定共享 存储进行虚拟机存储文件迁移操作, 有效地降低了由于共享存储满而导致的虚拟机使用异 常、 业务中断的概率, 提高了系统的稳定性。。

24、 附图说明 0046 图 1 为现有技术中的一种虚拟机集群的组网示意图 ; 0047 图 2 为本发明实施例提供的一种 HA 集群中虚拟机存储文件迁移方法的流程示意 图 ; 0048 图 3 为本发明实施例提供的一种虚拟机管理平台的结构示意图。 说 明 书 CN 103810038 A 6 4/9 页 7 具体实施方式 0049 针对上述现有技术的问题, 本申请实施例提供了一种 HA 集群中虚拟机存储文件 迁移的技术方案。在该技术方案中, HA 集群中包括虚拟机管理平台、 物理主机和至少两个 共享存储, 虚拟机管理平台可以获取 HA 集群中特定共享存储的当前空闲率, 并当该特定共 享存储的当前。

25、空闲率低于第一阈值时, 虚拟机管理平台对特定共享存储进行虚拟机存储文 件迁移操作, 有效地降低了由于共享存储满而导致的虚拟机使用异常、 业务中断的概率, 提 高了系统的稳定性。 0050 其中, 虚拟机存储文件可以包括该虚拟机挂载的一个或多个镜像文件。 0051 下面将结合本发明的实施例中的附图, 对本发明的实施例中的技术方案进行清 楚、 完整的描述, 显然, 下面所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实 施例。基于本发明中的实施例, 本领域普通技术人员在没有付出创造性劳动前提下所获得 的所有其他实施例, 都属于本发明的实施例保护的范围。 0052 如图2所示, 为本发明实施例。

26、提供的一种HA集群中虚拟机存储文件迁移方法的流 程示意图, 可以包括以下步骤 : 0053 步骤 201、 虚拟机管理平台获取 HA 集群中的特定共享存储的当前空闲率。 0054 具体的, 在本发明实施例中, 可以预先在虚拟机管理平台中配置需要进行定期检 查空闲率的共享存储。虚拟机管理平台可以根据该配置定期对特定共享存储 (预先配置为 需要定期检测空闲率的共享存储) 的空闲率进行检测, 获取该特定共享存储的当前空闲率。 0055 步骤 202、 当该特定共享存储的当前空闲率低于第一阈值时, 虚拟机管理平台对特 定共享存储进行虚拟机存储文件迁移操作。 0056 具体的, 在本发明实施例中, 可以。

27、预先设定触发虚拟机管理平台自动进行虚拟机 存储文件迁移操作的空闲率警戒低水位 (第一阈值) 。虚拟机管理平台获取到特定共享存储 的当前空闲率时, 可以判断该特定共享存储的当前空闲率是否低于第一阈值, 并当判断结 果为是时, 确定需要对该特定共享存储进行虚拟机存储文件迁移操作, 否则, 确定不需要对 该特定共享存储进行虚拟机存储文件迁移操作, 此时, 虚拟机管理平台可以在下一个检测 周期继续对该特定共享存储的空闲率进行检测。 0057 进一步地, 为了降低虚拟机存储文件迁移操作, 对虚拟机存储文件迁移的目标共 享存储自身性能的影响, 在本发明实施例中, 可以预先设定一个共享存储允许迁入的空闲 率。

28、阈值 (第二阈值) , 即只有当共享存储的空闲率高于该第二阈值时, 该共享存储才能被选 为虚拟机存储文件迁移的目标共享存储。 0058 相应地, 虚拟管理平台在确定特定共享存储的当前空闲率低于第一阈值时, 还需 要先判断 HA 集群中是否存在当前空闲率大于第二阈值的其他共享存储, 并当判断为是时, 确定执行对该特定共享存储进行虚拟机存储文件迁移操作的步骤 ; 否则, 则认为当前不存 在可用的目标共享存储, 不对该特定共享存储进行虚拟机存储文件迁移操作, 在该情况下, 虚拟机管理平台可以发出无可用目标共享存储的告警信息 ; 其中, 第二阈值大于第一阈值。 0059 当虚拟机管理平台确定当前存在可。

29、用的目标共享存储时, 虚拟机管理平台对特定 共享存储进行虚拟机存储文件迁移操作, 具体可以包括以下步骤 : 0060 步骤 A、 虚拟机管理平台将当前空闲率大于第二阈值的其他共享存储中, 当前空闲 率最高的共享存储确定为目标共享存储 ; 说 明 书 CN 103810038 A 7 5/9 页 8 0061 步骤 B、 虚拟机管理平台对该特定共享存储进行虚拟机存储文件迁移操作, 迁移至 目标共享存储。 0062 其中, 步骤 B 可以具体包括 : 0063 步骤 B0、 确定所述特定共享存储中, 存储文件实际大小不超过所述目标共享存储 的可用空间的各个虚拟机的迁移优先级 ; 0064 步骤 B。

30、1、 虚拟机管理平台根据该特定共享存储中的虚拟机的迁移优先级, 将迁移 优先级最高的虚拟机的存储文件迁移到该目标共享存储 ; 0065 步骤 B2、 虚拟机管理平台判断进行虚拟机存储文件迁移操作后的特定共享存储的 当前空闲率是否低于第一阈值, 若判断为是, 则转至步骤 A ; 否则, 结束当前流程。 0066 在本发明实施例中, 为了保证虚拟机存储文件迁移能够正常进行, 在确定了目标 共享存储之后, 需要选择该特定共享存储中实际存储大小不超过该目标共享存储的可用 空间大小的虚拟机作为候选的待迁移虚拟机。例如, 假设目标共享存储的可用空间大小为 100G, 则候选的待迁移虚拟机的实际存储大小不能。

31、超过 100G。 0067 优选地, 在特定共享存储中, 未处于运行状态的虚拟机的迁移优先级高于处于运 行状态的虚拟机 ; 未处于运行状态的虚拟机的迁移优先级与其存储文件的实际大小正相 关, 即实际存储大小越大的虚拟机, 迁移优先级越高 ; 处于运行状态的虚拟机的迁移优先 级, 与该虚拟机的虚拟大小及实际空间占用率均呈正相关。 0068 其中, 可以进一步根据以下公式确定处于运行状态的虚拟机 i 的迁移优先级 : 0069 虚拟机 i 的迁移优先级 =a*vSize i/vSize Max+b* 虚拟机 i 的占用率 0070 其中, vSize i 为虚拟机 i 的虚拟大小, vSize M。

32、ax 为所述特定共享存储中虚拟机 的虚拟大小的最大值, 虚拟机 i 的占用率为虚拟机 i 的实际存储大小与虚拟大小的比值, a 和 b 为不大于 1 的非负数, 且 a+b=1。 0071 其中, 虚拟机的虚拟大小即为实际创建虚拟机存储时指定的最大空间 ; 实际存储 大小即为虚拟机存储文件实际使用的空间。 0072 应该认识到, 上述确定目标共享存储, 以及确定特定共享存储中实际迁移的虚拟 机的方案仅仅是本发明实施例提供的技术方案的一种具体实现, 其并不是对本发明保护范 围的限定, 即本发明实施例提供的技术方案中, 确定目标共享存储, 以及确定特定共享存储 中实际迁移的虚拟机也可以通过其他方案。

33、实现。 例如, 在确定目标共享存储时, 可以在当前 空闲率大于第二阈值的其他共享存储中随机选择或轮询选择 ; 在确定特定共享存储中实际 迁移的虚拟机时, 也可以在该特定共享存储中实际存储大小不超过目标共享存储的可用空 间大小的虚拟机中随机选择或轮询选择, 虚拟机的迁移优先级也可以直接由虚拟机的实际 存储大小确定等, 其具体实现, 在此不再赘述。 0073 优选地, 在本发明实施例中, 还可以预先设定触发虚拟机管理平台进行告警的空 闲率警戒低水位 (第三阈值) , 该第三阈值大于第一阈值。当虚拟机管理平台确定特定共享 存储的当前空闲率低于第三阈值, 且高于第一阈值时, 该虚拟机管理平台可以进行告。

34、警, 以 便管理员及其采取相应措施, 如对存储及时进行扩容, 避免出现异常。 0074 为了使本领域技术人员更好地理解本发明实施例提供的技术方案, 下面结合具体 的应用场景对本发明实施例提供的技术方案进行描述。 0075 1、 系统组网 说 明 书 CN 103810038 A 8 6/9 页 9 0076 以图1所示组网为例, 三台物理主机在一个HA集群中 (为了简化, 这里仅仅以三台 物理主机组成的HA集群为例, 实际组网中的物理主机节点个数可以灵活的弹性伸展) , 各物 理主机上运行基于 Linux(操作系统) 的 qemu-kvm(命令行虚拟系统常用参数) 虚拟化平台, 每个物理主机上。

35、运行多个虚拟机, 各虚拟机上分别跑不同的业务 (比如, DataBase server (数据库服务器) 、 web server(网页服务器) , file server(文件服务器) , mail server(邮 件服务器) 等) 。 0077 虚拟机管理平台对集群内的所有物理服务器主机进行管理, 包括增加、 删除物理 主机 ; 启用或禁用 HA 高可用性功能等。各物理主机上通过 libvirt (软件名称) 虚拟化中间 件与 qemu-kvm 配合来实现增加、 删除、 暂停、 迁移虚拟机等所有与虚拟机生命周期的管理。 0078 在该实施例中, 集群启用 HA 时, 有如下几点要求, 以。

36、确保虚拟机可以在 HA 集群中 的所有物理主机上随意迁移成功 : 0079 1) 、 集群中的所有主机都必须mount一个共享的网络存储, 且mount的目标目录名 必须一直, 比如都是 /vms/target100 ; 0080 2) 、 集群中的所有主机都必须创建相同名称的虚拟交换机 ; 0081 3) 、 虚拟机的镜像文件必须都保存在共享的网络存储中 ; 0082 4) 、 启动 HA 时, 需要将 libvirt 可识别的虚拟机的定义文件同步到 HA 集群中的所 有物理主机上并通过 virsh define 命令定义成功。 0083 2、 物理主机 0084 运行基于 Linux 的 。

37、qemu-kvm 虚拟化平台, 运行 libvirt 等虚拟化中间件, 运行 corosync+pacemker 等 HA 集群软件, 是虚拟机、 虚拟交换机、 存储的载体。 0085 虚拟机管理平台通过 SSH(Secure Shell Protocol, 安全外壳协议) 等远程工具 来管理物理主机。 0086 3、 虚拟机管理平台 0087 实现对所有物理主机, 物理主机上运行的虚拟机、 虚拟交换机, 存储等资源的统一 管理。以下重点对与本发明相关的主要功能说明如下 : 0088 1) 、 物理主机管理 0089 实现对物理主机的增加、 删除等操作。 0090 2) 、 集群 HA 管理 。

38、0091 通过SSH工具远程管理各个物理主机上的corosync+pacemaker的配置, 服务启停 等, 实现 HA 启用或停止功能。 0092 3) 、 网络共享存储管理 0093 增加、 删除、 暂停和启动集群使用的网络共享存储 ; 0094 网络共享存储用于存放虚拟机的镜像文件, 且 HA 集群中的所有虚机的所有镜像 文件都需要保存到网络共享存储上, 网络共享存储使用 mount 命令 mount 到本地 (比如 / vms/target18) , 操作系统使用网络存储就好比使用本地存储一样。 0095 4) 、 存储空闲率定期检测 0096 在管理台上启动一个定时任务, 定期的检测。

39、所预置的需要检测的共享存储 (比如 / vms/target16、 /vms/target18) , 且可以配置各共享存储的预设的空闲率警戒低水位 II (即 第一阈值) 、 空闲率警戒低水位 I (即第三阈值) 的阈值 (可不配置, 不配置时使用默认值分别 说 明 书 CN 103810038 A 9 7/9 页 10 20%、 30%) , 定时任务依据这些配置定期检测并做出后续动作。 0097 基于上述系统组网, 该实施例中的虚拟机存储文件迁移方案可以包括以下流程 : 0098 1、 共享存储空间使用率 (或空闲率) 检测流程 0099 虚拟机管理平台的检测模块可以维护用于记录各个共享存。

40、储的基本信息以及空 闲率的表格, 其格式可以如表 1 所示 : 0100 表 1 0101 0102 虚拟机管理平台启动时, 启动一个定时任务线程, 该线程的到时处理流程如下 : 0103 1) 、 当前是否有配置需要定期检测空闲率的共享存储, 如果有则转步骤 2) 处理, 否 则, 结束本次检测处理, 等待定时器下次超时。 0104 2) 、 对已配置的需要定期检测空闲率的每个共享存储, 假设预置的空闲率警戒低 水位 II、 空闲率警戒低水位 I 的阈值分别为 p2、 p1(一般 p1p2) , 做如下操作 : 0105 a) 、 获取当前共享存储的已使用大小、 可用大小、 使用率 pUse。

41、dNow, 更新表 1 中相 应列内容 ; 0106 b) 、 在 步 骤 a)的 基 础 上 获 取 当 前 共 享 存 储 的 当 前 空 闲 率 pFreeNow, 即 pFreeNow=1-pUsedNow, 更新表 1 中相应列内容 ; 0107 c) 、 若 pFreeNow=p1, 则向系统写空闲率低于空闲率警戒低水位 I 的告警信息, 及 时向管理员发出告警, 以便及时采取措施 0108 d) 若 pFreeNow=p2, 则向虚拟机管理平台的迁移模块发消息, 触发迁移模块对使 用该共享存储的虚拟机进行虚拟机存储文件迁移操作。 0109 2、 虚拟机存储文件迁移流程 0110 。

42、虚拟机管理平台的迁移模块在接收到来自检测模块的触发迁移的消息 (消息中携 带了需要迁移的源共享存储的名称, 比如 /vms/target18) 时, 按照如下步骤操作 : 0111 1) 、 检查表 1 中的除了当前共享存储外的其他共享存储, 如果没有其他的共享存 储, 则发出无可用迁移目的存储的告警信息, 结束操作 ; 若有其他的共享存储, 则转至步骤 2) ; 0112 2) 、 从其他共享存储中挑选一个空闲率最高且当前空闲率大于 “允许迁入空闲率” 的共享存储, 如果没有找到满足条件的共享存储则发出无可用迁移目的存储的告警信息, 说 明 书 CN 103810038 A 10 8/9 页。

43、 11 结束操作 ; 若找到, 则转至步骤 3) ; 0113 3) 、 找到满足步骤 2) 条件的共享存储 /vms/targetX, 则从虚拟管理平台的虚拟机 管理信息中查找所有使用该共享存储 (/vms/target18) 的虚拟机, 对这些虚拟机分别做如 下计算并填充表 2 : 0114 通过 qemu-img info 命令查看虚拟机镜像使用情况, 填充表 2 中除了迁移优先级 一列的所有列内容, 如果虚拟机有多个镜像, 则填写多行。 0115 表 2 0116 0117 其中, 是否运行状态为1的虚拟机为处于运行状态的虚拟机, 是否运行状态为0的 虚拟机为处于未运行状态的虚拟机。 。

44、0118 4) 、 对表 2 中的所有 “是否运行状态” 1 的虚拟机, 进行如下计算 : 0119 获取 “虚拟大小” 一列的最大值为 vSize Max, 则 0120 迁移优先级 =“虚拟大小” 一列的值 /vSizeMax*0.4+“占用率” 一列的值 *0.6 0121 对于处于运行状态且有多块磁盘镜像的, 按照加和平均的方式获取该虚拟机的最 终的迁移优先级, 比如 vm1 有三块磁盘, 且该 vm1 处于运行状态, 且三块磁盘按照以上方法 计算出来的迁移优先级分别为 a、 b 和 c, 则 vm1 的最终的迁移优先级为 (a+b+c)/3 ; 0122 5) 、 决策需要迁移存储的。

45、虚拟机 : 0123 获取 “是否运行状态” 一列为 0, 且 “实际大小” 一列为最大, 且不超过目标共享 存储的可用空间大小的虚拟机 vma, 执行虚拟机存储文件迁移操作, 目标共享存储为 /vms/ targetX, 迁移完成后将该虚拟机从表 2 中删除 ; 如果表 2 中找不到 “是否运行状态” 一列为 0 的行, 则寻找 “是否运行状态” 一列为 1、 迁移优先级最大, 且实际大小不超过目标共享存 储的可用空间大小的一个虚拟机的存储文件进行迁移, 迁移完成后将该虚拟机从表 2 中删 除 ; 0124 6) 、 检测源共享存储 /vms/target18 的当前空闲率, 如果当前空闲率。

46、高于空闲率 警戒低水位 II, 则结束本次迁移存储流程, 否则转步骤 1) , 继续迁移。 0125 通过以上描述可以看出, 在本发明实施例提供的技术方案中, 虚拟机管理平台可 以获取 HA 集群中特定共享存储的当前空闲率, 并当该特定共享存储的当前空闲率低于第 一阈值时, 虚拟机管理平台对特定共享存储进行虚拟机存储文件迁移操作, 有效地降低了 由于共享存储满而导致的虚拟机使用异常、 业务中断的概率, 提高了系统的稳定性。 0126 如图 3 所示, 为本发明实施例提供的一种虚拟机管理平台的结构示意图, 该虚拟 机管理平台应用于包括至少两个共享存储的高可用性 HA 集群, 该虚拟机管理平台可以。

47、包 括 : 0127 获取模块 31, 用于获取所述 HA 集群中的特定共享存储的当前空闲率 ; 说 明 书 CN 103810038 A 11 9/9 页 12 0128 处理模块 32, 用于当所述特定共享存储的当前空闲率低于第一阈值时, 对所述特 定共享存储进行虚拟机存储文件迁移操作。 0129 其中, 还包括 : 0130 判断模块 33, 用于判断所述 HA 集群中是否存在当前空闲率大于第二阈值的其他 共享存储 ; 0131 所述处理模块 32 具体用于, 当所述判断模块判断为是时, 对所述特定共享存储进 行虚拟机存储文件迁移操作 ; 当所述判断模块判断为否时, 不对所述特定共享存储。

48、进行虚 拟机存储文件迁移操作 ; 其中, 所述第二阈值大于所述第一阈值。 0132 其中, 所述处理模块 32 具体用于, 通过以下步骤实现对所述特定共享存储进行虚 拟机存储文件迁移操作 : 0133 步骤 A、 将当前空闲率大于第二阈值的其他共享存储中, 当前空闲率最高的共享存 储确定为目标共享存储 ; 0134 步骤 B、 对所述特定共享存储进行虚拟机文件存储迁移操作, 迁移至目标共享存 储。 0135 其中, 所述处理模块具体用于, 通过以下步骤实现所述步骤 B : 0136 步骤 B0、 确定所述特定共享存储中, 存储文件实际大小不超过所述目标共享存储 的可用空间的各个虚拟机的迁移优先。

49、级 ; 0137 步骤 B1、 根据所述特定共享存储中的虚拟机的迁移优先级, 将迁移优先级最高的 虚拟机的存储文件迁移到所述目标共享存储 ; 0138 步骤 B2、 判断进行虚拟机存储文件迁移操作后的所述特定共享存储的当前空闲率 是否低于所述第一阈值 ; 若判断为是, 则转至步骤 A ; 否则, 结束当前流程 ; 0139 其中, 未处于运行状态的虚拟机的迁移优先级高于处于运行状态的虚拟机 ; 未处 于运行状态的虚拟机的迁移优先级与其存储文件的实际大小正相关 ; 处于运行状态的虚拟 机的迁移优先级, 与该虚拟机的虚拟大小及实际空间占用率均呈正相关。 0140 其中, 所述处理模块 32 具体用于, 进一步根据以下公式确定处于运行状态。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1