CN114489517B - 一种离线加速迁移方法、***、设备及存储介质 - Google Patents
一种离线加速迁移方法、***、设备及存储介质 Download PDFInfo
- Publication number
- CN114489517B CN114489517B CN202210135354.1A CN202210135354A CN114489517B CN 114489517 B CN114489517 B CN 114489517B CN 202210135354 A CN202210135354 A CN 202210135354A CN 114489517 B CN114489517 B CN 114489517B
- Authority
- CN
- China
- Prior art keywords
- data
- migrated
- hard disk
- migration
- network
- 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
Links
- 230000005012 migration Effects 0.000 title claims abstract description 169
- 238000013508 migration Methods 0.000 title claims abstract description 169
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000001133 acceleration Effects 0.000 title claims abstract description 23
- 238000012546 transfer Methods 0.000 claims abstract description 26
- 230000005540 biological transmission Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 230000001105 regulatory effect Effects 0.000 abstract description 6
- 230000001276 controlling effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 101100334010 Drosophila melanogaster sotv gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0677—Optical disk device, e.g. CD-ROM, DVD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种离线加速迁移方法、***、设备和介质,方法包括:获取至少一个待迁移硬盘的存储格式,根据所述待迁移硬盘的存储格式,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间;从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备。通过本发明提出的一种离线加速迁移方法,以并行的方式迁移硬盘中的数据到新的存储设备,并借助中转空间实现对迁移的多个硬盘的迁移速度进行调控。既完善了迁移工具拷贝磁盘慢的问题。使迁移工具能够智能识别磁盘文件***类型并使用对应的命令来迁移数据,拷贝速度几乎能达到极限。同时也提供了一种根据需要对不同的硬盘的迁移速度或迁移优先级进行调控的方案。
Description
技术领域
本发明属于计算机领域,具体涉及一种离线加速迁移方法、***、设备及存储介质。
背景技术
近年来,随着虚拟化技术的发展,openstack(一个开源的云计算管理平台项目)功能愈加丰富,环境也越来越稳定,越来越多的政企单位选择把自己的业务***部署到openstack中。对于之前部署在物理机或者vmware虚拟机中的***,也更倾向于迁移到openstack云平台上。迁移通常有两种,一种是在线迁移,一种是离线迁移。在线迁移要求待迁移的源节点上业务不中断的情况下把源节点迁移到云平台上;离线迁移指在源节点业务可以停机的情况迁移到云平台上。本专利是针对离线迁移提出的。
目前离线迁移上云的工具和方案并不多,业内常用的开源离线迁移工具是再生龙,很多单位业务迁移上云都会选择使用再生龙。但再生龙存在两个缺点:1、操作复杂,源节点和目标节点都需要做一系列操作才能迁移,且需要中转节点;2、一次只能迁移一块磁盘,若源节点中有***盘和多块数据盘需要迁移,就需要重启操作***,多次执行迁移操作才行。
发明内容
为解决以上问题,本发明提出一种离线加速迁移方法,包括:
获取至少一个待迁移硬盘的存储格式,根据所述待迁移硬盘的存储格式,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间;
从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备。
在本发明的一些实施方式中,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间包括:
在内存中为不同的迁移指令建立不同的存储地址,并将所述迁移指令的目标地址设定为所述迁移指令对应的所述存储地址;
通过与待迁移硬盘匹配的迁移指令从所述待迁移硬盘中读取数据并存放到所述迁移指令对应的所述存储地址。
在本发明的一些实施方式中,从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备包括:
以第一预定大小从所述存储地址获取所述待迁移硬盘的数据并通过网络发送到对应的目标存储设备。
在本发明的一些实施方式中,从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备包括:
响应于待迁移硬盘对应的所述存储地址为多个,根据设定多个所述待迁移硬盘的迁移优先级,按照优先级的高低从所述待迁移硬盘对应的所述存储地址中读取数据并通过网络发送到目标存储设备;以及
响应于所述网络带宽空闲,根据所述优先级依次从所述待迁移硬盘对应的所述存储地址中读取数据并通过网络发送到目标存储设备。
在本发明的一些实施方式中,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间包括:
在内存建立共享内存,通过所述迁移指令将其所对应的待迁移硬盘的数据读取存储到所述共享内存中。
在本发明的一些实施方式中,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间还包括:
响应于所述待迁移硬盘为多个,根据设定多个所述待迁移硬盘的迁移优先级,按照所述优先级的高低限制所述待迁移硬盘所对应的迁移指令向所述共享内存写入数据;
响应于所述共享内存空闲或在预定时间内数据存量维持在第二预定大小以下,按照所述优先级的高低运行所述待迁移硬盘所对应的迁移指令向所述共享内存写入数据;以及
响应于存在为多个所述待迁移硬盘设定的传输带宽,按照所述待迁移硬盘的传输带宽的比例控制所述待迁移硬盘所对应的指令向所述共享内存写入数据的速度。
在本发明的一些实施方式中,从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备包括:
从所述共享内存中读取对应的数据并发送到所述数据对应的目标存储设备。
本发明另一方面还提出了一种离线加速迁移***,包括:
硬盘数据读取模块,所述硬盘数据读取模块配置用于获取至少一个待迁移硬盘的存储格式,根据所述待迁移硬盘的存储格式,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间;
硬盘数据发送模块,所述硬盘数据发送模块配置用于从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备。
本发明的又一方面还提出了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
通过本发明提出的一种离线加速迁移方法,以并行的方式迁移硬盘中的数据到新的存储设备,并借助中转空间实现对迁移的多个硬盘的迁移速度进行调控。既完善了迁移工具拷贝磁盘慢的问题。使迁移工具能够智能识别磁盘文件***类型并使用对应的命令来迁移数据,拷贝速度几乎能达到极限。同时也提供了一种根据需要对不同的硬盘的迁移速度或迁移优先级进行调控的方案。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种离线加速迁移方法的方法流程图;
图2为本发明实施例提供的一种离线加速迁移***的***结构示意图;
图3为本发明实施例提供的一种计算机设备的结构示意图;
图4为本发明实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明涉及OpenStack虚拟化技术领域中硬盘数据迁移应用,在传统的迁移方法中通常使用dd命令迁移磁盘,dd是一个Unix和类Unix***上的命令,主要功能为转换和复制文件,dd可以在文件、设备、分区和卷之间复制数据。数据可以从其中任何地方输入或输出;但输出到分区时有重要差异。但dd命令迁移数据时则是全量拷贝,若是100G的磁盘,即使磁盘是空数据,也会拷贝100G,而在现场实际场景中几乎没有盘会写满,且物理机的磁盘都比较大,这样迁移速度就大打折扣。并且dd命令的磁盘读写速度较慢,此外由于dd命令由Unix***支持,因此通常都是以shell脚本(Shell是***的用户界面,提供了用户与内核进行交互操作的一种接口,shell脚本是一种为 shell 编写的脚本程序)的方式调用。因此同时只能迁移一块硬盘的数据。导致迁移效率不高。
如图1所示,为解决上述问题,本发明提出一种离线加速迁移方法,包括:
步骤S1、获取至少一个待迁移硬盘的存储格式,根据所述待迁移硬盘的存储格式,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间;
步骤S2、从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备。
在本发明的实施例中,在对磁盘进行数据读取迁移时选择开源工具partclone的迁移指令迁移磁盘中的数据,partclone是一个开源的数据拷贝工具,支持几乎所有常用的文件***。对于支持的文件***,拷贝数据时支持跳过空白块,只拷贝有数据的块,这样就可以极大的提升拷贝速度,提升拷贝速率。对于不支持的文件***,则会使用partclone.dd命令来拷贝数据,虽然没有支持的文件***拷贝快,但也比普通的dd命令快许多。partclone虽然支持多种操作***,但其根据不同的磁盘格式,有不同的命令与之对应,执行恰当的迁移命令才能达到最大的迁移速度,用错误的命令迁移数据则会报错或全量拷贝。
借助partclone工具,在步骤S1中,根据本发明思想开发的迁移工具首先获取待迁移的硬盘的存储格式,然后根据不同的存储格式选择不同的partclone迁移指令对对应的磁盘的数据进行迁移。
在本实施例中,在通过partclone对应的迁移指令迁移数据时,本发明并未采用原有的直接通过对应的partclone指令迁移磁盘数据到目标存储设备,即目标磁盘,而是将partclone指令迁移的目的地址转到中转空间。具体地,partclone的常规使用方式如:partclone.ext4 –d –b –s /dev/sda1 –o /dev/sdb1,/dev/sda1为源地址,/dev/sdb1为目的地址。而在本申请中需要根据partclone的源码将这一指令的使用方式更改,即源地址的使用方式与原有使用方式相同,但目的地址固定到一个中转空间,可以是对应的磁盘也可以是缓存或内存中。所有的partclone指令都将向同一个类型的中转空间发送数据。并根据不同磁盘以及指令不同在中转空间中对数据进行区分。
在步骤S2中,再通过根据本发明思想开发的迁移工具中的对应的数据发送程序从中转空间中将对应的磁盘数据读出,然后通过网络或其他数据传输通道发送到其他存储设备。通常为网络。
在本发明的一些实施方式中,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间包括:
在内存中为不同的迁移指令建立不同的存储地址,并将所述迁移指令的目标地址设定为所述迁移指令对应的所述存储地址;
通过与待迁移硬盘匹配的迁移指令从所述待迁移硬盘中读取数据并存放到所述迁移指令对应的所述存储地址。
在本实施例中,本发明所提出的一种离线加速迁移方法所实现的迁移工具运行在LiveCD中,LiveCD是一种储存在可开机自启动光盘中,不需安装就可以执行的操作***(通常亦包括一些其他软件)。退出 LiveCD 并重新开机后,电脑就可以恢复到原本的操作***。LiveCD***在运行时该***会完全加载并运行到内存中,因此本发明借助LiveCD***,并在LiveCD***中(内存中)创建多个存储地址,例如/dev/ext2/sd1,/dev/ext2/sd2..;/dev/ext3/sd1,/dev/ext3/sd2..;/dev/ext4/sd1,/dev/ext4/sd2;/dev/fat32/sd1,/dev/fat32/sd2等等,基于磁盘的存储格式创建多个存储地址,满足当待迁移硬盘中多个存储格式相同情况下,在中转空间中不同的待迁移硬盘有对应的存储地址。
进一步,根据待迁移硬盘的存储格式调用不同的迁移指令,向待迁移硬盘对应的存储地址中写入数据。具体地,假如当前待迁移硬盘共有5块硬盘,其中有两块ext2格式的硬盘,两块ntfs格式的硬盘,一块fat32格式的硬盘。在迁移时通过partclone.ext2将两块格式为ext2的硬盘的数据分别读取并写入到/dev/ext2/sd1,/dev/ext2/sd2中,将两块格式为ntfs的硬盘通过partclone.ntfs命令从对应的硬盘中读取数据并写入到/dev/ntfs/sd1,/dev/ntfs/sd2;类似地将一块格式为fat32的硬盘通过partclone.fat32命令将其数据写入到/dev/fat32/sd1中。
在本发明的一些实施方式中,对每一个存储地址,即/dev/ntfs/sd2等地址设定空间大小,可根据LiveCD***所占用的内存的大小灵活分配对应的存储地址的空间大小,例如每个存储地址的大小设定为100MB,当对应的存储地址写满之后,对应的迁移指令便不再向对应的存储地址写入数据。
在本发明的一些实施方式中,从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备包括:
以第一预定大小从所述存储地址获取所述待迁移硬盘的数据并通过网络发送到对应的目标存储设备。
在本实施例中,根据本发明方法开发的迁移工具中的对应的数据发送程序按照一定大小从上述存储地址读取对应的数据,然后以该大小数据为粒度将对应的磁盘数据通过网络发送到目标存储设备。具体地,可以以1MB为大小从对应的存储空间读取数据,然后通过网络发出,例如以1MB为粒度读取/dev/fat32/sd1中的文件,然后通过网络发送到远端的存储设备上。
需要说明的是,在迁移指令向其中写入数据时也需要按照上述粒度进行写入数据,并且根据需要对写入数据按照写入时间或者数据编号进行标记,方便数据发送程序以对应的粒度读取数据并发送到目的存储设备。
在本发明的一些实施方式中,从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备包括:
响应于待迁移硬盘对应的所述存储地址为多个,根据设定多个所述待迁移硬盘的迁移优先级,按照优先级的高低从所述待迁移硬盘对应的所述存储地址中读取数据并通过网络发送到目标存储设备;以及
响应于所述网络带宽空闲,根据所述优先级依次从所述待迁移硬盘对应的所述存储地址中读取数据并通过网络发送到目标存储设备。
在本实施例中,如前所述的数据发送程序在处理多个待迁移硬盘的数据迁移任务时,可按设定的多个待迁移硬盘的优先级从待迁移硬盘对应的存储地址中读取数据并通过网络发送。在读取数据时优先按照一定粒度读取对应的优先级高的存储地址的数据,并发送到对应的目的存储设备。
进一步,如果优先级高的待迁移硬盘对应的存储地址数据写入量较少,数据发送程序在一定时间内读取不到要发送的数据,或者读取到数据难以占满整个网络的传输带宽,则数据发送程序可根据待迁移硬盘的优先级,从高到低读取对应的待迁移硬盘所对应的存储地址中的数据并发送到目的存储设备。
具体地,由于影响迁移指令读取对应的待迁移硬盘的因素有很多,例如,待迁移硬盘的读取访问速度,迁移指令自身的数据迁移的实现逻辑的优化问题等都会影响迁移指令向待迁移硬盘对应的存储地址写入数据的速度。甚至是由于存储地址的空间设定的太小,数据发送程序通过网络发送数据的能力较高(即网络带宽充足单一硬盘的读写能力较弱),例如如果最高优先级的硬盘1的读取速度为300MB/s,而网络带宽为万兆接口能最大传输速度1250MB/s,因此最高优先级的硬盘难以充分利用网络带宽,而此时数据发送程序便可从其他待迁移硬盘的存储地址读取对应的待迁移硬盘的数据进行发送。而且当磁盘数据读取能力较弱,但优先级较高时通过上述机制也可实现自适应利用网络带宽的效果,即保持与优先级高的待迁移硬盘读取速度相同的网络带宽,将其他带宽合理分配到其他优先级的待迁移硬盘的数据迁移中。
此外,当用户未指定待迁移硬盘的优先级时,数据发送程序将从对应的存储地址轮询获取对应的待迁移硬盘数据并发送到对应的目的存储设备。
在本发明的一些实施方式中,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间包括:
在内存建立共享内存,通过所述迁移指令将其所对应的待迁移硬盘的数据读取存储到所述共享内存中。
在本实施例中,在不使用LiveCD或LiveCD不支持对应的***平台时,采用建立共享内存的方式在内存中存储对应的迁移指令,从其所对应的待迁移硬盘读取的数据。所谓共享内存可以是一个可以区分待迁移硬盘数据的自定义的存储队列,或者是一个数据空间较大的自定义的存储结构。并且具备一定的大小。例如1GB的内存空间,同时还需设置每一次迁移指令向共享内存写入数据的大小,即写入数据的粒度,例如10MB,对应的数据发送程序则以10MB为单位读取出发送到目的存储设备上。
进一步,在迁移指令向共享内存存储数据时,需将自定义的标记添加到对应的数据中。例如,将磁盘的型号唯一ID或者在此次数据迁移任务中的编号添加到对应的数据中。
在本发明的一些实施方式中,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间还包括:
响应于所述待迁移硬盘为多个,根据设定多个所述待迁移硬盘的迁移优先级,按照所述优先级的高低限制所述待迁移硬盘所对应的迁移指令向所述共享内存写入数据;
响应于所述共享内存空闲或在预定时间内数据存量维持在第二预定大小以下,按照所述优先级的高低运行所述待迁移硬盘所对应的迁移指令向所述共享内存写入数据;以及
响应于存在为多个所述待迁移硬盘设定的传输带宽,按照所述待迁移硬盘的传输带宽的比例控制所述待迁移硬盘所对应的指令向所述共享内存写入数据的速度。
在本实施例中,当待迁移硬盘为多个时,可按照待迁移硬盘的优先级限制待迁移硬盘对应的迁移指令向共享内存中写入数据的数量或速度。
在本发明的一些实施例中,迁移指令(指基于开源源码再次开发后的程序)也是以一定粒度向共享内存中写入数据,在最高优先级的迁移指令向共享内存中写入数据时,其他迁移指令则无法向共享内存中写入数据,由于内存的数据读写速度远远高于硬盘的数据读取速度,因此最高优先级的迁移指令并不是一直占用共享内存,在最高级的迁移指令写完数据后,其他迁移指令便可向共享内存中写入数据,而此时,一旦最高级别的迁移指令或高级别的迁移指令可再次向共享内存中写入数据时,停止当前写入共享内存的次级别迁移指令向共享内存中写入后续(当前粒度的数据可写完)数据。具体地,例如存在两个迁移指令,迁移指令1优先级高于迁移指令2的优先级,在迁移指令1写完后迁移指令2才可写数据。在一些情况下,迁移指令2积压大量的写入数据,在获取到共享内存的写入权限时(迁移指令1已经无数据可写),迁移指令2可连续向共享内存中写入数据,但当迁移指令1已经具备写入条件(从硬盘中读取到一定数据)后,在迁移指令2写完对应粒度数据之后,便取消迁移指令2的写入权限由迁移指令1继续向共享内存中写入数据,写完之后再切换迁移指令2写入数据。以此类推,高于2个迁移指令的情况也是如此。
在本发明的一些实施例中,还基于待迁移硬盘的读取速度、网络带宽以及待迁移硬盘的优先级等,以定额分配的方式分配对应的迁移指令向共享内存中写入数据的粒度个数。
具体地,假设以迁移指令每次向共享内存写入10MB的数据为粒度,存在3个待迁移硬盘,第一块待迁移硬盘的读取速度为500MB/S,第二块待迁移硬盘的读取速度为400MB/S,第三块待迁移硬盘的读取速度为500MB/S,同时网络带宽依然为万兆网卡提供的1250MB/S的带宽,并且第二块待迁移硬盘的优先级高于第三块待迁移硬盘,第三块待迁移硬盘优先级高于第一块待迁移硬盘,则对第二块硬盘对应的迁移指令向共享内存中每秒写入数据的量不进行限制,对于三块待迁移硬盘对应的迁移指令向共享内存中每秒写入数据的量为500MB,而对第一块待迁移硬盘对应的迁移指令向共享内存中每秒写入数据的量为1250-400-500=350MB,以定额的方式限制待迁移硬盘向共享内存中写入数据,并且每隔一秒后数据计数清空,同时优先允许第二块待迁移硬盘(优先级最高)向共享内存中写入数据。
在本发明的一些实施方式中,从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备包括:
从所述共享内存中读取对应的数据并发送到所述数据对应的目标存储设备。
在本实施例中,数据发送程序则直接从共享内存(如前所述自定义具有顺序的存储结构)中依次读取数据通过网络发送到对应的存储设备。
在本发明的一些实施例中,根据上述实施例中的方法所实现的迁移工具与传统迁移方式的速度对比如下:
在实际测试中,网络带宽为万兆网络,使用传统dd命令拷贝磁盘数据,速度为12MB/s左右,使用partclone.dd命令拷贝磁盘数据,速度为117MB/s左右,是dd命令的8-10倍。使用partclone.xfs命令拷贝由于会跳过空数据块,速度能达到240MB/s,这个随着磁盘里真实数据大小也会有变化。由此可见,该方案对提升迁移速度有极大提升。
如图2所示,本发明另一方面还提出了一种离线加速迁移***,包括:
硬盘数据读取模块1,所述硬盘数据读取模块1配置用于获取至少一个待迁移硬盘的存储格式,根据所述待迁移硬盘的存储格式,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间;
硬盘数据发送模块2,所述硬盘数据发送模块2配置用于从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备。
如图3所示,本发明的又一方面还提出了一种计算机设备,包括:
至少一个处理器21;以及
存储器22,所述存储器22存储有可在所述处理器21上运行的计算机指令23,所述指令23由所述处理器21执行时实现上述实施方式中任意一项所述方法的步骤。
如图4所示,本发明的再一方面还提出一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
通过本发明提出的一种离线加速迁移方法,以并行的方式迁移硬盘中的数据到新的存储设备,并借助中转空间实现对迁移的多个硬盘的迁移速度进行调控。既完善了迁移工具拷贝磁盘慢的问题。使迁移工具能够智能识别磁盘文件***类型并使用对应的命令来迁移数据,拷贝速度几乎能达到极限。同时也提供了一种根据需要对不同的硬盘的迁移速度或迁移优先级进行调控的方案。
如前所述,本发明实施例提供的实现方式,可以实现多种平台下数据迁移的高速可控。可借助LiveCD进行迁移,也可以通用的方式对硬盘数据进行迁移,数据迁移时可均流式并行迁移(不指定优先级),也可以指定优先级的方式选择对应的硬盘数据优先迁移。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (7)
1.一种离线加速迁移方法,其特征在于,包括:
获取至少一个待迁移硬盘的存储格式,根据所述待迁移硬盘的存储格式,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间;
从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备;
所述选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间包括:
在内存中为不同的迁移指令建立不同的存储地址,并将所述迁移指令的目标地址设定为所述迁移指令对应的所述存储地址;
通过与待迁移硬盘匹配的迁移指令从所述待迁移硬盘中读取数据并存放到所述迁移指令对应的所述存储地址;
所述从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备包括:
以第一预定大小从所述存储地址获取所述待迁移硬盘的数据并通过网络发送到对应的目标存储设备;
响应于待迁移硬盘对应的所述存储地址为多个,根据设定多个所述待迁移硬盘的迁移优先级,按照优先级的高低从所述待迁移硬盘对应的所述存储地址中读取数据并通过网络发送到目标存储设备;以及
响应于所述网络带宽空闲,根据所述优先级依次从所述待迁移硬盘对应的所述存储地址中读取数据并通过网络发送到目标存储设备。
2.根据权利要求1所述的方法,其特征在于,所述选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间包括:
在内存建立共享内存,通过所述迁移指令将其所对应的待迁移硬盘的数据读取存储到所述共享内存中。
3.根据权利要求2所述的方法,其特征在于,所述选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间还包括:
响应于所述待迁移硬盘为多个,根据设定多个所述待迁移硬盘的迁移优先级,按照所述优先级的高低限制所述待迁移硬盘所对应的迁移指令向所述共享内存写入数据;
响应于所述共享内存空闲或在预定时间内数据存量维持在第二预定大小以下,按照所述优先级的高低运行所述待迁移硬盘所对应的迁移指令向所述共享内存写入数据;以及
响应于存在为多个所述待迁移硬盘设定的传输带宽,按照所述待迁移硬盘的传输带宽的比例控制所述待迁移硬盘所对应的指令向所述共享内存写入数据的速度。
4.根据权利要求2所述的方法,其特征在于,所述从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备包括:
从所述共享内存中读取对应的数据并发送到所述数据对应的目标存储设备。
5.一种离线加速迁移***,其特征在于,包括:
硬盘数据读取模块,所述硬盘数据读取模块配置用于获取至少一个待迁移硬盘的存储格式,根据所述待迁移硬盘的存储格式,选择对应的迁移指令,将所述待迁移硬盘的数据同时读取到中转空间;
硬盘数据发送模块,所述硬盘数据发送模块配置用于从所述中转空间获取所述待迁移硬盘的数据并通过网络发送到目标存储设备;
所述硬盘数据读取模块进一步配置用于:
在内存中为不同的迁移指令建立不同的存储地址,并将所述迁移指令的目标地址设定为所述迁移指令对应的所述存储地址;
通过与待迁移硬盘匹配的迁移指令从所述待迁移硬盘中读取数据并存放到所述迁移指令对应的所述存储地址;
所述硬盘数据发送模块进一步配置用于:
以第一预定大小从所述存储地址获取所述待迁移硬盘的数据并通过网络发送到对应的目标存储设备;
响应于待迁移硬盘对应的所述存储地址为多个,根据设定多个所述待迁移硬盘的迁移优先级,按照优先级的高低从所述待迁移硬盘对应的所述存储地址中读取数据并通过网络发送到目标存储设备;以及
响应于所述网络带宽空闲,根据所述优先级依次从所述待迁移硬盘对应的所述存储地址中读取数据并通过网络发送到目标存储设备。
6. 一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-4任意一项所述方法的步骤。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210135354.1A CN114489517B (zh) | 2022-02-14 | 2022-02-14 | 一种离线加速迁移方法、***、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210135354.1A CN114489517B (zh) | 2022-02-14 | 2022-02-14 | 一种离线加速迁移方法、***、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114489517A CN114489517A (zh) | 2022-05-13 |
CN114489517B true CN114489517B (zh) | 2023-09-08 |
Family
ID=81479910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210135354.1A Active CN114489517B (zh) | 2022-02-14 | 2022-02-14 | 一种离线加速迁移方法、***、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489517B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116340295B (zh) * | 2023-05-25 | 2023-09-12 | 北京长河数智科技有限责任公司 | 基于多类型数据源的数据迁移方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448688A (zh) * | 2021-06-29 | 2021-09-28 | 华云数据控股集团有限公司 | 云迁移场景自动修正网络配置的方法、***及计算机介质 |
WO2021259094A1 (zh) * | 2020-06-23 | 2021-12-30 | 中兴通讯股份有限公司 | 跨云平台虚拟机迁移方法、装置、存储介质及电子装置 |
CN113986119A (zh) * | 2021-09-30 | 2022-01-28 | 贵州电网有限责任公司 | 一种用于加快云迁移速度的精简数据读取方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019047026A1 (zh) * | 2017-09-05 | 2019-03-14 | 华为技术有限公司 | 数据迁移的方法、***及智能网卡 |
-
2022
- 2022-02-14 CN CN202210135354.1A patent/CN114489517B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021259094A1 (zh) * | 2020-06-23 | 2021-12-30 | 中兴通讯股份有限公司 | 跨云平台虚拟机迁移方法、装置、存储介质及电子装置 |
CN113448688A (zh) * | 2021-06-29 | 2021-09-28 | 华云数据控股集团有限公司 | 云迁移场景自动修正网络配置的方法、***及计算机介质 |
CN113986119A (zh) * | 2021-09-30 | 2022-01-28 | 贵州电网有限责任公司 | 一种用于加快云迁移速度的精简数据读取方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN114489517A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060047926A1 (en) | Managing multiple snapshot copies of data | |
US7461201B2 (en) | Storage control method and system for performing backup and/or restoration | |
JP2019101703A (ja) | 記憶システム及び制御ソフトウェア配置方法 | |
JP4532423B2 (ja) | サーバシステム | |
JP2010097533A (ja) | パーティションで区切られた計算機システムにおけるアプリケーション移動及び消費電力の最適化 | |
US11048546B1 (en) | Information processing system and information processing method with high availability during failover caused by fault occurance | |
US20100131728A1 (en) | Computer-readable recording medium storing data migration program, data migration method, and data migration apparatus | |
EP1637987A2 (en) | Operation environment associating data migration method | |
CN103793258A (zh) | 基于管理程序的服务器复制***及其方法 | |
CN113296880A (zh) | 基于容器的应用管理方法和装置 | |
US9875057B2 (en) | Method of live migration | |
JPH10283210A (ja) | 仮想計算機システム間の仮想計算機移動制御方式 | |
CN103902233B (zh) | 虚拟机***的在线存储迁移方法、装置与服务器 | |
CN112181736A (zh) | 分布式存储***及分布式存储***的配置方法 | |
CN110119308B (zh) | 管理大规模容器应用的*** | |
JP2016115253A (ja) | 情報処理装置、メモリ管理方法およびメモリ管理プログラム | |
CN114489517B (zh) | 一种离线加速迁移方法、***、设备及存储介质 | |
CN108475201A (zh) | 一种虚拟机启动过程中的数据获取方法和云计算*** | |
US8180985B2 (en) | Storage switch, storage system, and data copying method using bitmaps representing different sized regions | |
JP6028415B2 (ja) | 仮想サーバ環境のデータ移行制御装置、方法、システム | |
US11675545B2 (en) | Distributed storage system and storage control method | |
CN107832097B (zh) | 数据加载方法及装置 | |
JP2005018509A (ja) | 記憶システム、バックアップシステム及びバックアップ方法 | |
EP2703990A2 (en) | Information processing apparatus, computer program, and area release control method | |
US10509567B2 (en) | System and method for migrating storage while in use |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |