CN107122223B - 数据迁移方法及装置 - Google Patents

数据迁移方法及装置 Download PDF

Info

Publication number
CN107122223B
CN107122223B CN201610104257.0A CN201610104257A CN107122223B CN 107122223 B CN107122223 B CN 107122223B CN 201610104257 A CN201610104257 A CN 201610104257A CN 107122223 B CN107122223 B CN 107122223B
Authority
CN
China
Prior art keywords
disk
data
dirty
virtualization platform
shadow
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.)
Active
Application number
CN201610104257.0A
Other languages
English (en)
Other versions
CN107122223A (zh
Inventor
何林春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201610104257.0A priority Critical patent/CN107122223B/zh
Publication of CN107122223A publication Critical patent/CN107122223A/zh
Application granted granted Critical
Publication of CN107122223B publication Critical patent/CN107122223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据迁移方法,该方法包括:创建卷影时间点,在所述卷影时间点为磁盘创建卷影;并按照所述卷影对磁盘进行复制,以复制到虚拟化平台;从所述卷影时间点开始记录磁盘增量数据;在完成对所述磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台;在将所述磁盘的增量数据复制完成后,根据所述按照卷影复制的磁盘数据和所述磁盘增量数据在虚拟化平台创建虚拟机。本发明还公开了一种数据迁移装置。采用本发明,在将物理主机的磁盘的数据迁移到虚拟机时,实现了无数据丢失。

Description

数据迁移方法及装置
技术领域
本发明涉及通讯技术领域,尤其涉及一种数据迁移方法及装置。
背景技术
随着网络的普及,将电子数据以及计算机系统的应用程序加以储存与备份的需求也随之增加,尤其是对于具有重大价值的研发及商品数据,或是个人数据等机密文件,更有将其备份的需求。在现有技术中,采用在线P2V(Online physical to virtual migration,在线从物理机到虚拟机的数据迁移),将物理主机上的数据迁移到虚拟化平台,可以减少用户业务中断时间,在采用在线P2V迁移方式时,主要是利用了Windows的卷影复制服务(Volumn Shadow Copy Service,VSS,卷影复制服务)来进行,通过卷影复制服务,可以在指定时间点给当前的物理主机做一个磁盘卷影快照,然后对卷影进行数据的复制,再传输到虚拟化后台。但是,该在线P2V迁移方式具有如下缺陷:由于卷影复制服务是基于卷影时间点的快照,因此在该时间点之后的增量数据并没有被同步的迁移到虚拟化平台,即该虚拟化平台的虚拟机会丢失卷影时间点之后的增量数据。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据迁移方法及装置,旨在解决现有技术中采用在线P2V迁移方式时,导致数据丢失的技术问题。
为实现上述目的,本发明提供一种数据迁移方法,该方法包括:
创建卷影时间点,在所述卷影时间点为磁盘创建卷影;并按照所述卷影对磁盘进行复制,以复制到虚拟化平台;
从所述卷影时间点开始记录磁盘增量数据;
在完成对所述磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台;
在将所述磁盘的增量数据复制完成后,根据所述按照卷影复制的磁盘数据和所述磁盘增量数据在虚拟化平台创建虚拟机。
优选地,所述从所述卷影时间点开始记录磁盘增量数据的步骤包括:
从所述卷影时间点开始通过磁盘/磁盘卷过滤驱动将发向磁盘的写请求拦截,并根据拦截的写请求更新脏数据位图,所述脏数据位图对应物理主机的所有磁盘。
优选地,在完成对所述磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台的步骤包括:
在完成对所述磁盘的卷影复制后,查找所述脏数据位图中被置为脏位的数据位;
将所述查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
优选地,在完成对所述磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台的步骤还包括:
在将所述查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,获取磁盘增量数据的变化率,及获取当前网络传输速率和虚拟化平台的存储速率;
根据所述磁盘增量数据的变化率、当前网络传输速率和存储速率,确定是否停止向磁盘写入数据;
在确定停止向磁盘写入数据时,提醒用户停止向磁盘写入数据,并将当前脏数据位图中所有被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
优选地,在完成对所述磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台的步骤还包括:
在将所述查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,获取磁盘增量数据的变化率;
判断磁盘增量数据的变化率是否小于或等于预设变化率,得到判断结果;
若所述判断结果为磁盘增量数据的变化率小于或等于预设变化率,则提醒用户停止向磁盘写入数据,并将当前脏数据位图中所有被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
此外,为实现上述目的,本发明还提供一种数据迁移装置,该装置包括:
时间点创建模块,用于创建卷影时间点;
第一复制模块,用于在所述卷影时间点为磁盘创建卷影,并按照所述卷影对磁盘进行复制,以复制到虚拟化平台;
记录模块,用于从创建卷影时间点开始记录磁盘增量数据;
第二复制模块,用于在完成对所述磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台;
虚拟机创建模块,用于在将所述磁盘的增量数据复制完成后,根据所述按照卷影复制的磁盘数据和所述磁盘增量数据在虚拟化平台创建虚拟机。
优选地,所述记录模块,还用于从所述卷影时间点开始通过磁盘/磁盘卷过滤驱动将发向磁盘的写请求拦截,并根据拦截的写请求更新脏数据位图,所述脏数据位图对应物理主机的所有磁盘。
优选地,所述第二复制模块包括:
查找单元,用于在完成对所述磁盘的卷影复制后,查找所述脏数据位图中被置为脏位的数据位;
复制单元,用于将所述查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
优选地,所述第二复制模块还包括第一获取单元和确定单元;
所述第一获取单元,用于在将所述查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,获取磁盘增量数据的变化率,及获取当前网络传输速率和虚拟化平台的存储速率;
所述确定单元,用于根据所述磁盘增量数据的变化率、当前网络传输速率和存储速率,确定是否停止向磁盘写入数据;
所述复制单元,还用于在确定停止向磁盘写入数据时,提醒用户停止向磁盘写入数据,并将当前脏数据位图中所有被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
优选地,所述第二复制模块还包括第二获取单元和判断单元,
所述第二获取单元,用于在将所述查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,获取磁盘增量数据的变化率;
所述判断单元,用于判断磁盘增量数据的变化率是否小于或等于预设变化率,得到判断结果;
所述复制单元,还用于在所述判断结果为磁盘增量数据的变化率小于或等于预设变化率时,提醒用户停止向磁盘写入数据,并将当前脏数据位图中所有被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
本发明的数据迁移方法及装置,该方法包括:创建卷影时间点,在所述卷影时间点为磁盘创建卷影;并按照所述卷影对磁盘进行复制,以复制到虚拟化平台;从所述卷影时间点开始记录磁盘增量数据;在完成对所述磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台;在将所述磁盘的增量数据复制完成后,根据所述按照卷影复制的磁盘数据和所述磁盘增量数据在虚拟化平台创建虚拟机;即从卷影时间点开始就记录磁盘增量数据;则在卷影时间点之后,还可以继续记录磁盘增量数据,如在卷影时间点之后,用户对磁盘进行了写操作,则将该写操作对应的数据记录到磁盘增量数据中;按照卷影对磁盘复制及将磁盘的增量数据复制到虚拟化平台,在虚拟化平台创建虚拟机;在将物理主机的磁盘的数据迁移到虚拟机时,实现了无数据丢失。
附图说明
图1为本发明数据迁移方法第一实施例的流程示意图;
图2为本发明数据迁移方法第二实施例的流程示意图;
图3为本发明数据迁移方法第三实施例的流程示意图;
图4为本发明数据迁移方法第四实施例的流程示意图;
图5为本发明数据迁移方法第五实施例的流程示意图;
图6为本发明数据迁移装置一实施例的结构示意图;
图7为本发明数据迁移装置中第二复制模块的第一实施例的结构示意图;
图8为本发明数据迁移装置中第二复制模块的第二实施例的结构示意图;
图9为本发明数据迁移装置中第二复制模块的第三实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明数据迁移方法第一实施例的流程示意图,该方法包括:
S10、创建卷影时间点,在该卷影时间点为磁盘创建卷影;并按照该卷影对磁盘进行复制,以复制到虚拟化平台。
可利用虚拟机映象生成迁移工具,创建卷影时间点,在该卷影时间点为磁盘创建卷影;再按照该卷影对磁盘进行复制,将复制的磁盘数据传输到虚拟化平台。在该步骤中,实现对磁盘的初步迁移。
S20、从该卷影时间点开始记录磁盘增量数据。
在该步骤中,从卷影时间点开始记录磁盘增量数据,该磁盘是指位于物理主机上的磁盘。通常的,对磁盘的操作请求包括读请求、写请求、删除请求等。在该步骤中,可通过拦截对磁盘的操作请求中的写请求,以获得新写入到磁盘中的数据,即可得到磁盘增量数据。
在该步骤中,可将磁盘增量数据标志为脏数据更新到脏数据位图中,通过该脏数据位图记录磁盘增量数据,同时,还可将磁盘增量数据保存到一特定存储位置,用户预先设置一个特定存储位置,该特定存储位置具有一定的存储空间,以足够保存磁盘增量数据。该脏数据位图存储于内存中,对应于物理主机的所有磁盘。
S30、在完成对该磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台。
在步骤中,将记录的磁盘增量数据复制到虚拟化平台,即将磁盘增量数据传输到虚拟化平台,实现对磁盘增量数据的迁移。
在一实施例中,若该磁盘增量数据保存在特定存储位置,则可直接从该特定存储位置读取出磁盘增量数据,并将该读取出的磁盘增量数据复制到虚拟化平台,即将该磁盘增量数据传输到虚拟化平台。
在另一实施例中,若该磁盘增量数据通过脏数据位图记录,则读取该脏数据位图中为脏位的数据位,将为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
在将记录的磁盘增量数据复制到虚拟化平台的过程中,该磁盘增量数据在不断更新,如当用户对磁盘进行写操作时,则将该写操作对应的数据记录到磁盘增量数据中。
S40、在将该磁盘的增量数据复制完成后,根据该按照卷影复制的磁盘数据和该磁盘增量数据在虚拟化平台创建虚拟机。
在该步骤中,即当按照卷影对磁盘复制完成及将磁盘的增量数据复制完成后,在虚拟化平台创建虚拟机,该虚拟机以该按照卷影复制的磁盘数据和该磁盘增量数据作为虚拟磁盘的数据运行;在创建虚拟机的同时,还可提示用户关闭物理主机。
采用上述实施例,通过创建卷影时间点,在该卷影时间点为磁盘创建卷影;并按照该卷影对磁盘进行复制,以复制到虚拟化平台;从该卷影时间点开始记录磁盘增量数据;在完成对该磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台;在将该磁盘的增量数据复制完成后,根据该按照卷影复制的磁盘数据和该磁盘增量数据在虚拟化平台创建虚拟机;即从卷影时间点开始就记录磁盘增量数据;则在卷影时间点之后,还可以继续记录磁盘增量数据,如在卷影时间点之后,用户对磁盘进行了写操作,则将该写操作对应的数据记录到磁盘增量数据中;按照卷影对磁盘复制及将磁盘的增量数据复制到虚拟化平台,在虚拟化平台创建虚拟机;在将物理主机的磁盘的数据迁移到虚拟机时,实现了无数据丢失。
参照图2,图2为本发明数据迁移方法的第二实施例的流程示意图。
基于上述数据迁移方法的第一实施例,该步骤S20包括:
S21、从该卷影时间点开始通过磁盘/磁盘卷过滤驱动将发向磁盘的写请求拦截,并根据拦截的写请求更新脏数据位图,该脏数据位图对应物理主机的所有磁盘。
该磁盘/磁盘卷过滤驱动可在卷影时间点创建前加载,该磁盘/磁盘卷过滤驱动对磁盘进行拦截过滤,具体的,该磁盘/磁盘卷过滤驱动可拦截所有发向磁盘的操作请求,如拦截发向磁盘的读请求、写请求、删除请求等。在该步骤中,只需将发向磁盘的写请求拦截,根据该写请求得到磁盘增量数据。
脏数据位图对应物理主机的所有磁盘,该脏数据位图中的每一个数据位对应一定容量的扇区;当该脏数据位图中的某一个数据位对应的扇区有写请求时,将该某一个数据位设置为脏位,通常的,即将该某一个数据位设置为1,表示脏位。该脏数据位图需要一定的存储空间,可根据需要为脏数据位图中的每一个数据位设置对应一定容量的扇区,如在一实施例中,该脏数据位图中的每一个数据位设置对应4KB的扇区(即对应8个扇区,每个扇区的大小为512字节),当该脏数据位图的存储空间为32MB时,该脏数据位图可记录1TB的扇区,即记录1TB的磁盘空间。
在该步骤中,通过磁盘/磁盘卷过滤驱动将发向磁盘的写请求拦截,该写请求包括待写入的内容和待写入的扇区,根据该拦截的写请求更新脏数据位图,具体的,根据该拦截的写请求中的待写入的扇区,将该待写入的扇区在该脏数据位图中对应的数据位设置为脏位,即在该脏数据位图中记录该待写入的扇区有数据写入。在一实施例中,该拦截的写请求中的待写入的扇区为扇区10,在脏数据位图中的第二个数据位对应的扇区是扇区9至扇区16,则将该脏数据位图中的第二个数据位设置为脏位;同理,该拦截的写请求中的待写入的扇区为扇区11,则将该脏数据位图中的第二个数据位设置为脏位;即当该脏数据位图中的第二个数据位为脏位时,可能是对扇区9至扇区16中的任意一个扇区或多个扇区进行了写操作。因此,为了在脏数据位图中精确记录磁盘扇区,则可将脏数据位图中的每一个数据位设置对应的扇区个数少一些,但是需要为脏数据位图设定大一点的存储空间,如为了记录1TB的磁盘空间,如果脏数据位图中的每一个数据位设置对应4KB的扇区,则该脏数据位图的存储空间需要32MB,如果脏数据位图中的每一个数据位设置对应1KB的扇区,则该脏数据位图的存储空间需要128MB。
参照图3,图3为本发明数据迁移方法的第三实施例的流程示意图。
基于上述数据迁移方法的第二实施例,该步骤S30包括:
S31、在完成对该磁盘的卷影复制后,查找该脏数据位图中被置为脏位的数据位。
在该脏数据位图中记录了磁盘中扇区的数据变化,在该步骤中,遍历该脏数据位图中的各个数据位,查找到该脏数据位图中被置为脏位的数据位,通常的,查找到该脏数据位图中被置为1的数据位。在该脏数据位图中,各个数据位的值为1或0,当数据位的值为1,则表示该数据位为脏位,当数据位的值为0,则表示该数据位为非脏位。
S32、将该查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
在该步骤中,将查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台,在将被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台后,将该数据位进行重置,置为非脏位,如将该数据位的值从1变成0。
该脏数据位图中的各个数据位的值在不断更新中,当对该脏数据位图中的数据位对应的扇区拦截到写请求时,将该脏数据位图中的数据位设置为脏位(即对该数据位赋值1),当已将该被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,将该数据位置为非脏位。
进一步的,如图4所示,该步骤S30还包括:
S33、在将该查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,获取磁盘增量数据的变化率,及获取当前网络传输速率和虚拟化平台的存储速率。
在将该查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,即在将被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台的过程中,获取磁盘增量数据的变化率V1,具体的,获取脏数据位图中当前每秒钟被置为脏位的数据位的个数,为第一个数N1,根据该第一个数得到磁盘增量数据的变化率V1,V1=N1*M,其中M表示每个数据位对应的扇区的大小,如在一实施例中,每个数据位对应的扇区的大小为4KB。
在该步骤中,获取当前网络传输速率,即获取物理主机与虚拟化平台之间的传输速率。
在该步骤中,获取虚拟化平台的存储速率,该虚拟化平台的存储速率即为该虚拟化平台的写入速率。
S34、根据该磁盘增量数据的变化率、当前网络传输速率和存储速率,确定是否停止向磁盘写入数据。
在该步骤中,将该磁盘增量数据的变化率与当前网络传输速率和存储速率进行比较,若该磁盘增量数据的变化率小于当前网络传输速率,且该磁盘增量数据的变化率小于存储速率,则确定停止向磁盘写入数据;否则确定可继续向磁盘写入数据。
S35、在确定停止向磁盘写入数据时,提醒用户停止向磁盘写入数据,并将当前脏数据位图中所有被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
在该步骤中,提醒用户停止向磁盘写入数据,即停止向磁盘更新业务数据,则脏数据位图中的被置为脏位的数据位不会增加;并将该当前脏数据位图中的所有被置为脏位的数据位对应的磁盘数据复制到虚拟化平台。
进一步的,如图5所示,该步骤S30还包括:
S36、在将该查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,获取磁盘增量数据的变化率。
在该步骤中,在将该查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,即在将被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台的过程中,获取磁盘增量数据的变化率V1,具体的,获取脏数据位图中当前每秒钟被置为脏位的数据位的个数,为第一个数N1,根据该第一个数得到磁盘增量数据的变化率V1,V1=N1*M,其中M表示每个数据位对应的扇区的大小,如在一实施例中,每个数据位对应的扇区的大小为4KB。
S37、判断磁盘增量数据的变化率是否小于或等于预设变化率,得到判断结果。
该预设变化率可根据需要设置,在该步骤中,判断该磁盘增量数据的变化率是否小于或等于预设变化率,在该磁盘增量数据的变化率小于或等于预设变化率时,可认为磁盘中业务数据不在增加。
S38、若该判断结果为磁盘增量数据的变化率小于或等于预设变化率,则提醒用户停止向磁盘写入数据,并将当前脏数据位图中所有被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
在该步骤中,提醒用户停止向磁盘写入数据,即停止向磁盘更新业务数据,用户根据提醒停止或暂停业务,不再向磁盘写入业务数据。
在该步骤中,将该当前脏数据位图中的所有被置为脏位的数据位对应的磁盘数据复制到虚拟化平台,实现将物理主机上的磁盘增量数据全部迁移到虚拟化平台。
参照图6,图6为本发明数据迁移装置的一实施例的结构示意图,该装置包括:
时间点创建模块10,用于创建卷影时间点;
第一复制模块20,用于在该卷影时间点为磁盘创建卷影;并按照该卷影对磁盘进行复制,以复制到虚拟化平台;
记录模块30,用于从创建卷影时间点开始记录磁盘增量数据;
第二复制模块40,用于在完成对该磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台;
虚拟机创建模块50,用于在将该磁盘的增量数据复制完成后,根据该按照卷影复制的磁盘数据和该磁盘增量数据在虚拟化平台创建虚拟机。
时间点创建模块10可利用虚拟机映象生成迁移工具,创建卷影时间点。
该第一复制模块20可利用虚拟机映象生成迁移工具,在该卷影时间点为磁盘创建卷影;再按照该卷影对磁盘进行复制,将复制的磁盘数据传输到虚拟化平台。该第一复制模块20实现对磁盘的初步迁移。
该记录模块30从卷影时间点开始记录磁盘增量数据,该磁盘是指位于物理主机上的磁盘。通常的,对磁盘的操作请求包括读请求、写请求、删除请求等。在该步骤中,可通过拦截对磁盘的操作请求中的写请求,以获得新写入到磁盘中的数据,即可得到磁盘增量数据。
该记录模块30可将磁盘增量数据标志为脏数据更新到脏数据位图中,通过该脏数据位图记录磁盘增量数据,同时,还可将磁盘增量数据保存到一特定存储位置,用户预先设置一个特定存储位置,该特定存储位置具有一定的存储空间,以足够保存磁盘增量数据。该脏数据位图存储于内存中,对应物理主机的所有磁盘。
该第二复制模块40将记录的磁盘增量数据复制到虚拟化平台,即将磁盘增量数据传输到虚拟化平台,实现对磁盘增量数据的迁移。
在一实施例中,若该磁盘增量数据保存在特定存储位置,则该第二复制模块40可直接从该特定存储位置读取出磁盘增量数据,并将该读取出的磁盘增量数据复制到虚拟化平台,即将该磁盘增量数据传输到虚拟化平台。
在另一实施例中,若该磁盘增量数据通过脏数据位图记录,则该第二复制模块40读取该脏数据位图中为脏位的数据位,将为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
在将记录的磁盘增量数据复制到虚拟化平台的过程中,该磁盘增量数据在不断更新,如当用户对磁盘进行写操作时,则将该写操作对应的数据记录到磁盘增量数据中。
当按照卷影对磁盘复制完成及将磁盘的增量数据复制完成后,该虚拟机创建模块50在虚拟化平台创建虚拟机,该虚拟机以该按照卷影复制的磁盘数据和该磁盘增量数据作为虚拟磁盘的数据运行;在创建虚拟机的同时,还可提示用户关闭物理主机。
进一步的,该记录模块30,还用于从该卷影时间点开始通过磁盘/磁盘卷过滤驱动将发向磁盘的写请求拦截,并根据拦截的写请求更新脏数据位图,该脏数据位图对应物理主机的所有磁盘。
该磁盘/磁盘卷过滤驱动可在卷影时间点创建前加载,该磁盘/磁盘卷过滤驱动对磁盘进行拦截过滤,具体的,该磁盘/磁盘卷过滤驱动可拦截所有发向磁盘的操作请求,如拦截发向磁盘的读请求、写请求、删除请求等。在该步骤中,只需将发向磁盘的写请求拦截,根据该写请求得到磁盘增量数据。
脏数据位图对应物理主机的所有磁盘,该脏数据位图中的每一个数据位对应一定容量的扇区;当该脏数据位图中的某一个数据位对应的扇区有写请求时,将该某一个数据位设置为脏位,通常的,即将该某一个数据位设置为1,表示脏位。该脏数据位图需要一定的存储空间,可根据需要为脏数据位图中的每一个数据位设置对应一定容量的扇区,如在一实施例中,该脏数据位图中的每一个数据位设置对应4KB的扇区(即对应8个扇区,每个扇区的大小为512字节),当该脏数据位图的存储空间为32MB时,该脏数据位图可记录1TB的扇区,即记录1TB的磁盘空间。
该记录模块30通过磁盘/磁盘卷过滤驱动将发向磁盘的写请求拦截,该写请求包括待写入的内容和待写入的扇区,根据该拦截的写请求更新脏数据位图,具体的,根据该拦截的写请求中的待写入的扇区,将该待写入的扇区在该脏数据位图中对应的数据位设置为脏位,即在该脏数据位图中记录该待写入的扇区有数据写入。在一实施例中,该拦截的写请求中的待写入的扇区为扇区10,在脏数据位图中的第二个数据位对应的扇区是扇区9至扇区16,则将该脏数据位图中的第二个数据位设置为脏位;同理,该拦截的写请求中的待写入的扇区为扇区11,则将该脏数据位图中的第二个数据位设置为脏位;即当该脏数据位图中的第二个数据位为脏位时,可能是对扇区9至扇区16中的任意一个扇区或多个扇区进行了写操作。因此,为了在脏数据位图中精确记录磁盘扇区,则可将脏数据位图中的每一个数据位设置对应的扇区个数少一些,但是需要为脏数据位图设定大一点的存储空间,如为了记录1TB的磁盘空间,如果脏数据位图中的每一个数据位设置对应4KB的扇区,则该脏数据位图的存储空间需要32MB,如果脏数据位图中的每一个数据位设置对应1KB的扇区,则该脏数据位图的存储空间需要128MB。
进一步的,如图7所示,该该第二复制模块40包括:
查找单元41,用于在完成对该磁盘的卷影复制后,查找该脏数据位图中被置为脏位的数据位;
复制单元42,用于将该查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
在该脏数据位图中记录了磁盘中扇区的数据变化,该查找单元41遍历该脏数据位图中的各个数据位,查找到该脏数据位图中被置为脏位的数据位,通常的,查找到该脏数据位图中被置为1的数据位。在该脏数据位图中,各个数据位的值为1或0,当数据位的值为1,则表示该数据位为脏位,当数据位的值为0,则表示该数据位为非脏位。
该复制单元42将查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台,在将被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台后,将该数据位进行重置,置为非脏位,如将该数据位的值从1变成0。
该脏数据位图中的各个数据位的值在不断更新中,当对该脏数据位图中的数据位对应的扇区拦截到写请求时,将该脏数据位图中的数据位设置为脏位(即对该数据位赋值1),当已将该被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,该复制单元42将该数据位置为非脏位。
进一步的,如图8所示,该第二复制模块40还包括第一获取单元43和确定单元44;
该第一获取单元43,用于在将该查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,获取磁盘增量数据的变化率,及获取当前网络传输速率和虚拟化平台的存储速率;
该确定单元44,用于根据该磁盘增量数据的变化率、当前网络传输速率和存储速率,确定是否停止向磁盘写入数据;
该复制单元42,还用于在确定停止向磁盘写入数据时,提醒用户停止向磁盘写入数据,并将当前脏数据位图中所有被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
在将该查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,即在将被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台的过程中,该第一获取单元43获取磁盘增量数据的变化率V1,具体的,获取脏数据位图中当前每秒钟被置为脏位的数据位的个数,为第一个数N1,根据该第一个数得到磁盘增量数据的变化率V1,V1=N1*M,其中M表示每个数据位对应的扇区的大小,如在一实施例中,每个数据位对应的扇区的大小为4KB。
该第一获取单元43获取当前网络传输速率,即获取物理主机与虚拟化平台之间的传输速率。
该第一获取单元43获取虚拟化平台的存储速率,该虚拟化平台的存储速率即为该虚拟化平台的写入速率。
该确定单元44将该磁盘增量数据的变化率与当前网络传输速率和存储速率进行比较,若该磁盘增量数据的变化率小于当前网络传输速率,且该磁盘增量数据的变化率小于存储速率,则确定停止向磁盘写入数据;否则确定可继续向磁盘写入数据。
该复制单元42在确定停止向磁盘写入数据时,提醒用户停止向磁盘写入数据,即停止向磁盘更新业务数据,则脏数据位图中的被置为脏位的数据位不会增加;并将该当前脏数据位图中的所有被置为脏位的数据位对应的磁盘数据复制到虚拟化平台。
进一步的,如图9所示,该第二复制模块40还包括第二获取单元45和判断单元46,
该第一获取单元43,用于在将该查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,获取磁盘增量数据的变化率;
该判断单元46,用于判断磁盘增量数据的变化率是否小于或等于预设变化率,得到判断结果;
该复制单元42,用于在该判断结果为磁盘增量数据的变化率小于或等于预设变化率时,提醒用户停止向磁盘写入数据,并将当前脏数据位图中所有被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
在将该查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,即在将被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台的过程中,该第二获取单元45获取磁盘增量数据的变化率V1,具体的,获取脏数据位图中当前每秒钟被置为脏位的数据位的个数,为第一个数N1,根据该第一个数得到磁盘增量数据的变化率V1,V1=N1*M,其中M表示每个数据位对应的扇区的大小,如在一实施例中,每个数据位对应的扇区的大小为4KB。
该预设变化率可根据需要设置,该判断单元46判断该磁盘增量数据的变化率是否小于或等于预设变化率,在该磁盘增量数据的变化率小于或等于预设变化率时,可认为磁盘中业务数据不在增加。
该复制单元42在该判断结果为磁盘增量数据的变化率小于或等于预设变化率时,提醒用户停止向磁盘写入数据,即停止向磁盘更新业务数据,用户根据提醒停止或暂停业务,不再向磁盘写入业务数据。
该复制单元42在该判断结果为磁盘增量数据的变化率小于或等于预设变化率时,将该当前脏数据位图中的所有被置为脏位的数据位对应的磁盘数据复制到虚拟化平台,实现将物理主机上的磁盘增量数据全部迁移到虚拟化平台。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种数据迁移方法,其特征在于,该方法包括:
创建卷影时间点,在所述卷影时间点为磁盘创建卷影;并按照所述卷影对磁盘进行复制,以复制到虚拟化平台;
从所述卷影时间点开始记录磁盘增量数据;
在完成对所述磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台;
在将所述磁盘的增量数据复制完成后,根据所述按照卷影复制的磁盘数据和所述磁盘增量数据在虚拟化平台创建虚拟机;
在完成对所述磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台的步骤包括:
在将查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,获取磁盘增量数据的变化率,及获取当前网络传输速率和虚拟化平台的存储速率;
根据所述磁盘增量数据的变化率、当前网络传输速率和存储速率,确定是否停止向磁盘写入数据;
在确定停止向磁盘写入数据时,提醒用户停止向磁盘写入数据,并将当前脏数据位图中所有被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台;
所述从所述卷影时间点开始记录磁盘增量数据的步骤包括:
从所述卷影时间点开始通过磁盘/磁盘卷过滤驱动将发向磁盘的写请求拦截,并根据拦截的写请求更新脏数据位图,所述脏数据位图对应物理主机的所有磁盘;所述脏数据位图中的数据位与所述磁盘的扇区个数成预设比例;所述脏数据位图的存储空间大小与所述预设比例成正相关。
2.如权利要求1所述的数据迁移方法,其特征在于,在完成对所述磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台的步骤包括:
在完成对所述磁盘的卷影复制后,查找所述脏数据位图中被置为脏位的数据位;
将所述查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
3.如权利要求1所述的数据迁移方法,其特征在于,在完成对所述磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台的步骤还包括:
在将所述查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,获取磁盘增量数据的变化率;
判断磁盘增量数据的变化率是否小于或等于预设变化率,得到判断结果;
若所述判断结果为磁盘增量数据的变化率小于或等于预设变化率,则提醒用户停止向磁盘写入数据,并将当前脏数据位图中所有被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
4.一种数据迁移装置,其特征在于,该装置包括:
时间点创建模块,用于创建卷影时间点;
第一复制模块,用于在所述卷影时间点为磁盘创建卷影,并按照所述卷影对磁盘进行复制,以复制到虚拟化平台;
记录模块,用于从创建卷影时间点开始记录磁盘增量数据;
第二复制模块,用于在完成对所述磁盘的卷影复制后,将记录的磁盘增量数据复制到虚拟化平台;
虚拟机创建模块,用于在将所述磁盘的增量数据复制完成后,根据所述按照卷影复制的磁盘数据和所述磁盘增量数据在虚拟化平台创建虚拟机;
所述第二复制模块包括第一获取单元、确定单元和复制单元;
所述第一获取单元,用于在将查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,获取磁盘增量数据的变化率,及获取当前网络传输速率和虚拟化平台的存储速率;
所述确定单元,用于根据所述磁盘增量数据的变化率、当前网络传输速率和存储速率,确定是否停止向磁盘写入数据;
所述复制单元,还用于在确定停止向磁盘写入数据时,提醒用户停止向磁盘写入数据,并将当前脏数据位图中所有被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台;
所述记录模块,还用于从所述卷影时间点开始通过磁盘/磁盘卷过滤驱动将发向磁盘的写请求拦截,并根据拦截的写请求更新脏数据位图,所述脏数据位图对应物理主机的所有磁盘;所述脏数据位图中的数据位与所述磁盘的扇区个数成预设比例;所述脏数据位图的存储空间大小与所述预设比例成正相关。
5.如权利要求4所述的数据迁移装置,其特征在于,所述第二复制模块包括:
查找单元,用于在完成对所述磁盘的卷影复制后,查找所述脏数据位图中被置为脏位的数据位;
复制单元,用于将所述查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
6.如权利要求4所述的数据迁移装置,其特征在于,所述第二复制模块还包括第二获取单元和判断单元,
所述第二获取单元,用于在将所述查找的被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台时,获取磁盘增量数据的变化率;
所述判断单元,用于判断磁盘增量数据的变化率是否小于或等于预设变化率,得到判断结果;
所述复制单元,还用于在所述判断结果为磁盘增量数据的变化率小于或等于预设变化率时,提醒用户停止向磁盘写入数据,并将当前脏数据位图中所有被置为脏位的数据位对应的磁盘增量数据复制到虚拟化平台。
CN201610104257.0A 2016-02-25 2016-02-25 数据迁移方法及装置 Active CN107122223B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610104257.0A CN107122223B (zh) 2016-02-25 2016-02-25 数据迁移方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610104257.0A CN107122223B (zh) 2016-02-25 2016-02-25 数据迁移方法及装置

Publications (2)

Publication Number Publication Date
CN107122223A CN107122223A (zh) 2017-09-01
CN107122223B true CN107122223B (zh) 2021-02-05

Family

ID=59716997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610104257.0A Active CN107122223B (zh) 2016-02-25 2016-02-25 数据迁移方法及装置

Country Status (1)

Country Link
CN (1) CN107122223B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062510A (zh) * 2018-07-23 2018-12-21 郑州云海信息技术有限公司 一种数据迁移方法和系统
CN109597671B (zh) * 2018-12-11 2022-06-10 国云科技股份有限公司 一种兼容集中式和分布式运行的桌面云实现方法
CN110955560A (zh) * 2019-11-15 2020-04-03 北京浪潮数据技术有限公司 一种虚拟机快照的生成方法、系统、电子设备及存储介质
CN111090399A (zh) * 2019-12-13 2020-05-01 北京浪潮数据技术有限公司 一种磁盘数据的在线迁移方法、装置、设备及介质
CN111459643A (zh) * 2020-04-15 2020-07-28 上海安畅网络科技股份有限公司 一种主机迁移方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081552A (zh) * 2009-12-01 2011-06-01 华为技术有限公司 一种物理机到虚拟机的在线迁移方法、装置和系统
CN103885719A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机系统在线存储迁移的方法、系统与装置
CN103885811A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机系统全系统在线迁移的方法、系统与装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081552A (zh) * 2009-12-01 2011-06-01 华为技术有限公司 一种物理机到虚拟机的在线迁移方法、装置和系统
CN103885719A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机系统在线存储迁移的方法、系统与装置
CN103885811A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机系统全系统在线迁移的方法、系统与装置
CN103885719B (zh) * 2012-12-21 2017-02-08 中国电信股份有限公司 虚拟机系统在线存储迁移的方法、系统与装置

Also Published As

Publication number Publication date
CN107122223A (zh) 2017-09-01

Similar Documents

Publication Publication Date Title
CN107122223B (zh) 数据迁移方法及装置
US6587933B2 (en) Method, system, and program for discarding data in a storage system where updates to a primary storage device are shadowed in a secondary storage device
EP1942414B1 (en) Snapshot system and method
CN101840362B (zh) 一种改进的写时拷贝快照的实现方法和装置
CN106575309B (zh) 具有数据块共享的文件系统
CN104238963B (zh) 一种数据存储方法、存储装置及存储系统
WO2016127658A1 (zh) 一种快照处理方法及装置
CN103034566B (zh) 虚拟机还原的方法和装置
JP6341918B2 (ja) ストレージを含むデータをコピーするためのコンピュータ・プログラム、システム、および方法
JP4419884B2 (ja) データ複製装置、方法及びプログラム並びに記憶システム
US20150269069A1 (en) Processing a point-in-time copy establish command to copy data
US9740634B2 (en) Establishing a point-in-time copy relationship between source logical addresses and target logical addresses
CN109144416B (zh) 查询数据的方法和装置
CN102929884A (zh) 一种收缩虚拟磁盘镜像文件的方法及装置
CN111007990B (zh) 一种对快照系统中数据块引用进行快速定位的定位方法
CN102929748A (zh) 数据备份方法及装置
US20100005255A1 (en) Method for providing atomicity for host write input/outputs (I/Os) in a continuous data protection (CDP)-enabled volume using intent log
US7133987B2 (en) Storage system and snapshot management method thereof
CN107037988B (zh) 一种基于文件级粒度的闪存安全删除方法及系统
TW200844744A (en) Near instantaneous backup and restore of disc partitions
US9535796B2 (en) Method, apparatus and computer for data operation
CN106611364B (zh) 存储碎片整理方法及装置
US8799597B2 (en) Data copying
US9183246B2 (en) File system with per-file selectable integrity
CN115033425A (zh) 一种提高数据备份成功率的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 518000 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong.

Applicant after: SANGFOR TECHNOLOGIES Inc.

Address before: 518052 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong.

Applicant before: Sangfor Technologies Co.,Ltd.

GR01 Patent grant
GR01 Patent grant