CN115016739A - 一种硬盘数据处理方法、装置及电子设备 - Google Patents

一种硬盘数据处理方法、装置及电子设备 Download PDF

Info

Publication number
CN115016739A
CN115016739A CN202210760001.0A CN202210760001A CN115016739A CN 115016739 A CN115016739 A CN 115016739A CN 202210760001 A CN202210760001 A CN 202210760001A CN 115016739 A CN115016739 A CN 115016739A
Authority
CN
China
Prior art keywords
hard disk
data
target
partition
file system
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.)
Pending
Application number
CN202210760001.0A
Other languages
English (en)
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202210760001.0A priority Critical patent/CN115016739A/zh
Publication of CN115016739A publication Critical patent/CN115016739A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种硬盘数据处理方法、装置及电子设备,包括:基于待处理的第一硬盘中的数据特征,提取所述第一硬盘的待迁移的目标数据;获取所述第一硬盘的目标文件系统,所述目标文件系统将第一硬盘和第二硬盘组合在同一个文件系统;基于所述目标文件系统的第二硬盘与所述第一硬盘的分区对应关系,将所述目标数据迁移至所述第二硬盘。实现了基于目标文件系统,可以在线将第一硬盘的数据迁移至第二硬盘,缩短了数据迁移时间,在迁移过程中不影响其他业务数据的处理,可以应用在硬盘更换等场景,以降低了对分布式存储性能的影响。

Description

一种硬盘数据处理方法、装置及电子设备
技术领域
本申请涉及计算机技术领域,更具体的说是涉及一种硬盘数据处理方法、装置及电子设备。
背景技术
目前,分布式存储系统应用广泛,在大规模数据存储场景下,为了平衡性能与成本,使用高性能小容量的ssd(solid state disk,固态硬盘)作为分布式存储系统(Ceph)OSD(object storge device,对象存储)元数据缓存盘,使用低成本大容量的hdd(harddisk drive,硬盘驱动器)作为数据盘,单个ssd分区后与多个不同的hdd组建Ceph OSD承接上层业务。
由于ssd采用了闪存作为存储介质,其擦写次数有限,寿命相较于传统的机械盘更短,当ssd寿命耗尽时其上多个osd将处于异常状态,对业务正常运行产生严重影响,所以在预期ssd缓存盘寿命将至时,需要及时更换Ceph缓存盘,保障Ceph集群的正常运行。但是,对于分布式存储系统,更换硬盘的个和步骤繁琐、更换时间长,影响了Ceph的性能。
发明内容
有鉴于此,本申请提供如下技术方案:
一种硬盘数据处理方法,包括:
基于待处理的第一硬盘中的数据特征,提取所述第一硬盘的待迁移的目标数据;
获取所述第一硬盘的目标文件系统,所述目标文件系统将第一硬盘和第二硬盘组合在同一个文件系统;
基于所述目标文件系统的第二硬盘与所述第一硬盘的分区对应关系,将所述目标数据迁移至所述第二硬盘。
可选地,所述基于待处理的第一硬盘中的数据特征,提取所述第一硬盘的待迁移的目标数据,包括:
基于待处理的第一硬盘中的数据特征,确定有效数据特征;
基于所述有效数据特征,提取所述第一硬盘的待迁移的目标数据。
可选地,还包括:
对所述第二硬盘进行分区,得到至少一个第二分区;
将所述第一硬盘对应的至少一个第一分区与所述第二硬盘对应的至少一个第二分区进行匹配,得到分区配置文件;
将所述分区配置文件存储在所述目标文件系统中。
可选地,所述基于所述目标文件系统的第二硬盘与所述第一硬盘的分区对应关系,将所述目标数据迁移至所述第二硬盘,包括:
调用所述目标文件系统中的分区配置文件;
基于所述分区配置文件,确定所述第一硬盘的目标数据对应的分区与所述第二硬盘对应的分区的对应关系;
基于所述对应关系,将所述目标数据迁移至所述第二硬盘对应的目标分区。
可选地,所述方法还包括:
响应于将所述目标数据迁移至所述第二硬盘,获取所述第一硬盘的当前状态信息;
若所述第一硬盘的当前状态信息满足硬盘剔除条件,对所述第一硬盘的数据进行备份;
响应于对所述第一硬盘的数据进行备份后,将所述第一硬盘替换为目标硬盘。
可选地,所述将所述第一硬盘替换为目标硬盘,包括:
响应于卸载所述第一硬盘对应的数据处理进程的挂载点后,将所述第一硬盘替换为目标硬盘。
可选地,所述方法还包括:
将所述第二硬盘中的目标数据迁移至所述目标硬盘,更新所述目标硬盘的目标文件系统中的分区配置文件;
响应于更新完成所述分区配置文件,将所述数据处理进程挂载至所述目标硬盘,以使得所述目标硬盘基于所述数据处理进程执行数据处理。
可选地,所述将所述目标数据迁移至所述第二硬盘,包括:
基于待迁移的目标数据的数据分区特征以及数据量,生成与所述目标数据对应的迁移线程;
基于所述迁移线程,将所述目标数据迁移至所述第二硬盘;
基于所述目标数据对应的实时已迁移数据量,生成迁移进度信息,以使得在所述目标数据迁移过程中显示所述迁移进度信息。
一种硬盘数据处理装置,包括:
提取单元,用于基于待处理的第一硬盘中的数据特征,提取所述第一硬盘的待迁移的目标数据;
获取单元,用于获取所述第一硬盘的目标文件系统,所述目标文件系统将第一硬盘和第二硬盘组合在同一个文件系统;
迁移单元,用于基于所述目标文件系统的第二硬盘与所述第一硬盘的分区对应关系,将所述目标数据迁移至所述第二硬盘。
一种电子设备,包括:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现如上述任一项所述的硬盘数据处理方法。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述任一项所述的硬盘数据处理方法。
经由上述的技术方案可知,本申请公开一种硬盘数据处理方法、装置及电子设备,包括:基于待处理的第一硬盘中的数据特征,提取所述第一硬盘的待迁移的目标数据;获取所述第一硬盘的目标文件系统,所述目标文件系统将第一硬盘和第二硬盘组合在同一个文件系统;基于所述目标文件系统的第二硬盘与所述第一硬盘的分区对应关系,将所述目标数据迁移至所述第二硬盘。实现了基于目标文件系统,可以在线将第一硬盘的数据迁移至第二硬盘,缩短了数据迁移时间,在迁移过程中不影响其他业务数据的处理,可以应用在硬盘更换等场景,以降低了对分布式存储性能的影响。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种硬盘数据处理方法的流程示意图;
图2为本申请实施例提供的一种第一硬盘和第二硬盘的分区匹配的示意图;
图3为本申请实施例提供的一种缓存盘更换的整体流程示意图;
图4为本申请实施例提供的一种缓存盘数据分段拷贝至hdd备份分区的流程示意图;
图5为本申请实施例提供的一种主要数据段局部拷贝的示意图;
图6为本申请实施例提供的一种hdd备份分区数据分段回拷至缓存盘分区的流程示意图;
图7为本申请实施例提供的一种硬盘数据处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中提供了一种硬盘数据处理方法,可以应用在分布式数据存储中,将ssd(Solid State Disk,固态硬盘)作为缓存盘的应用场景中,以提升对硬盘数据的处理性能,更好地应用于硬盘中进行数据迁移、替换、拷贝等处理流程,进而可以提升分布式存储性能。
参见图1,为本申请实施例提供的一种硬盘数据处理方法的流程示意图,该方法可以包括以下步骤:
S101、基于待处理的第一硬盘中的数据特征,提取第一硬盘的待迁移的目标数据。
由于固态硬盘(ssd)采用了闪存作为存储介质,其擦写次数有限,寿命相较于传统的机械盘更短,当ssd寿命耗尽时会使得其上多个进程处于异常状态,对业务正常运行产生严重影像,因此在预期ssd缓存盘寿命将至时,需要对其进行更换。因此,第一硬盘可以是对应于该场景中的ssd缓存盘,对应的,第一硬盘也可以是指需要进行存储数据或者缓存数据迁移的其他类型的硬盘。其中,数据迁移可以是数据拷贝。
第一硬盘中的数据特征是指第一硬盘中存储或缓存的数据的相关属性特征,如数据格式特征、数据分布特征、数据属性字段特征、数据有效期特征等。从而可以根据第一硬盘中的数据特征来确定待迁移的目标数据,这样可以避免对无效数据进行迁移占用过多的迁移资源,提升了数据迁移的效率。
在一种实施方式中,所述基于待处理的第一硬盘中的数据特征,提取第一硬盘的待迁移的目标数据,包括:基于待处理的第一硬盘中的数据特征,确定有效数据特征;基于所述有效数据特征,提取所述第一硬盘的待迁移的目标数据。
其中,有效数据特征是指能够被利用的数据的特征,如通过数据时效字段来确定当前数据是否为有效数据,将有效数据作为待迁移的目标数据。具体的,可以根据第一硬盘中的数据特征,并通过数据垃圾回收机制(gc)筛选出第一磁盘中的有效数据。有效数据特征还可以是指符合当前数据迁移数据的特征,例如,对某个主题下的数据进行迁移,有效数据特征还可以是表征连续数据的数据特征,进一步地可以通过该数据碎片化整理来将第一硬盘中分散的数据整理为连续的数据,从而实现只迁移有效数据,无需对第一硬盘中的数据进行全量迁移,缩短了数据迁移的时间。
S102、获取第一硬盘的目标文件系统。
S103、基于目标文件系统的第二硬盘与第一硬盘的分区对应关系,将目标数据迁移至第二硬盘。
其中,目标文件系统将第一硬盘和第二硬盘组合在同一个文件系统,即目标文件系统具有多盘文件系统特性,其中,第二硬盘可以是一个也可以是多个,即第一硬盘可以对应多个第二硬盘。具体的,目标文件系统可以f2fs文件系统,f2fs文件系统可以根据内部几何结构和闪存管理机制(FTL),闪存存储设备有很多不同的属性,所以在f2fs文件系统的设计过程中增加了多种参数,不仅用于配置磁盘布局,还可以选择分配和清理算法,优化性能(并行IO提高性能)。若第一硬盘为ssd,第二硬盘为hdd(Hard Disk Drive,硬盘驱动器),则f2fs文件系统可以将ssd与hdd组合在同一个文件系统中使用,实现数据分层存储框架,f2fs充分考虑了ssd的寿命磨损平衡问题,f2fs通过segment(数据文件空间)进行数据管理,每个segment为连续的2MB,所有的更新以异地追加的方式进行,这种方式有利于将随机写转化为顺序写。
对应的,可以将第一硬盘与第二硬盘的分区关系存储到目标文件系统中,以便于基于该目标文件系统实现第一硬件对应分区的数据的迁移。
在一种实施方式中,该硬盘数据处理方法还包括:对第二硬盘进行分区,得到至少一个第二分区;将第一硬盘对应的至少第一个第一分区与第二硬盘对应的至少一个第二分区进行匹配,得到分区配置文件;将分区配置文件存储在目标文件系统中。
其中,硬盘分区是指将硬盘的整体存储空间划分为多个独立的区域,分别用来存储对应的数据,或者安装对应的应用程序。参见图2,为本申请实施例提供的一种第一硬盘和第二硬盘的分区匹配的示意图。在图2中第一硬盘为ssd,第二硬盘为hdd。首先,对hdd进行分区,预留与ssd分区大小相同的hdd数据备份区part1,其用来进行缓存盘的数据拷贝,即用来承接ssd对应分区迁移来的目标数据。然后用hdd编号对每个ssd分区个数取余,将ssd分区与多个预留的hdd分区匹配,并将这些对应关系存储到对应分区配置文件中,如存储到f2fs.conf文件中。在生成分区配置文件之后,可以基于该分区配置文件进行数据迁移。对应的,在图2中的hdd剩余分区part2作为该hdd的数据盘用于存储数据。需要说明的是,第一硬盘的第一分区可以对应至少一个第二硬盘的第二分区,如图2中,第一硬盘ssd0的第一分区part1可以对应第二硬盘的第二分区hdd0 part1和hdd4 part1。图2中的osd.0代表挂载到ssd0 part1的数据处理进程,以此类推,osd.7代表挂载到ssd1 part4的数据处理进程,其中,数据处理进程用于对硬盘中的数据进行处理。
获取目标文件系统中的分区配置文件后,可以根据该分区配置文件得到第二硬盘与第一硬盘的分区对应关系,然后将第一硬盘的目标数据迁移至第二硬盘。在一种实施方式中,所述基于所述目标文件系统的第二硬盘与所述第一硬盘的分区对应关系,将所述目标数据迁移至所述第二硬盘,包括:调用所述目标文件系统中的分区配置文件;基于所述分区配置文件,确定所述第一硬盘的目标数据对应的分区与所述第二硬盘对应的分区的对应关系;基于所述对应关系,将所述目标数据迁移至所述第二硬盘对应的目标分区。
具体的,获得该第一硬盘的目标数据位于第一硬盘的第一分区的分区信息,然后根据分区对应关系将第一硬盘的目标数据迁移至第二硬盘,例如,在图2中,若需要将ssd0part1这个分区中的目标数据进行迁移,则可以根据分区配置文件获得,该ssd0 part1分区对应的在hdd硬盘中对应的分区为hdd0part1或者hdd4 part1,则可以将ssd0 part1这个分区中的目标数据迁移至hdd0part1或者hdd4 part1。
本申请实施例公开的硬盘数据处理方法可以应用于分布式系统中缓存盘进行更换的场景中,其中,待处理的第一硬盘可以为该场景中需要更换的缓存盘。在一种实施方式中,响应于将目标数据迁移至第二硬盘,获取第一硬盘的当前状态信息;若第一硬盘的当前状态信息满足硬盘剔除条件,对第一硬盘的数据进行备份;响应于对第一硬盘的数据进行备份后,将第一硬盘替换为目标硬盘。
其中,第一硬盘的当前状态信息是指获取其当前影响成功被剔除的状态信息,如,第一硬盘当前是否有业务数据正在执行,其是否存在于主机上,并且是否已经开启数据备份进程等。如果第一硬盘的当前状态满足硬盘剔除条件,为了保证数据后续的恢复,或者是出现故障、异常情况下的数据恢复,可以对其他没有迁移的数据进行备份,也可以将目标数据的迁移和重要数据的备份统称为数据备份。在进行数据备份后,将第一硬盘替换为目标硬盘。
进一步地,将第一硬盘替换为目标硬盘,包括:响应于卸载第一硬盘对应的数据处理进程的挂载点后,将第一硬盘替换为目标硬盘。
对应的,还包括:将第二硬盘中的目标数据迁移至目标硬盘,更新目标硬盘的目标文件系统中的分区配置文件;响应于更新完成分区配置文件,将所述数据处理进程挂载至目标硬盘,以使得所述目标硬盘基于所述数据处理进程执行数据处理。
当第一硬盘被替换为目标硬盘后,需要将第一硬盘迁移至第二硬盘的目标数据迁回至目标硬盘。此时,需要先对目标硬盘进行分区,使得目标硬盘的各个分区与第二硬盘的各个分区进行匹配,从而得到分区配置文件,即更新目标文件系统中原有的分区配置文件,然后基于该更新后的分区配置文件,确定目标硬盘的分区与第二硬盘的分区的对应关系,将第一硬盘迁移至第二硬盘的目标数据迁移至目标硬盘。并且在第一硬盘进行数据迁移时,将其分区对应的数据进程的挂载点进行了卸载,当第一硬盘替换为目标硬盘后,将数据处理进程重新挂载至目标硬盘,使得无需重建数据处理进程,不需要进行数据处理进程的数据全量回复,并且增量回复过程业务IO影响非常小,从而使得分布式系统集群能快速恢复。
在本申请实施例的一种实施方式中,还可以基于已迁移的数据量进行实时统计,动态显示数据迁移进度,并且还可以采用多线程分段进行数据迁移或者拷贝,充分利用节点中所有机械盘的带宽,提升了数据迁移进度,不会影响其他硬盘的正常使用。具体的,所述将所述目标数据迁移至所述第二硬盘,包括:基于待迁移的目标数据的数据分区特征以及数据量,生成与所述目标数据对应的迁移线程;基于所述迁移线程,将所述目标数据迁移至所述第二硬盘;基于所述目标数据对应的实时已迁移数据量,生成迁移进度信息,以使得在所述目标数据迁移过程中显示所述迁移进度信息。
其中,数据分区特征是指当前目标数据所在分区的特征,如分区的数据量的大小,当前分区数据是否会影响其他分区的数据,分区之间的数据是否存在关联关系等。若各个分区的目标数据是独立的,可以创建多个并行的数据迁移线程,对待迁移的目标数据进行并行迁移,从而提升了数据迁移的效率。进一步还可以结合当前的网络带宽以及数据传输参数等,确定生成的迁移线程的数量以及执行数据迁移的时间段等相关信息。在生成迁移进度信息时,可以通过统计迁移的目标数据的数据片段的个数来确定实时已迁移数据量,生成迁移进度信息,从而可以动态显示数据拷贝进度。
下面以分布式存储Ceph集群中为了保证业务正常运行,需要定期更换ssd缓存盘的应用场景为例,对本申请实施例中的硬盘数据处理方法进行说明,其中,ssd缓存盘为本申请实施例中的第一硬盘,hdd数据盘为本申请实施例中的第二硬盘。目标文件系统采用的是f2fs文件系统(Flash-Friendly File System,闪存文件系统),可以通过f2fs文件系统的数据回收机制(gc)及数据迁移调节,对待更换存储盘进行一段时间的文件系统碎片整理及数据迁移,减少拷贝数据量,可以将碎片化随机数据转化为连续数据,进而减少数据拷贝时长,然后将缓存盘中的f2fs文件系统有效数据多线程分段拷贝到多个hdd数据盘预留的分区中,ssd更换后,再通过f2fs文件系统的重现多线程分段拷贝回新盘,重新挂载后启动原有的数据处理进程(如,ceph osd),集群进行快速增量恢复。
参见图3,为本申请实施例提供的一种缓存盘更换的整体流程示意图。首先,进行节点中所有ssd缓存盘及hdd数据盘的匹配初始化,即将ssd缓存盘的分区与hdd数据盘的分区进行匹配。可以在硬盘的数据处理进程(如,cephosd)时,对DHH进行分区,预留与ssd分区大小的数据备份区,从而建立二者分区之间的路径对应关系,即ssdpart与多个hdd part1匹配与单个hdd part2组成f2fs文件系统,记录在分区配置文件(如,f2fs.conf)中,便于后续数据进行迁移备份时使用,例如,将hdd part1作为备份分区,hdd part2作为数据分区。
然后,OSD(OSD ObjectStore Device,对象存储设备)承接上层业务数据,利用f2fs文件系统特性,通过参数修改,提高无效数据回收(gc)和迁移(migration)频率,业务在线同步进行一段时间的数据垃圾回收及数据迁移,整理ssd缓存盘上的碎片化数据,并将缓存盘上的部分数据刷入到hdd数据盘,具体的通过gc整理缓存盘中的数据片段(segments),通过migration将缓存盘中数据下刷到数据盘。
在剔除缓存盘时,先检查缓存盘备份策略是否开启,如果没有开启,则不剔除;检查缓存盘是否存在于主机上,如果不存在,则不剔除;检查缓存盘是否存在于f2fs配置文件中,如果不存在,则不剔除;设置集群属性为noout(设置该标志位,则mon不会从crush映射中删除任何OSD。对OSD作维护时,可设置该标志位,以防止CRUSH在OSD停止时自动重平衡数据。)、norecover(设置该标志,禁止任何集群恢复操作。在执行维护和停机时,可设置该标志),防止出现数据重构;将缓存盘对应的osd的进程在主机上停止掉;将/opt/ceph/f2fs/conf备份为conf-backup,如果数据拷贝异常,用于回滚;;卸载缓存盘对应的osd的f2fs文件系统挂载点;并发执行多个缓存盘分区数据分段拷贝至hdd备份分区。
参见图4,为本申请实施例提供的一种缓存盘数据分段拷贝至hdd备份分区的流程示意图。根据分区配置文件传入缓存盘分区及备份分区uuid路径,读取f2fs.conf解析分区匹配规则device_map(表征分区对应关系)。检查对应设备是否被挂载,如果挂载,无法进行数据拷贝;打开缓存盘分区及对应的hdd分区设备,获取文件描述符,用于读写。
通过f2fs superblock获取每个f2fs文件系统数据分配布局,统计需要进行拷贝的f2fs segments,将segments按照初始化时的匹配规则通过多线程的方式分段拷贝到不同的hdd备份分区,充分利用多个hdd的磁盘带宽,f2fs元数据segment直接均分使用多线程拷贝到多个hdd备份分区;f2fs数据main_segments(主要数据段)分为valid_segments(有效数据段)和invalid_segments(无效数据段),其中invalid_segments不包含有效数据无需进行拷贝,只需拷贝valid_segments,f2fs superblock(超级存储块)中会记录valid_segments位置,均分有效段个数,避免出现短板,影响拷贝进度,通过计算已拷贝的segment个数,动态显示数据拷贝进度。将缓存盘分区、hdd数据分区、hdd备份分区信息、metasegment(元数据段)、data segment(数据段)及各自的begin segno(开始标记)、endsegno(结束标记)、segment(数据段)总数记录在backup.conf(f2fs的备份文件)中,已完成拷贝备份。
参见图5,为本申请实施例提供的一种主要数据段局部拷贝的示意图,ssd中的主要数据段(main_segments)包括标记为0-15的数据段,其中,需要进行数据拷贝的有效数据段(valid_segments)是1、2、3、5、11、12、13、14这些数据段,可以将1、2、3、5这几个数据段迁移至hdd0-part1分区,将11、12、13、14这几个有效数据段迁移至hdd4-part1分区。
在完成了数据迁移和拷贝后,可以进行sdd缓存盘的更换。即拔出集群剔除的旧ssd,插入新ssd;检查缓存盘备份策略是否开启,如果没有开启,则不能更换;检查是否有空闲ssd存在于主机上,如果不存在,则不能更换;对新ssd缓存盘进行分区;并发执行hdd备份分区数据分段并发回拷至缓存盘分区。
参见图6,为本申请实施例提供的一种hdd备份分区数据分段回拷至缓存盘分区的流程示意图。该过程包括:传入新缓存盘分区及备份分区uuid路径,读取backup.conf解析备份信息;检查对应设备是否被挂载,如果挂载,无法进行数据回拷;打开缓存盘分区及对应的hdd分区设备,获取文件描述符,用于读写;通过f2fs superblock获取每个f2fs文件系统数据分配布局,将f2fs元数据通过多线程直接从hdd备份分区回拷至缓存盘分区;f2fs数据main_segments中,只需要将valid_segments从多个hdd备份分区中回拷至缓存盘分区对应的segment位置,无需全量拷贝;修改f2fs.conf配置文件中对应的缓存盘分区路径,以使得完成数据回拷过程。
在完成数据回拷后,将将f2fs文件系统重新挂载,拉起被停止的数据处理进程osd,取消ceph集群noout、norecover设置,等待数据快速增量恢复,ceph集群状态恢复健康,ceph缓存盘更换完成。
通过上述方式完成了缓存盘的替换,实现了利用f2fs日志结构多盘文件系统特性,可以在线进行缓存盘f2fs文件系统碎片整理及数据迁移,缩短数据拷贝时间,期间不会影响osd及业务的正常运行;采用多线程分段并发拷贝,充分利用节点中所有机械盘的带宽,不会影响其他ssd的使用;只需拷贝f2fs文件系统有效数据segment,无需全量拷贝,减少拷贝数据量;通过统计拷贝的f2fs segment数量,可以动态显示数据拷贝进度;无需重建数据处理进程cephosd,不需要进行ceph osd数据全量恢复,增量恢复过程对业务IO影响非常小,ceph集群能快速恢复健康。
在本申请的另一实施例中还提供了一种硬盘数据处理装置的结构示意图,参见图7,该装置可以包括:
提取单元701,用于基于待处理的第一硬盘中的数据特征,提取所述第一硬盘的待迁移的目标数据;
获取单元702,用于获取所述第一硬盘的目标文件系统,所述目标文件系统将第一硬盘和第二硬盘组合在同一个文件系统;
迁移单元703,用于基于所述目标文件系统的第二硬盘与所述第一硬盘的分区对应关系,将所述目标数据迁移至所述第二硬盘。
本申请实施例公开的一种硬盘数据处理装置,包括:提取单元基于待处理的第一硬盘中的数据特征,提取所述第一硬盘的待迁移的目标数据;获取单元获取所述第一硬盘的目标文件系统,所述目标文件系统将第一硬盘和第二硬盘组合在同一个文件系统;迁移单元基于所述目标文件系统的第二硬盘与所述第一硬盘的分区对应关系,将所述目标数据迁移至所述第二硬盘。实现了基于目标文件系统,可以在线将第一硬盘的数据迁移至第二硬盘,缩短了数据迁移时间,在迁移过程中不影响其他业务数据的处理,可以应用在硬盘更换等场景,以降低了对分布式存储性能的影响。
在一种实施方式中,提取单元701包括:
第一确定子单元,用于基于待处理的第一硬盘中的数据特征,确定有效数据特征;
提取子单元,用于基于所述有效数据特征,提取所述第一硬盘的待迁移的目标数据。
可选地,该装置还包括:
分区单元,用于对所述第二硬盘进行分区,得到至少一个第二分区;
匹配单元,用于将所述第一硬盘对应的至少一个第一分区与所述第二硬盘对应的至少一个第二分区进行匹配,得到分区配置文件;
存储单元,用于将所述分区配置文件存储在所述目标文件系统中。
在一种实施方式中,迁移单元703包括:
调用子单元,用于调用所述目标文件系统中的分区配置文件;
第二确定子单元,用于基于所述分区配置文件,确定所述第一硬盘的目标数据对应的分区与所述第二硬盘对应的分区的对应关系;
迁移子单元,用于基于所述对应关系,将所述目标数据迁移至所述第二硬盘对应的目标分区。
进一步地,所述装置还包括:
状态获取单元,用于响应于将所述目标数据迁移至所述第二硬盘,获取所述第一硬盘的当前状态信息;
备份单元,用于若所述第一硬盘的当前状态信息满足硬盘剔除条件,对所述第一硬盘的数据进行备份;
硬盘替换单元,用于响应于对所述第一硬盘的数据进行备份后,将所述第一硬盘替换为目标硬盘。
具体的,所述硬盘替换单元包括:
卸载子单元,用于响应于卸载所述第一硬盘对应的数据处理进程的挂载点后,将所述第一硬盘替换为目标硬盘。
可选地,所述装置还包括:
文件更新单元,用于将所述第二硬盘中的目标数据迁移至所述目标硬盘,更新所述目标硬盘的目标文件系统中的分区配置文件;
重挂载单元,用于响应于更新完成所述分区配置文件,将所述数据处理进程挂载至所述目标硬盘,以使得所述目标硬盘基于所述数据处理进程执行数据处理。
在一种实施方式中,迁移单元具体用于:
基于待迁移的目标数据的数据分区特征以及数据量,生成与所述目标数据对应的迁移线程;
基于所述迁移线程,将所述目标数据迁移至所述第二硬盘;
基于所述目标数据对应的实时已迁移数据量,生成迁移进度信息,以使得在所述目标数据迁移过程中显示所述迁移进度信息。
需要说明的是,本实施例中各个单元以及子单元的具体实现可以参考前文中的相应内容,此处不再详述。
在本申请的另一实施例中,还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上任一项所述的硬盘数据处理方法各个步骤。
在本申请的另一实施例中,还提供了一种电子设备,所述电子设备可以包括:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现如上述中任一项所述硬盘数据处理方法。
需要说明的是,本实施例中处理器的具体实现可以参考前文中的相应内容,此处不再详述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种硬盘数据处理方法,包括:
基于待处理的第一硬盘中的数据特征,提取所述第一硬盘的待迁移的目标数据;
获取所述第一硬盘的目标文件系统,所述目标文件系统将第一硬盘和第二硬盘组合在同一个文件系统;
基于所述目标文件系统的第二硬盘与所述第一硬盘的分区对应关系,将所述目标数据迁移至所述第二硬盘。
2.根据权利要求1所述的方法,所述基于待处理的第一硬盘中的数据特征,提取所述第一硬盘的待迁移的目标数据,包括:
基于待处理的第一硬盘中的数据特征,确定有效数据特征;
基于所述有效数据特征,提取所述第一硬盘的待迁移的目标数据。
3.根据权利要求1所述的方法,还包括:
对所述第二硬盘进行分区,得到至少一个第二分区;
将所述第一硬盘对应的至少一个第一分区与所述第二硬盘对应的至少一个第二分区进行匹配,得到分区配置文件;
将所述分区配置文件存储在所述目标文件系统中。
4.根据权利要求3所述的方法,所述基于所述目标文件系统的第二硬盘与所述第一硬盘的分区对应关系,将所述目标数据迁移至所述第二硬盘,包括:
调用所述目标文件系统中的分区配置文件;
基于所述分区配置文件,确定所述第一硬盘的目标数据对应的分区与所述第二硬盘对应的分区的对应关系;
基于所述对应关系,将所述目标数据迁移至所述第二硬盘对应的目标分区。
5.根据权利要求1所述的方法,所述方法还包括:
响应于将所述目标数据迁移至所述第二硬盘,获取所述第一硬盘的当前状态信息;
若所述第一硬盘的当前状态信息满足硬盘剔除条件,对所述第一硬盘的数据进行备份;
响应于对所述第一硬盘的数据进行备份后,将所述第一硬盘替换为目标硬盘。
6.根据权利要求5所述的方法,所述将所述第一硬盘替换为目标硬盘,包括:
响应于卸载所述第一硬盘对应的数据处理进程的挂载点后,将所述第一硬盘替换为目标硬盘。
7.根据权利要求6所述的方法,所述方法还包括:
将所述第二硬盘中的目标数据迁移至所述目标硬盘,更新所述目标硬盘的目标文件系统中的分区配置文件;
响应于更新完成所述分区配置文件,将所述数据处理进程挂载至所述目标硬盘,以使得所述目标硬盘基于所述数据处理进程执行数据处理。
8.根据权利要求1所述的方法,所述将所述目标数据迁移至所述第二硬盘,包括:
基于待迁移的目标数据的数据分区特征以及数据量,生成与所述目标数据对应的迁移线程;
基于所述迁移线程,将所述目标数据迁移至所述第二硬盘;
基于所述目标数据对应的实时已迁移数据量,生成迁移进度信息,以使得在所述目标数据迁移过程中显示所述迁移进度信息。
9.一种硬盘数据处理装置,包括:
提取单元,用于基于待处理的第一硬盘中的数据特征,提取所述第一硬盘的待迁移的目标数据;
获取单元,用于获取所述第一硬盘的目标文件系统,所述目标文件系统将第一硬盘和第二硬盘组合在同一个文件系统;
迁移单元,用于基于所述目标文件系统的第二硬盘与所述第一硬盘的分区对应关系,将所述目标数据迁移至所述第二硬盘。
10.一种电子设备,包括:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现如权利要求1-8中任一项所述的硬盘数据处理方法。
CN202210760001.0A 2022-06-30 2022-06-30 一种硬盘数据处理方法、装置及电子设备 Pending CN115016739A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210760001.0A CN115016739A (zh) 2022-06-30 2022-06-30 一种硬盘数据处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210760001.0A CN115016739A (zh) 2022-06-30 2022-06-30 一种硬盘数据处理方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN115016739A true CN115016739A (zh) 2022-09-06

Family

ID=83079466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210760001.0A Pending CN115016739A (zh) 2022-06-30 2022-06-30 一种硬盘数据处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN115016739A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719675A (zh) * 2023-05-06 2023-09-08 深圳市晶存科技有限公司 硬盘磨损测试方法、装置及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719675A (zh) * 2023-05-06 2023-09-08 深圳市晶存科技有限公司 硬盘磨损测试方法、装置及介质
CN116719675B (zh) * 2023-05-06 2024-05-07 深圳市晶存科技有限公司 硬盘磨损测试方法、装置及介质

Similar Documents

Publication Publication Date Title
US20200249848A1 (en) Memory allocation buffer for reduction of heap fragmentation
EP3161609B1 (en) Storage device, program, and information processing method
US8051044B1 (en) Method and system for continuous data protection
JP5346536B2 (ja) 情報バックアップ/リストア処理装置、及び情報バックアップ/リストア処理システム
US8904137B1 (en) Deduplication system space recycling through inode manipulation
US20080282047A1 (en) Methods and apparatus to backup and restore data for virtualized storage area
US20130246726A1 (en) Method and device for a memory system
US8621143B2 (en) Elastic data techniques for managing cache storage using RAM and flash-based memory
WO2002029573A2 (en) Instant snapshot
CN110147203B (zh) 一种文件管理方法、装置、电子设备及存储介质
US20160050276A1 (en) Efficient storage of small random changes to data on disk
CN109558333B (zh) 具有可变额外存储空间的固态存储设备命名空间
US11449402B2 (en) Handling of offline storage disk
CN113254270B (zh) 一种存储缓存热点数据自恢复方法、系统及存储介质
CN115016739A (zh) 一种硬盘数据处理方法、装置及电子设备
CN106709014A (zh) 一种文件系统转换方法及装置
CN113885809B (zh) 数据管理系统及方法
CN115617264A (zh) 分布式存储方法及装置
US20150212847A1 (en) Apparatus and method for managing cache of virtual machine image file
US11210236B2 (en) Managing global counters using local delta counters
US11055184B2 (en) In-place garbage collection of a sharded, replicated distributed state machine based on supersedable operations
US10877881B2 (en) In-place garbage collection of a sharded, replicated distributed state machine based on mergeable operations
CN114258532A (zh) 用于合并备份策略的设备和方法
EP4187363B1 (en) Storage controller, storage control method, solid state disk and storage system
Kim et al. Improving file system performance and reliability of car digital video recorders

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