CN103309625B - 一种基于自适应存储热迁移的方法和系统 - Google Patents
一种基于自适应存储热迁移的方法和系统 Download PDFInfo
- Publication number
- CN103309625B CN103309625B CN201310207045.1A CN201310207045A CN103309625B CN 103309625 B CN103309625 B CN 103309625B CN 201310207045 A CN201310207045 A CN 201310207045A CN 103309625 B CN103309625 B CN 103309625B
- Authority
- CN
- China
- Prior art keywords
- overhead
- thermophoresis
- data
- interval
- migration
- 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.)
- Expired - Fee Related
Links
Abstract
本发明实施例提供一种基于自适应存储热迁移的方法和系统,应用于信息技术和通信领域,用于解决现有技术中由于固定使用脏块追踪机制导致热迁移过程中业务中断时间过长或者由于固定使用I/O镜像机制导致系统和I/O开销过大的问题。本发明实施例提供一种基于自适应存储热迁移的方法,包括:在迁移过程中,接收数据更新请求;根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制。本发明实施例提供的一种基于自适应存储热迁移的方法和系统可以应用于虚拟存储磁盘的数据热迁移。
Description
技术领域
本发明涉及信息技术和通讯领域,尤其涉及一种基于自适应存储热迁移的方法和系统。
背景技术
存储热迁移,是在尽量不影响虚拟机运行的前提下,将虚拟机中虚拟存储磁盘的数据通过存储网络内或网络间的传输实现从一存储介质转移到另一存储介质的技术。
现有的存储热迁移技术采用了脏块追踪(DirtyBlockTracking,DBT)机制或者输入/输出镜像(Input/OutputMirroring,I/O镜像)机制。
DBT机制具体实现如下:将源磁盘的虚拟存储数据完整地迁移到目的磁盘,在迁移过程中通过位图记录虚拟机运行产生的脏块(脏块,在拷贝过程中被修改的数据块)并通过多次循环迭代实现脏块从源磁盘到目的磁盘的更新。其中,在进行最后一次循环迭代前,为了避免产生新的脏块,需要暂停虚拟机直到最后一次循环迭代完成。
I/O镜像机制具体实现如下:在磁盘虚拟数据迁移过程中,通过位图记录虚拟机运行产生的脏块,若脏块位于已拷贝磁盘区间,则对源磁盘和目的磁盘同时执行I/O写操作(即执行透写),直到源磁盘数据迁移完成。
在实现本发明实施例的过程中,发明人发现现有技术中至少存在如下问题:
在采用脏块追踪机制进行存储热迁移的过程中,由于在进行最后一次循环迭代前,需要暂停虚拟机运行直到最后一次循环迭代完成,从而导致业务中断,这时如果需要拷贝的数据越多,业务中断时间就会越长。
在采用I/O镜像机制进行的存储热迁移的过程中,由于需要在迁移过程中不断实时同步源磁盘和目的磁盘的数据,会出现多次重写同一数据块情况,进而产生额外的I/O开销,造成系统性能下降和不必要的带宽浪费。
发明内容
本发明的实施例提供一种基于自适应存储热迁移的方法和系统,用于解决现有技术中存在的中断业务时间长,产生系统和I/O开销大的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种基于自适应存储热迁移的方法,包括:在完整迁移过程中,同时接收数据更新请求,其中,所述完整迁移过程由多个周期迁移组成;根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制。
在第一种可能实现的方式中,结合第一方面的实现方式,所述根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制,包括:在接收到所述数据更新请求时,判断数据更新位置是否在已拷贝区间;若所述数据更新位置在已拷贝区间,对所述数据的更新次数进行累计;若本周期内的所述更新次数大于预先设置的更新阈值,确定已拷贝区间下一周期的热迁移机制为脏块追踪机制,否则为I/O镜像机制。
在第二种可能的实现方式中,结合第一方面的实现方式,所述根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制,包括:获取第一总开销和第二总开销,若所述第一总开销大于所述第二总开销,则确定已拷贝区间下一周期的热迁移机制为I/O镜像机制;若所述第二总开销大于所述第一总开销,则确定已拷贝区间下一周期的热迁移机制为脏块追踪机制;其中,所述第一总开销为从所述本周期开始到所述本周期结束对位图置位所产生的总开销,所述位图根据所述数据更新请求生成;所述第二总开销为从所述本周期开始到所述本周期结束执行透写所产生的总开销,所述透写是在所述数据更新请求中携带的待更新数据位于已拷贝区间且已拷贝区间执行I/O镜像机制时执行的。
在第三种可能的实现方式中,结合第一方面的第二种可能,所述获取第一总开销和第二总开销,包括:获取第一累计次数,所述第一累计次数为从本周期开始到本周期结束对位图置位的次数总和;根据所述第一累计次数生成第一总开销;获取第二累计次数,所述第二累计次数为从本周期开始到本周期结束执行透写的次数总和;根据所述第二累计次数生成第二总开销。
第二方面,本发明实施例提供一种基于自适应存储热迁移的系统,包括:
接收单元,用于在完整迁移过程中同时接收数据更新请求,其中,所述完整迁移过程由多个周期迁移组成;
执行单元,用于根据所述接收单元在本周期内接收的所述数据更新请求确定已拷贝区间下一周期的热迁移机制。
在第一种可能的实现方式中,结合第二方面的实现方式,所述执行单元,包括:
判断子单元,用于根据所述接收单元在接收到所述数据更新请求时,判断数据更新位置是否在已拷贝区间;
第一计数子单元,用于若所述第一判断子单元判断得到数据更新位置在已拷贝区间,对所述数据的更新次数进行累计;
第一选择子单元,用于若所述第一计数子单元计数得到本周期内的所述更新次数大于预先设置的更新阈值,确定已拷贝区间下一周期的热迁移机制为脏块追踪机制,否则为I/O镜像机制。
在第二种可能的实现方式中,结合第二方面的实现方式,所述执行单元,还包括:
执行子单元,用于获取第一总开销和第二总开销,若所述第一总开销大于所述第二总开销,则确定已拷贝区间下一周期的热迁移机制为I/O镜像机制;
所述执行子单元,还用于若所述第二总开销大于所述第一总开销,则确定已拷贝区间下一周期的热迁移机制为脏块追踪机制;
其中,所述第一总开销为从所述本周期迁移迁移开始到所述本周期迁移结束对位图置位所产生的总开销,所述位图根据所述数据更新请求生成;所述第二总开销为从所述本周期迁移迁移开始到所述本周期迁移结束执行透写所产生的总开销,所述透写是在所述数据更新请求中携带的待更新数据位于已拷贝区间且已拷贝区间执行I/O镜像机制时执行的。
在第三种可能的实现方式中,结合第二方面的第二种可能,所述执行子单元,包括:
第一计数模块,用于获取第一累计次数,所述第一累计次数为从所述本周期迁移开始到所述本周期迁移结束对位图置位的次数总和;
第一生成模块,用于根据所述第一计数模块得到的所述第一累计次数生成第一总开销;
第二计数模块,用于获取第二累计次数,所述第二累计次数为从所述本周期迁移开始到所述本周期迁移结束执行透写的次数总和;
第二生成模块,用于根据所述第二计数模块得到的所述第二累计次数生成第二总开销。
本发明的实施例提供一种基于自适应存储热迁移的方法和系统,用于解决现有技术中存在由于固定使用脏块追踪机制导致热迁移过程中业务中断时间过长或者由于固定使用I/O镜像机制导致系统和I/O开销过大的问题。本发明实施例中迁移过程由多个周期组成,在迁移过程中,根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制,使得迁移过程中已拷贝区域的热迁移机制根据系统总开销的大小进行动态选择。由于本发明实施例在迁移过程中根据总系统开销大小对热迁移机制进行动态选择,缩短了由于固定使用脏块追踪机制导致热迁移过程中业务中断时间的间隔,还减小了由于固定使用I/O镜像机制产生的系统和I/O开销,最终使得迁移效率提升系统性能增强。
附图说明
图1A为本发明实施例提供的一种基于自适应存储热迁移的方法的流程图;
图1B为图1A所示的流程图中步骤102的流程图;
图2为本发明又一实施例提供的一种基于自适应存储热迁移的方法的流程图一;
图3为图2所示的一种基于自适应存储热迁移的方法的系统示意图;
图4为本发明又一实施例提供的一种基于自适应存储热迁移的方法的流程图二;
图5为图4所示的一种基于自适应存储热迁移的方法的系统示意图;
图6为本发明实施例提供的一种基于自适应存储热迁移的系统的结构示意图一;
图7为图6所示的结构示意图中执行单元62的结构示意图一;
图8为图6所示的结构示意图中执行单元62的结构示意图二;
图9为图8所示的结构示意图中执行子单元81的结构示意图;
图10为图8所示的结构示意图中执行子单元82的结构示意图;
图11为本发明又一实施例提供的一种基于自适应存储热迁移的系统的结构示意图一;
图12为本发明又一实施例提供的一种基于自适应存储热迁移的系统的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种基于自适应存储热迁移的方法和系统,用于解决现有技术中由于固定使用脏块追踪机制导致热迁移过程中业务中断时间过长或者由于固定使用I/O镜像机制导致I/O开销过大的问题。下面结合附图对本发明实施例提供的一种检测手势的方法进行详细描述。
如图1A所示,本发明实施例提供的一种基于自适应存储热迁移的方法,包括:
步骤101、在完整迁移过程中,同时接收数据更新请求。
其中,所述同时接受数据更新请求为源磁盘和目的磁盘同时接受数据更新请求,所述迁移过程由多个周期迁移组成。
步骤102、根据本周期内接收的所述数据更新请求确定已拷贝区间下一周期的热迁移机制。
其中,如图1B所示,所述步骤102,包括:
步骤1021、在接收到所述数据更新请求时,判断数据更新位置是否在已拷贝区间。
步骤1022、若所述数据更新位置在已拷贝区间,对所述数据的更新次数进行累计。
步骤1023、若本周期内的所述更新次数大于预先设置的更新阈值,确定已拷贝区间下一周期的热迁移机制为脏块追踪机制,否则为I/O镜像机制。
另一方面,所述步骤102,还可以包括以下两种情况:
第一种情况、获取第一总开销和第二总开销,若所述第一总开销大于所述第二总开销,则确定已拷贝区间下一周期的热迁移机制为I/O镜像机制。
第二种情况、若所述第二总开销大于所述第一总开销,则确定已拷贝区间下一周期的热迁移机制为脏块追踪机制。
其中,所述第一总开销为从所述本周期迁移开始到所述本周期迁移结束对位图置位所产生的总开销,所述位图根据所述数据更新请求生成;所述第二总开销为从所述本周期迁移开始到所述本周期迁移结束执行透写所产生的总开销,所述透写是在所述数据更新请求中携带的待更新数据位于已拷贝区间且已拷贝区间执行I/O镜像机制时执行的。
其中,所述获取第一总开销和获取第二总开销,具体包括:获取第一累计次数,所述第一累计次数为从本周期迁移开始到所述本周期迁移结束对位图置位的次数总和,根据所述第一累计次数生成第一总开销;获取第二累计次数,所述第二累计次数为从所述本周期迁移开始到所述本周期迁移结束执行透写的次数总和,根据所述第二累计次数生成第二总开销。
本发明的实施例提供一种基于自适应存储热迁移的方法,迁用于解决现有技术中存在由于固定使用脏块追踪机制导致热迁移过程中业务中断时间过长或者由于固定使用I/O镜像机制导致系统和I/O开销过大的问题。本发明实施例中迁移过程由多个周期组成,在迁移过程中,根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制,使得迁移过程中已拷贝区域的热迁移机制根据系统总开销的大小进行动态选择。由于本发明实施例在迁移过程中根据总系统开销大小对热迁移机制进行动态选择,缩短了由于固定使用脏块追踪机制导致热迁移过程中业务中断时间的间隔,还减小了由于固定使用I/O镜像机制产生的系统和I/O开销,最终使得迁移效率提升系统性能增强。
为了使得本领域技术人员更好的理解本发明实施例提供的技术方案,现对本发明又一实施例提供的一种基于自适应存储热迁移的方法进行详细的说明。
如图2所示,本发明又一实施例提供的一种基于自适应存储热迁移的方法,应用于如图3所示的具有调度器的虚拟存储磁盘,包括虚拟机、存储块位图、块设备驱动、旧镜像文件以及新镜像文件。其中,旧镜像文件用于存储需要热迁移的原数据,新镜像文件用于存储目的数据。其中,存储块位图用于表示存储块对应的位图,块设备驱动用于将所述存储块位图中的数据格式转换为可存储于旧镜像文件的数据格式。其中,调度器用于根据本周期内迁移机制产生的开销选择下一周期的热迁移机制。其中,存储器热迁移通过拷贝进程表示当前虚拟存储磁盘中数据块的迁移状态。在存储器进行热迁移的过程中,存储器中的数据块处于已拷贝区间、正拷贝区间或者未拷贝区间。在进行脏块追踪机制时,记录脏块位图,所述脏块位图可以位于已拷贝区间、正拷贝区间或者未拷贝区间。所述方法,包括:
步骤201、判断迁移过程是否结束,若是则结束迁移,否则执行步骤202。
步骤202、判断当前周期的迁移时间是否小于预设周期,若是则执行步骤203,否则执行步骤208。
其中,所述当前周期的迁移时间为当前周期内已进行的迁移所用的时间。
步骤203、判断本周期已拷贝区间执行的热迁移机制是否为脏块追踪机制,若是则执行步骤204,否则执行步骤206。
步骤204、判断当前脏块追踪机制中是否发生对位图置位操作,若是则执行步骤205,否则返回步骤201。
在本实施例中,所述位图置位操作是由读写请求触发的,当读写请求位于已拷贝区间,
其中,所述位图置位操作为所述脏块追踪机制中通过位图记录在迁移过程中被更新的数据块位置的操作。其中,所述脏块追踪机制中通过所述位图置位操作中记录的被更新数据块的位置通过多次迭代的方法对所述新镜像文件中相应的目的数据块进行更新。
其中,所述多次迭代的方法为在所述脏块追踪机制中通过位图记录在迁移过程中被更新的数据块。其中,所述位图记录的所述被更新的数据块可能经过多次更新。在首轮镜像拷贝后,根据所述位图记录的所述被更新的数据块更新的次数及位置对所述新镜像文件中的对应数据块进行相应次数更新的方法。
步骤205、由于发生对位图置位操作,对位图置位操作的发生频率进行累加,累加后返回步骤201。
其中,所述对位图置位操作的发生频率为freq_bitset,每发生一次对位图置位操作,则频率加1。
在本实施例中,所述透写操作是由读写请求触发的,当读写请求位于已拷贝区间,
步骤206、判断当前周期的热迁移机制中是否发生透写操作,若是则执行步骤207,否则返回步骤201。
其中,所述透写操作为所述I/O镜像机制中根据所述读写请求将所述读写请求中携带的待更新数据同时写入所述新镜像文件和所述旧镜像文件的操作。
步骤207、由于发生透写操作,则对透写操作的发生频率进行累加,累加后返回步骤201。
其中,所述透写操作的发生频率为freq_commit,每发生一次透写操作,则频率加1。
步骤208、根据所述位图置位操作的发生频率、系统对位图置位的开销、根据所述透写操作的发生频率、系统执行透写的开销计算决策参数U。
其中,处理器根据当前系统已进行的拷贝进程计算所述决策参数,调度器根据计算结果选择最优的迁移机制应用于下一周期迁移。
其中,所述系统对位图置位的开销为p_bitsetting,系统执行透写的开销p_commit,所述决策参数U=freq_commit×p_commit-freq_bitset×p_bitsetting。
步骤209、将所述决策参数与0进行比对,根据比对结果确定下一周期使用的热迁移机制,若小于0执行步骤210,若大于0执行步骤211,若等于0执行步骤212。
步骤210、下一周期热迁移机制使用I/O镜像机制,返回步骤201。
其中,所述I/O镜像机制实施过程为,在数据迁移过程中,同步对旧镜像文件和新镜像文件中的数据进行更新,具体的:
由于在数据迁移过程中虚拟机还在运行,所以旧镜像文件中的虚拟存储数据块会产生相应变化得到被更新的数据块。所述I/O镜像机制在将旧镜像文件中的虚拟存储数据块迁移至新镜像文件中的过程中,通过位图记录所述被更新的数据块的位置,同时,根据所述位图记录的位置对旧镜像文件和新镜像文件执行I/O写操作,直到旧镜像文件中虚拟存储数据块完整的迁移至新镜像文件中即迁移完成。
其中,所述I/O写操作为,根据所述位图记录的所述被更新的数据块的位置同时对旧镜像文件和新镜像文件进行更新的操作。
步骤211、下一周期热迁移机制使用脏块追踪机制,返回步骤201。
其中,所述脏块追踪机制具体实施过程为,在数据迁移过程中,先将旧镜像文件中的完整虚拟存储数据块拷贝到新镜像文件中,由于在数据迁移过程中虚拟机还在运行,所以旧镜像文件中的虚拟存储数据块会产生相应变化得到被更新的数据块。在所述脏块追踪机制中通过所述位图置位操作记录所述被更新的数据块的位置。在首轮镜像拷贝后,通过所述多次循环迭代的方法将位图记录的每一次虚拟机运行产生的脏块进行从旧镜像文件到新镜像文件的更新。在最后一次循环迭代前,为了避免产生新的脏块,暂停虚拟机运行到最后一次循环迭代完成。
其中,在数据迁移过程中被修改的数据块叫做脏块。
步骤212、对下一周期热迁移机制延续本周期当前使用的热迁移机制,返回步骤201。
其中,在本实施例中,所述透写操作是由读写请求触发的,当读写请求位于正拷贝区间,则对新镜像文件进行数据写入动作;当读写请求位于未拷贝区间内,忽略读写请求。
本发明的又一实施例提供一种基于自适应存储热迁移的方法,用于解决现有技术中存在由于固定使用脏块追踪机制导致热迁移过程中业务中断时间过长或者由于固定使用I/O镜像机制导致系统和I/O开销过大的问题。本发明实施例中迁移过程由多个周期组成,在迁移过程中,根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制,使得迁移过程中已拷贝区域的热迁移机制根据系统总开销的大小进行动态选择。由于本发明实施例在迁移过程中根据总系统开销大小对热迁移机制进行动态选择,缩短了由于固定使用脏块追踪机制导致热迁移过程中业务中断时间的间隔,还减小了由于固定使用I/O镜像机制产生的系统和I/O开销,最终使得迁移效率提升系统性能增强。
如图4所示,本发明又一实施例提供的一种基于自适应存储热迁移的方法,应用于如图5所示的具有计数器的虚拟存储磁盘,包括虚拟机、存储块位图、块设备驱动、旧镜像文件以及新镜像文件。其中,旧镜像文件用于存储需要热迁移的原数据,新镜像文件用于存储目的数据。其中,存储块位图用于表示存储块对应的位图,块设备驱动用于将所述存储块位图中的数据格式转换为可存储于旧镜像文件的数据格式。其中,存储器热迁移通过拷贝进程表示当前虚拟存储磁盘中数据块的迁移状态。其中,计数器用于记录所述数据更新请求位于已拷贝区间内的次数。在存储器进行热迁移的过程中,存储器中的数据块处于已拷贝区间、正拷贝区间或者未拷贝区间。在进行脏块追踪机制时,记录脏块位图,所述脏块位图可以位于已拷贝区间、正拷贝区间或者未拷贝区间。所述方法,包括:
步骤401、判断迁移过程是否结束,若是则结束迁移,否则执行步骤402。
步骤402、判断所述数据更新请求是否位于已拷贝区间,若是则执行步骤403,否则执行步骤407。
在本实施例中,所述判断是由读写请求触发的,当读写请求位于已拷贝区间,
步骤403,由于所述数据更新请求位于已拷贝区间,相应的读写次数计数器加1。
其中,所述读写次数计数器记录的次数为所述数据更新请求访问频率。
步骤404、判断当前周期的迁移时间是否小于预设周期,若是则执行步骤402,否则执行步骤405。
其中,所述当前周期的迁移时间为当前周期内已进行的迁移所用的时间。
步骤405、判断所述数据更新次数是否大于预设的更新次数阈值,根据判断结果选择下一周期使用的热迁移机制,若是执行步骤406,否则执行步骤407。
其中,所述预设的更新次数阈值为预先设置的更新频率阈值。其中,将所述更新请求访问频率与所述更新频率阈值进行比对,判断所述数据块访问频率的高低,根据所述判断得到的结果,选择最优的迁移机制应用于下一周期迁移。
步骤406、下一周期热迁移机制使用脏块追踪机制,返回步骤401。
在本实施例中,所述判断是由读写请求触发的,当读写请求不位于已拷贝区间,
步骤407、下一周期热迁移机制使用I/O镜像机制,返回步骤401。
其中,当读写请求位于正拷贝区间内,对新镜像文件进行数据写入动作;,当读写请求位于未拷贝区间内,忽略读写请求。当所述拷贝进程结束后,根据新镜像文件中的数据对旧镜像文件中的数据进行置换。
本发明的又一实施例提供一种基于自适应存储热迁移的方法,用于解决现有技术中存在由于固定使用脏块追踪机制导致热迁移过程中业务中断时间过长或者由于固定使用I/O镜像机制导致系统和I/O开销过大的问题。本发明实施例中迁移过程由多个周期组成,在迁移过程中,根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制,使得迁移过程中已拷贝区域的热迁移机制根据系统总开销的大小进行动态选择。由于本发明实施例在迁移过程中根据总系统开销大小对热迁移机制进行动态选择,缩短了由于固定使用脏块追踪机制导致热迁移过程中业务中断时间的间隔,还减小了由于固定使用I/O镜像机制产生的系统和I/O开销,最终使得迁移效率提升系统性能增强。
如图6所示,本发明一实施例提供的一种基于自适应存储热迁移的系统,应用于具有计数器或调度器的虚拟存储磁盘,所述系统,包括:
接收单元61,用于在完整迁移过程中同时接收数据更新请求,所述完整迁移过程由多个周期迁移组成;其具体实现方式与图1A所示的步骤101相同,此处不再赘述。
执行单元62,用于根据所述接收单元在本周期内接收的所述数据更新请求确定已拷贝区间下一周期的热迁移机制;其具体实现方式与图1A所示的步骤102相同,此处不再赘述。
其中,如图7所示,所述执行单元62,包括:
判断子单元71,用于根据所述接收单元在接收到所述数据更新请求时,判断数据更新位置是否在已拷贝区间;其具体实现方式与图1B所示的步骤1021相同,此处不再赘述。
第一计数子单元72,用于若所述第一判断子单元判断得到数据更新位置在已拷贝区间,对所述数据的更新次数进行累计;其具体实现方式与图1B所示的步骤1022相同,此处不再赘述。
第一选择子单元73,用于若所述第一计数子单元计数得到本周期内的所述更新次数大于预先设置的更新阈值,确定已拷贝区间下一周期的热迁移机制为脏块追踪机制,否则为I/O镜像机制;其具体实现方式与图1B所示的步骤1023相同,此处不再赘述。
其中,如图8所示,所述执行单元62,还可以包括:
执行子单元81,用于获取第一总开销和第二总开销,若所述第一总开销大于所述第二总开销,则确定已拷贝区间下一周期的热迁移机制为I/O镜像机制。
执行子单元82,还用于若所述第二总开销大于所述第一总开销,则确定已拷贝区间下一周期的热迁移机制为脏块追踪机制。
其中,所述第一总开销为从所述本周期迁移开始到所述本周期迁移结束对位图置位所产生的总开销,所述位图根据所述数据更新请求生成;所述第二总开销为从所述本周期迁移开始到所述本周期迁移结束执行透写所产生的总开销,所述透写是在所述数据更新请求中携带的待更新数据位于已拷贝区间且已拷贝区间执行I/O镜像机制时执行的。
其中,如图9所示,所述执行子单元81,包括:
第一计数模块91,用于获取第一累计次数,所述第一累计次数为从所述本周期迁移开始到所述本周期迁移结束对位图置位的次数总和;其具体实现方式与图2所示的步骤205相同,此处不再赘述。
第一生成模块92,用于根据所述第一计数模块得到的所述第一累计次数生成第一总开销;其具体实现方式与图2所示的步骤208相同,此处不再赘述。
其中,如图10所示,所述执行子单元82,包括:
第二计数模块1001,用于获取第二累计次数,所述第二累计次数为从所述本周期迁移开始到所述本周期迁移结束执行透写的次数总和;其具体实现方式与图2所示的步骤207相同,此处不再赘述。
第二生成模块1002,用于根据所述第二计数模块得到的所述第二累计次数生成第二总开销;其具体实现方式与图2所示的步骤208相同,此处不再赘述。
本发明实施例提供一种基于自适应存储热迁移的系统,用于解决现有技术中存在由于固定使用脏块追踪机制导致热迁移过程中业务中断时间过长或者由于固定使用I/O镜像机制导致系统和I/O开销过大的问题。本发明实施例中迁移过程由多个周期组成,在迁移过程中,根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制,使得迁移过程中已拷贝区域的热迁移机制根据系统总开销的大小进行动态选择。由于本发明实施例在迁移过程中根据总系统开销大小对热迁移机制进行动态选择,缩短了由于固定使用脏块追踪机制导致热迁移过程中业务中断时间的间隔,还减小了由于固定使用I/O镜像机制产生的系统和I/O开销,最终使得迁移效率提升系统性能增强。
如图11所示,本发明又一实施例提供的一种基于自适应存储热迁移的系统,应用于有调度器的虚拟存储磁盘,所述系统,包括虚拟机1101,调度器1102,源磁盘1103,目的磁盘1104。
虚拟机1101,发出数据更新请求。
调度器1102,根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制。获取第一总开销和第二总开销,若所述第一总开销大于所述第二总开销,则确定已拷贝区间下一周期的热迁移机制为I/O镜像机制。若所述第二总开销大于所述第一总开销,则确定已拷贝区间下一周期的热迁移机制为脏块追踪机制。所述调度器的具体实现方式与与图2所示的步骤202-212相同,此处不再一一赘述。
源磁盘1103,存储需要被迁移的数据的磁盘。
目的磁盘1104,源磁盘中需要被迁移的数据在迁移过程完毕后所存储的磁盘。
本发明又一实施例提供一种基于自适应存储热迁移的系统,用于解决现有技术中存在由于固定使用脏块追踪机制导致热迁移过程中业务中断时间过长或者由于固定使用I/O镜像机制导致系统和I/O开销过大的问题。本发明实施例中迁移过程由多个周期组成,在迁移过程中,根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制,使得迁移过程中已拷贝区域的热迁移机制根据系统总开销的大小进行动态选择。由于本发明实施例在迁移过程中根据总系统开销大小对热迁移机制进行动态选择,缩短了由于固定使用脏块追踪机制导致热迁移过程中业务中断时间的间隔,还减小了由于固定使用I/O镜像机制产生的系统和I/O开销,最终使得迁移效率提升系统性能增强。
如图12所示,本发明又一实施例提供的一种基于自适应存储热迁移的系统,应用于具有计数器的虚拟存储磁盘,所述系统,包括虚拟机1201,计数器1202,源磁盘1203,目的磁盘1204。
虚拟机1201,发出数据更新请求。
计数器1202,在接收到所述数据更新请求时,判断数据更新位置是否在已拷贝区间,若所述数据更新位置在已拷贝区间,对更新次数进行累计;若本周期内的所述更新次数大于预先设置的更新阈值,确定已拷贝区间下一周期的热迁移机制为脏块追踪机制,否则为I/O镜像机制。所述计数器的具体实现方式与与图4所示的步骤402-407相同,此处不再一一赘述。
源磁盘1203,存储需要被迁移的数据的磁盘。
目的磁盘1204,源磁盘中需要被迁移的数据在迁移过程完毕后所存储的磁盘。
本发明又一实施例提供一种基于自适应存储热迁移的系统,用于解决现有技术中存在由于固定使用脏块追踪机制导致热迁移过程中业务中断时间过长或者由于固定使用I/O镜像机制导致系统和I/O开销过大的问题。本发明实施例中迁移过程由多个周期组成,在迁移过程中,根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制,使得迁移过程中已拷贝区域的热迁移机制根据系统总开销的大小进行动态选择。由于本发明实施例在迁移过程中根据总系统开销大小对热迁移机制进行动态选择,缩短了由于固定使用脏块追踪机制导致热迁移过程中业务中断时间的间隔,还减小了由于固定使用I/O镜像机制产生的系统和I/O开销,最终使得迁移效率提升系统性能增强。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种基于自适应存储热迁移的方法,其特征在于,包括:
在完整迁移过程中,同时接收数据更新请求,其中,所述完整迁移过程由多个周期迁移组成;
根据本周期内接收的所述数据更新请求确定已拷贝区间下一周期的热迁移机制,所述热迁移机制包括脏块追踪机制和I/O镜像机制。
2.根据权利要求1所述的方法,其特征在于,所述根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制,包括:
在接收到所述数据更新请求时,判断数据更新位置是否在已拷贝区间;
若所述数据更新位置在已拷贝区间,对所述数据的更新次数进行累计;
若本周期内的所述更新次数大于预先设置的更新阈值,确定已拷贝区间下一周期的热迁移机制为脏块追踪机制,否则为I/O镜像机制。
3.根据权利要求1所述的方法,其特征在于,所述根据本周期内接收的数据更新请求确定已拷贝区间下一周期的热迁移机制,包括:
获取第一总开销和第二总开销,若所述第一总开销大于所述第二总开销,则确定已拷贝区间下一周期的热迁移机制为I/O镜像机制;
若所述第二总开销大于所述第一总开销,则确定已拷贝区间下一周期的热迁移机制为脏块追踪机制;
其中,所述第一总开销为从所述本周期迁移开始到所述本周期迁移结束对位图置位所产生的总开销,所述位图根据所述数据更新请求生成;所述第二总开销为从所述本周期迁移开始到所述本周期迁移结束执行透写所产生的总开销,所述透写是在所述数据更新请求中携带的待更新数据位于已拷贝区间且已拷贝区间执行I/O镜像机制时执行的。
4.根据权利要求3所述的方法,其特征在于,所述获取第一总开销和第二总开销,包括:
获取第一累计次数,所述第一累计次数为从本周期迁移开始到所述本周期迁移结束对位图置位的次数总和;
根据所述第一累计次数生成第一总开销;
获取第二累计次数,所述第二累计次数为从所述本周期迁移开始到所述本周期迁移结束执行透写的次数总和;
根据所述第二累计次数生成第二总开销。
5.一种基于自适应存储热迁移的系统,其特征在于,包括:
接收单元,用于在完整迁移过程中同时接收数据更新请求,其中,所述完整迁移过程由多个周期迁移组成;
执行单元,用于根据所述接收单元在本周期内接收的所述数据更新请求确定已拷贝区间下一周期的热迁移机制,所述热迁移机制包括脏块追踪机制和I/O镜像机制。
6.根据权利要求5所述的系统,其特征在于,所述执行单元,包括:
判断子单元,用于根据所述接收单元在接收到所述数据更新请求时,判断数据更新位置是否在已拷贝区间;
第一计数子单元,用于若所述判断子单元判断得到数据更新位置在已拷贝区间,对所述数据的更新次数进行累计;
第一选择子单元,用于若所述第一计数子单元计数得到本周期内的所述更新次数大于预先设置的更新阈值,确定已拷贝区间下一周期的热迁移机制为脏块追踪机制,否则为I/O镜像机制。
7.根据权利要求5所述的系统,其特征在于,所述执行单元,还包括:
执行子单元,用于获取第一总开销和第二总开销,若所述第一总开销大于所述第二总开销,则确定已拷贝区间下一周期的热迁移机制为I/O镜像机制;
所述执行子单元,还用于若所述第二总开销大于所述第一总开销,则确定已拷贝区间下一周期的热迁移机制为脏块追踪机制;
其中,所述第一总开销为从所述本周期迁移开始到所述本周期迁移结束对位图置位所产生的总开销,所述位图根据所述数据更新请求生成;所述第二总开销为从所述本周期迁移开始到所述本周期迁移结束执行透写所产生的总开销,所述透写是在所述数据更新请求中携带的待更新数据位于已拷贝区间且已拷贝区间执行I/O镜像机制时执行的。
8.根据权利要求7所述的系统,其特征在于,所述执行子单元,包括:
第一计数模块,用于获取第一累计次数,所述第一累计次数为从所述本周期迁移开始到所述本周期迁移结束对位图置位的次数总和;
第一生成模块,用于根据所述第一计数模块得到的所述第一累计次数生成第一总开销;
第二计数模块,用于获取第二累计次数,所述第二累计次数为从所述本周期迁移开始到所述本周期迁移结束执行透写的次数总和;
第二生成模块,用于根据所述第二计数模块得到的所述第二累计次数生成第二总开销。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310207045.1A CN103309625B (zh) | 2013-05-29 | 2013-05-29 | 一种基于自适应存储热迁移的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310207045.1A CN103309625B (zh) | 2013-05-29 | 2013-05-29 | 一种基于自适应存储热迁移的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103309625A CN103309625A (zh) | 2013-09-18 |
CN103309625B true CN103309625B (zh) | 2016-06-08 |
Family
ID=49134897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310207045.1A Expired - Fee Related CN103309625B (zh) | 2013-05-29 | 2013-05-29 | 一种基于自适应存储热迁移的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103309625B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468674B (zh) * | 2013-09-25 | 2020-01-14 | 南京中兴新软件有限责任公司 | 数据迁移方法及装置 |
CN103500146B (zh) * | 2013-09-30 | 2016-04-27 | 北京邮电大学 | 虚拟机磁盘存储数据迁移方法和系统 |
CN104866595B (zh) * | 2015-05-29 | 2019-05-03 | 北京京东尚科信息技术有限公司 | 对关系数据库脚本加入事务控制的方法及装置 |
WO2019071431A1 (zh) * | 2017-10-10 | 2019-04-18 | 华为技术有限公司 | 处理i/o请求的方法、设备及主机 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039661B1 (en) * | 2003-12-29 | 2006-05-02 | Veritas Operating Corporation | Coordinated dirty block tracking |
CN101101562A (zh) * | 2007-07-10 | 2008-01-09 | 北京大学 | 一种虚拟机的外存在线迁移方法 |
CN102724277A (zh) * | 2012-05-04 | 2012-10-10 | 华为技术有限公司 | 虚拟机热迁移和部署的方法、服务器及集群系统 |
CN103049308A (zh) * | 2012-11-30 | 2013-04-17 | 华为技术有限公司 | 实现虚拟机热迁移的方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9104459B2 (en) * | 2011-01-07 | 2015-08-11 | Red Hat Israel, Ltd. | Memory change tracking during migration of virtual machine (VM) with VM-controlled assigned peripherals |
-
2013
- 2013-05-29 CN CN201310207045.1A patent/CN103309625B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039661B1 (en) * | 2003-12-29 | 2006-05-02 | Veritas Operating Corporation | Coordinated dirty block tracking |
CN101101562A (zh) * | 2007-07-10 | 2008-01-09 | 北京大学 | 一种虚拟机的外存在线迁移方法 |
CN102724277A (zh) * | 2012-05-04 | 2012-10-10 | 华为技术有限公司 | 虚拟机热迁移和部署的方法、服务器及集群系统 |
CN103049308A (zh) * | 2012-11-30 | 2013-04-17 | 华为技术有限公司 | 实现虚拟机热迁移的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103309625A (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9639588B2 (en) | Operation method and apparatus for data storage system | |
CN103180852B (zh) | 分布式数据处理方法及装置 | |
CN107148617B (zh) | 日志协调存储组的自动配置 | |
WO2018113580A1 (zh) | 一种数据管理方法及服务器 | |
CN103309625B (zh) | 一种基于自适应存储热迁移的方法和系统 | |
US20120072652A1 (en) | Multi-level buffer pool extensions | |
KR102303008B1 (ko) | 파일 시스템에서의 플러싱 기법 | |
CN101968755B (zh) | 一种自适应应用负载变化的快照生成方法 | |
CN109388478A (zh) | 用于OpenStack环境中迁移虚拟机的方法和装置 | |
JP6160236B2 (ja) | 情報処理装置、情報処理システム、情報処理装置の制御方法及び情報処理装置の制御プログラム | |
CN102136993A (zh) | 一种数据迁移的方法、装置和系统 | |
CN109491605A (zh) | 一种基于cow的数据存储方法、装置和介质 | |
CN111858090B (zh) | 一种数据处理方法、系统、电子设备及存储介质 | |
CN108897822A (zh) | 一种数据更新方法、装置、设备及可读存储介质 | |
CN112631520A (zh) | 分布式块存储系统、方法、装置、设备和介质 | |
CN109840247B (zh) | 文件系统及数据布局方法 | |
CN106383667B (zh) | 业务运行中lun迁移的方法和装置 | |
CN104917788A (zh) | 一种数据存储方法及装置 | |
US7856419B2 (en) | Method and system for storage replication | |
CN103729166A (zh) | 程序的线程关系确定方法、设备及系统 | |
US11662907B2 (en) | Data migration of storage system | |
CN103823634A (zh) | 一种支持无随机写模式的数据处理方法及系统 | |
CN101833585A (zh) | 数据库服务器操作控制系统、方法及设备 | |
CN104346210A (zh) | 基于时空相关的虚拟机在线迁移方法及系统 | |
CN116755625A (zh) | 一种数据处理方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160608 Termination date: 20180529 |
|
CF01 | Termination of patent right due to non-payment of annual fee |