一种虚拟化应用中拷贝磁盘数据的方法

文档序号:6535668阅读:170来源:国知局
一种虚拟化应用中拷贝磁盘数据的方法
【专利摘要】本发明提供一种虚拟化应用中拷贝磁盘数据的方法,采用将服务器主机中的虚拟机请远程复制和克隆虚拟磁盘负载转移到存储硬件系统中,在此过程中存储系统根据该请求的特征动态执行IO操作,允许多远多目标拷贝操作,大大提高系统性能。该一种虚拟化应用中拷贝磁盘数据的方法和现有技术相比,存储虚拟化应用中多源多目标拷贝;防止因拷贝源操区域和目标区域重叠而引起的拷贝混乱;对于只读的文件,通过断开拷贝目标区域映射,达到拷贝的效果,提升存储系统IO响应速率,提高公司产品市场竞争力。
【专利说明】一种虚拟化应用中拷贝磁盘数据的方法
【技术领域】
[0001]本发明涉及计算机虚拟化应用【技术领域】,更具体地说是虚拟化应用中拷贝磁盘数据的方法。
【背景技术】
[0002]VMware虚拟化平台基于可投入业务使用的体系结构构建。使用VMware vSphere等软件可转变或“虚拟化”基于x86的计算机的硬件资源(包括CPU、RAM、硬盘和网络控制器),以创建功能齐全、可像“真实”计算机一样运行其自身操作系统和应用程序的虚拟机。每个虚拟机都包含一套完整的系统,因而不会有潜在冲突。VMware虚拟化的工作原理是,直接在计算机硬件或主机操作系统上面插入一个精简的软件层。该软件层包含一个以动态和透明方式分配硬件资源的虚拟机监视器(即“虚拟化管理程序”)。多个操作系统可以同时运行在单台物理机上,彼此之间共享硬件资源。由于是将整台计算机(包括CPU、内存、操作系统和网络设备)封装起来,因此虚拟机可与所有标准的x86操作系统、应用程序和设备驱动程序完全兼容。可以同时在单台计算机上安全运行多个操作系统和应用程序,每个操作系统和应用程序都可以在需要时访问其所需的资源。
[0003]ESX是VMware的企业级虚拟化产品,是vmware虚拟化的平台基础,部署于服务器上。它是具有高级资源管理功能高效,灵活的虚拟主机平台,完美匹配企业数据中心,通过提高资源使用率,扩展计算机性能和优化服务器,VMware ESX服务器帮助企业降低计算机基础构架的成本。
[0004]从广义的角度讲,vStorage API是一种能让虚拟基础套件和存储硬件更加紧密结合的机制:
为虚拟套件提供解决方案的存储硬件。
[0005]VMware或者第三方管理软件。
[0006]为运行在虚拟机中的应用程序提供更好的存储服务质量。
[0007]VAAI (vStorage API for Array Integration)是范围更大的 vStorage API 规范的一个子集,主要是利用硬件卸载特性提升性能。
[0008]在虚拟化应用中,当系统执行远程复制和克隆虚拟磁盘时,如果使用传统的复制方法将非常耗时,效率低下。为了解决现有此类操作给服务器主机带来资源消耗过大,时间过长的问题,实现将负载转移到存储硬件,提升系统整体性能,现提供一种在存储虚拟化应用中提高磁盘数据拷贝效率的叫做全复制的方法,该方法通过远程复制时发送全复制命令请求到存储系统,将大大提高拷贝效率,提升系统整体性能,减轻服务器负载。

【发明内容】

[0009]本发明的技术任务是解决现有技术的不足,提供一种虚拟化应用中拷贝磁盘数据的方法。
[0010]本发明的技术方案是按以下方式实现的,该一种虚拟化应用中拷贝磁盘数据的方法,其具体实现过程为:
一、存储阵列硬件收到来自虚拟主机的初始化请求,并分配所需的资源,检查其合法性,其中合法性检查包括任务状态检查和参数合法性检查,如果非法将终止该请求,并返回特定的感知数据;
二、执行参数合法性检测,如果是异步模式请求,需要检测是否有相同的命令已经正在处理;
三、向拷贝源和目标LUN发送查询命令,根据返回结果确定LUN是否可以正常访问;
四、判断拷贝源和目标区域是否重叠;
五、执行重叠区域的数据拷贝,并标记;
六、顺序执行数据拷贝;
七、保留命令处理结果的状态数据和命令自身的保留数据;
八、向服务器返回处理结果;
九、根据定时器判断保留数据时间是否到期,如果未到期,则继续保留数据,如果到期则结束整个过程。
[0011]本发明与现有技术相比所产生的有益效果是:
本发明的一种虚拟化应用中拷贝磁盘数据的方法采用将服务器主机中的虚拟机请远程复制和克隆虚拟磁盘负载转移到存储硬件系统中,在此过程中存储系统根据该请求的特征动态执行IO操作,允许多远多目标拷贝操作,大大提高系统性能;存储系统可以选择在自精简的LUN上执行断开拷贝目标的短发,用拷贝源代替拷贝目标,不真正磁盘拷贝操作,而是推迟到对该数据区域执行写操作时;能防止因拷贝源操区域和目标区域重叠而引起的拷贝混乱;改善错误处理机制,保留请求执行的结束状态数据和保留数据,允许用户自行设置保留时间;解决现有此类操作给服务器主机带来资源消耗过大,时间过长的问题,实现将负载转移到存储硬件,提升系统整体性能;实用性强,易于推广。
【专利附图】

【附图说明】
[0012]附图1是本发明的虚拟化应用中全复制过程虚拟磁盘上的静态示图。
[0013]附图2是本发明的全复制数据拷贝处理流程图。
【具体实施方式】
[0014]下面结合附图对本发明的一种虚拟化应用中拷贝磁盘数据的方法作以下详细说明。
[0015]本发明所涉及系统实现的核心思想是:虚拟化的VAAI特性中的全复制命令可以减轻服务器主机端的负载,而存储阵列硬件在实现这种卸载的过程中,能根据主机端的要求动态处理,存储可以不执行实际的拷贝动作,而只是执行一个重新映射的过程,会大大提高拷贝过程的速度;如果拷贝过程中的拷贝源数据区域和目标数据区域有重叠,要先拷贝重叠的区域,然后再顺序拷贝剩下的数据。这样将会防止拷贝数据因为重叠而引起的混乱;存储系统可以支持全复制的同步请求和异步请求两种模式;由于全复制过程复杂,出现错误的几率大,所以需要完善错误机制处理。全复制过程将保留命令执行结束状态数据和保留数据,其保留时间长度由用户来设定,这样可以满足需要。[0016]如附图1、图2所示,现提供一种虚拟化应用中拷贝磁盘数据的方法。图1中提供了虚拟化应用中全复制的静态示图,磁盘经过虚拟层VMFS文件系统被映射为文件,和右边的裸设备形成对比。VMFS文件系统中的存在于LUN A上的文件被克隆到LUN B上,结果源文件段〈Si,e2>和<s4, el>被克隆到目标文件段<s4, e3>和<sl, eN>,而存储系统可以不执行真正的拷贝操作,而是仅仅是断开目标文件段<s4,e3>和〈Si,eN>,用源文件段<sl,e2>和<s4,el>代替,并将此文件标记为只读,当需要对该文件执行写操作的时,再执行拷贝工作。
[0017]附图2描述了初始化具体处理流程,主要有以下流程实现:
流程100:存储阵列硬件收到来自虚拟主机的初始化请求,并分配所需的资源,检查其合法性。其中合法性检查包括任务状态检查和参数合法性检查,如果非法将终止该请求,并返回特定的感知数据。
[0018]流程101:执行参数合法性检测,如果是异步模式请求,需要检测是否有相同的命令已经正在处理。
[0019]流程102:向拷贝源和目标LUN发送INRUIRY查询命令,根据返回结果确定LUN是否可以正常访问。
[0020]流程103:判断拷贝源和目标区域是否重叠。
[0021]流程104:执行重叠区域的数据拷贝,并标记。
[0022]流程105:顺序执行数据拷贝。
[0023]流程106:保留命令处理结果的状态数据和命令自身的保留数据。
[0024]流程107:向服务器返回处理结果。
[0025]流程108:根据定时器判断保留数据时间是否到期。
[0026]流程109:继续保留数据。
[0027]在本发明中,在执行数据拷贝过程中,特别是有多个源和目标的情况下,服务器不再需要多次向存储系统发送拷贝数据的命令,而是仅仅发送一次命令给存储系统。然后存储系统异步处理该命令,处理结束或异常终止情况下向服务器返回处理结果,服务器根据该结果做出相应的操作。该方法或极大减轻服务器的IO负载,优化了系统。
[0028]在一些特殊情况下,在同一个LUN中执行拷贝时,拷贝源和拷贝目的区域发生重叠。如果使用传统的数据拷贝方法,拷贝数据可能因覆盖而破坏源数据,导致拷贝过程混舌L。在该方法中,会首先检测出重叠的拷贝源数据,然后首先将执行该重叠区域的数据拷贝,然后进行正常的拷贝操作。这样就避免了因为拷贝混乱的发生。
[0029]拷贝数据过程中发生的应用环境很复杂,发生错误的类型也是比较多的,现有的拷贝方法错误处理不够全面。当执行拷贝完成后,存储系统需要为此次操作的结果和保留的数据保留一段时间,如果超过这段时间客户端发送查询这些数据,则会提示错误。在此方法中将对客户端返回更友好的提示数据,并且允许客户修改保留数据的时间。
[0030]本发明提供的方案,通过对IO请求及系统状况进行评估,能很好的提升系统性倉泛。
[0031]当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。[0032]本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
[0033]以上所述仅为本发明的实施例而已,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种虚拟化应用中拷贝磁盘数据的方法,其特征在于其具体实现过程为: 一、存储阵列硬件收到来自虚拟主机的初始化请求,并分配所需的资源,检查其合法性,其中合法性检查包括任务状态检查和参数合法性检查,如果非法将终止该请求,并返回特定的感知数据; 二、执行参数合法性检测,如果是异步模式请求,需要检测是否有相同的命令已经正在处理; 三、向拷贝源和目标LUN发送查询命令,根据返回结果确定LUN是否可以正常访问; 四、判断拷贝源和目标区域是否重叠; 五、执行重叠区域的数据拷贝,并标记; 六、顺序执行数据拷贝; 七、保留命令处理结果的状态数据和命令自身的保留数据; 八、向服务器返回处理结果; 九、根据定时器判断保留数据时间是否到期,如果未到期,则继续保留数据,如果到期则结束整个过程。
【文档编号】G06F3/06GK103744625SQ201410015533
【公开日】2014年4月23日 申请日期:2014年1月14日 优先权日:2014年1月14日
【发明者】程维轩 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1