CN108519863B - 一种存储系统的io管理方法及装置 - Google Patents

一种存储系统的io管理方法及装置 Download PDF

Info

Publication number
CN108519863B
CN108519863B CN201810325520.8A CN201810325520A CN108519863B CN 108519863 B CN108519863 B CN 108519863B CN 201810325520 A CN201810325520 A CN 201810325520A CN 108519863 B CN108519863 B CN 108519863B
Authority
CN
China
Prior art keywords
layer
request
stack
information
storage 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.)
Active
Application number
CN201810325520.8A
Other languages
English (en)
Other versions
CN108519863A (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810325520.8A priority Critical patent/CN108519863B/zh
Publication of CN108519863A publication Critical patent/CN108519863A/zh
Application granted granted Critical
Publication of CN108519863B publication Critical patent/CN108519863B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/0629Configuration or reconfiguration of storage systems
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种存储系统的IO管理方法,所述方法通过对接收到的IO请求进行标记,并记录其在每层IO栈的IO信息,根据其IO信息统计分析所述IO请求。其中,所述IO信息中记录了IO请求在每层IO栈的标识、进程ID、操作CPU、操作类型、各注册时间点及每个注册时间点的标记、当前时间戳、IO写入位置、IO大小及执行动作等方面的详细信息,能够为分析IO请求的处理细节及传输路径提供便利的条件和支持;也可以统计分析每层IO栈的IO信息,获得每层IO栈的处理性能,便于技术人员调整优化存储系统,提高存储系统性能。本发明公开的一种存储系统的IO管理装置、设备及计算机可读存储介质,也同样具有上述技术效果。

Description

一种存储系统的IO管理方法及装置
技术领域
本发明涉及计算机存储技术领域,更具体地说,涉及一种存储系统的IO管理方法、装置、设备及计算机可读存储介质。
背景技术
随着大数据、云计算等信息技术的发展,数据对于各个行业、企业起着越来越重要的作用,同时需要存储的数据量也迅猛增加,在给予存储发展契机的同时也对存储提出了相当大的挑战。
目前,存储系统通常采用Scale up架构的单/多控制器实现各层IO栈的不同IO功能,例如缓存、快照、复制、压缩、自精简等,每一层IO栈内部设计精密;IO需要进行多中动作,如:切分(split)、重定向(remap)、合并(merge)等;并且,各层IO之间关联性复杂,这些给IO调试和管理带来了很多困难。此外,由于影响业务的在线运行,现有的IO调试工具通常不支持在线添加,也无法针对个别IO进行提取和分析。
因此,如何方便快捷的管理和调试IO,提高存储系统的存储性能,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种存储系统的IO管理方法、装置、设备及计算机可读存储介质,以实现方便快捷的管理和调试IO,提高存储系统的存储性能。
为实现上述目的,本发明实施例提供了如下技术方案:
一种存储系统的IO管理方法,包括:
接收客户端发送的IO请求;
当所述IO请求经过每层IO栈时,通过每层IO栈分别预设的管理配置分别标记所述IO请求,并分别记录所述IO请求在每层IO栈的IO信息;
根据所述IO请求在每层IO栈的IO信息,统计分析所述IO请求;
其中,所述IO信息至少包括:所述IO请求在每层IO栈的标识、进程ID、操作CPU、操作类型、各注册时间点及每个注册时间点的标记、当前时间戳、IO写入位置、IO大小及执行动作。
其中,所述根据所述IO请求在每层IO栈的IO信息统计分析所述IO请求之前,还包括:
根据所述IO请求在每层IO栈的IO信息,形成所述IO请求从文件系统层、IO管理层、IO缓存层、存储池层、raid层、虚拟磁盘层至磁盘块层的链式记录。
其中,还包括:
按照预设的时间分析模块和/或场景分析模型,调取目标IO请求在每层IO栈的IO信息,根据所述目标IO请求在每层IO栈的IO信息统计分析所述目标请求。
其中,所述根据所述目标IO请求在每层IO栈的IO信息统计分析所述目标请求之后,还包括:
根据所述目标IO请求在每层IO栈的IO信息,统计分析每层IO栈的处理参数,所述处理参数至少包括:IO带宽和IOPS。
其中,所述根据所述目标IO请求在每层IO栈的IO信息,统计分析每层IO栈的处理参数之后,还包括:
将每层IO栈的处理参数进行可视化展示。
一种存储系统的IO管理装置,包括:
接收模块,用于接收客户端发送的IO请求;
记录模块,用于当所述IO请求经过每层IO栈时,通过每层IO栈分别预设的管理配置分别标记所述IO请求,并分别记录所述IO请求在每层IO栈的IO信息;
分析模块,用于根据所述IO请求在每层IO栈的IO信息,统计分析所述IO请求;
其中,所述IO信息至少包括:所述IO请求在每层IO栈的标识、进程ID、操作CPU、操作类型、各注册时间点及每个注册时间点的标记、当前时间戳、IO写入位置、IO大小及执行动作。
其中,还包括:
形成模块,用于根据所述IO请求在每层IO栈的IO信息,形成所述IO请求从文件系统层、IO管理层、IO缓存层、存储池层、raid层、虚拟磁盘层至磁盘块层的链式记录。
其中,还包括:
调取模块,用于按照预设的时间分析模块和/或场景分析模型,调取目标IO请求在每层IO栈的IO信息,根据所述目标IO请求在每层IO栈的IO信息统计分析所述目标请求。
一种存储系统的IO管理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意一项所述的存储系统的IO管理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述的存储系统的IO管理方法的步骤。
通过以上方案可知,本发明实施例提供的一种存储系统的IO管理方法,包括:接收客户端发送的IO请求;当所述IO请求经过每层IO栈时,通过每层IO栈分别预设的管理配置分别标记所述IO请求,并分别记录所述IO请求在每层IO栈的IO信息;根据所述IO请求在每层IO栈的IO信息,统计分析所述IO请求;其中,所述IO信息至少包括:所述IO请求在每层IO栈的标识、进程ID、操作CPU、操作类型、各注册时间点及每个注册时间点的标记、当前时间戳、IO写入位置、IO大小及执行动作。
可见,所述方法通过对接收到的IO请求进行标记,并记录其在每层IO栈的IO信息,进而根据其IO信息统计分析所述IO请求。其中,所述IO信息中记录了IO请求在每层IO栈的标识、进程ID、操作CPU、操作类型、各注册时间点及每个注册时间点的标记、当前时间戳、IO写入位置、IO大小及执行动作等方面的详细信息,能够为分析IO请求提供便利的条件和支持;同时,根据所述IO信息可以明确该IO请求经过的每层IO栈的关系,便于分析该IO请求的处理过程及传输路径;并且,针对存储系统的各层IO栈,可以统计分析每层对应的不同IO请求的IO信息,以此来获得每层IO栈的处理性能,便于技术人员及时调整优化存储系统,提高存储系统性能。
相应地,本发明实施例提供的一种存储系统的IO管理装置、设备及计算机可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种存储系统的IO管理方法流程图;
图2为本发明实施例公开的另一种存储系统的IO管理方法流程图;
图3为本发明实施例公开的一种存储系统的IO管理装置示意图;
图4为本发明实施例公开的一种存储系统的IO管理设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种存储系统的IO管理方法、装置、设备及计算机可读存储介质,以实现方便快捷的管理和调试IO,提高存储系统的存储性能。
参见图1,本发明实施例提供的一种存储系统的IO管理方法,包括:
S101、接收客户端发送的IO请求;
S102、当所述IO请求经过每层IO栈时,通过每层IO栈分别预设的管理配置分别标记所述IO请求,并分别记录所述IO请求在每层IO栈的IO信息;
具体的,当IO请求经过每层IO栈时,其在每层IO栈的详细IO信息均会被记录。
S103、根据所述IO请求在每层IO栈的IO信息,统计分析所述IO请求。
其中,所述IO信息至少包括:所述IO请求在每层IO栈的标识、进程ID、操作CPU、操作类型、各注册时间点及每个注册时间点的标记、当前时间戳、IO写入位置、IO大小及执行动作。
在本实施例中,各IO栈自上而下分别为:文件系统层、IO管理层、IO缓存层、存储池层、raid层、虚拟磁盘层和磁盘块层;其中,磁盘块层包括通用块层、IO调度层和磁盘驱动层)。根据各IO层的IO组织方式和IO特点进行IO信息记录,用户可以结合各个时间段、各种IO场景来对IO进行特殊化分析,以便于对IO请求进行分析。
可见,本实施例提供的一种存储系统的IO管理方法,所述方法通过对接收到的IO请求进行标记,并记录其在每层IO栈的IO信息,进而根据其IO信息统计分析所述IO请求。其中,所述IO信息中记录了IO请求在每层IO栈的标识、进程ID、操作CPU、操作类型、各注册时间点及每个注册时间点的标记、当前时间戳、IO写入位置、IO大小及执行动作等方面的详细信息,能够为分析IO请求提供便利的条件和支持;同时,根据所述IO信息可以明确该IO请求经过的每层IO栈的关系,便于分析该IO请求的处理过程及传输路径;并且,针对存储系统的各层IO栈,可以统计分析每层对应的不同IO请求的IO信息,以此来获得每层IO栈的处理性能,便于技术人员及时调整优化存储系统,提高存储系统性能。
本发明实施例公开了另一种存储系统的IO管理方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
参见图2,本发明实施例提供的另一种存储系统的IO管理方法,包括:
S201、接收客户端发送的IO请求;
S202、当所述IO请求经过每层IO栈时,通过每层IO栈分别预设的管理配置分别标记所述IO请求,并分别记录所述IO请求在每层IO栈的IO信息;
S203、根据IO请求在每层IO栈的IO信息,形成所述IO请求从文件系统层、IO管理层、IO缓存层、存储池层、raid层、虚拟磁盘层至磁盘块层的链式记录;
具体的,根据各层IO栈IO split、merge和remap的具体特性,通过IO信息可以对上下相邻两层IO栈进行关联,使IO从文件系统层至磁盘块层形成一个链式记录。通过IO请求经过各层IO栈的总体耗时情况,以定位IO请求的异常和阻塞。
其中,该链式记录中存储了各层相邻IO栈的IO信息。具体为:下层IO栈IO保存上层IO栈IO标识,从而建立起IO栈之间的联系。下层IO栈获取上层IO栈的标识进行关联,如此实现文件系统文件位置的数据与块设备地址数据的关联,各种灾备IO与原始IO的关联,存储池中卷IO与raidIO的关联,raid IO与虚拟磁盘、磁盘IO的关联。其中。对于split的IO通过主/次IO编号的方式进行标识,对于merge的IO通过IO编号和IO个数的方式进行标识,对于remap的IO可以直接一对一进行对应。
S204、根据所述IO请求在每层IO栈的IO信息,统计分析所述IO请求。
其中,所述IO信息至少包括:所述IO请求在每层IO栈的标识、进程ID、操作CPU、操作类型、各注册时间点及每个注册时间点的标记、当前时间戳、IO写入位置、IO大小及执行动作。
可见,本实施例提供的另一种存储系统的IO管理方法,所述方法通过对接收到的IO请求进行标记,并记录其在每层IO栈的IO信息,进而根据其IO信息统计分析所述IO请求。其中,所述IO信息中记录了IO请求在每层IO栈的标识、进程ID、操作CPU、操作类型、各注册时间点及每个注册时间点的标记、当前时间戳、IO写入位置、IO大小及执行动作等方面的详细信息,能够为分析IO请求提供便利的条件和支持,并形成所述IO请求从文件系统层、IO管理层、IO缓存层、存储池层、raid层、虚拟磁盘层至磁盘块层的链式记录。
其中,根据所述IO信息可以明确该IO请求经过的每层IO栈的关系,便于分析该IO请求的处理过程及传输路径;并且,针对存储系统的各层IO栈,可以统计分析每层对应的不同IO请求的IO信息,以此来获得每层IO栈的处理性能,便于技术人员及时调整优化存储系统,提高存储系统性能。
基于上述任意实施例,需要说明的是,本说明书提供的存储系统的IO管理方法还包括:按照预设的时间分析模块和/或场景分析模型,调取目标IO请求在每层IO栈的IO信息,根据所述目标IO请求在每层IO栈的IO信息统计分析所述目标请求。
具体的,可以对预设数量的IO请求进行标记,标记的策略不限于文件位置、地址范围、IO操作类型和操作用户等。对IO请求进行标记后,可以跟踪IO请求所经过的IO栈路径和执行的动作,诊断是否符合预期IO流程规划;通过对IO请求进行split、merge和remap的动作的分析,对具体场景的IO行为进行调整和优化,能够减少不必要的冗余动作提高IO请求的处理效率。
基于上述任意实施例,需要说明的是,所述根据所述目标IO请求在每层IO栈的IO信息统计分析所述目标请求之后,还包括:根据所述目标IO请求在每层IO栈的IO信息,统计分析每层IO栈的处理参数,所述处理参数至少包括:IO带宽和IOPS。
具体的,可以针对整体或各层IO栈来进行处理参数的统计分析,包括IO带宽和IOPS等性能参数。具体为:通过对注册的各个关键时间点的流量和IOPS等数据的统计,实现IO性能数据的统计。
基于上述任意实施例,需要说明的是,所述根据所述目标IO请求在每层IO栈的IO信息,统计分析每层IO栈的处理参数之后,还包括:将每层IO栈的处理参数进行可视化展示。
具体的,通过对存储系统中的每层IO栈的信息记录,展示每层IO栈的处理参数;进而根据每层IO栈的处理参数,统计分析整个存储系统的IO性能,并通过必要的技术手段展示统计结果,以便于技术人员调试存储系统,优化存储。
基于上述任意实施例,需要说明的是,当所述IO请求经过文件系统层时,本层记录用户态程序从调用文件系统syscall开始到文件IO通过bdi回写(或直写)方式下刷到IO管理层的过程。借助iovec、page和fs metadata结构,插入性能记录的相关数据结构,对当前层的IO性能记录,在各个注册的关键时间点更新IO性能记录数据。注册的关键点包括:文件系统调用开始时间点、用户态buffer数据拷贝到内核空间时间点、磁盘元数据生成/更新时间点、文件页数据插入基树结束时间点、bdi回写开始时间点、bdi回写结束时间点,用户可以选择注册全部或部分关键时间点,各注册时间点可以用编号加以区分。
其中,该IO请求在文件系统层的IO信息可以包括:seq:标识该IO的序列号;user/process:IO发起的用户和进程;cpu:该IO过程的操作cpu;type:该IO的操作类型,例如:读操作或者写操作等;时间点编号:该记录所属时间点的编号;stamp:当前时间戳;当前IO的位置:包括数据/元数据类型、文件位置等;size:该IO的size。当IO到达指定时间点后更新IO信息,根据该IO信息,用户可以适当调整文件的组织分布及回写策略等。
基于上述任意实施例,需要说明的是,当所述IO请求经过IO管理层时,本层记录IO从进入本层到经历本层各种IO动作后离开本层的IO性能数据,借助自定义的IO管理数据结构和各IO功能插件数据结构来实现IO性能数据的记录,注册的关键点包括:IO管理块设备部分时间、IO管理调度开始时间点、各个IO功能插件开始和结束时间点(快照、复制等功能)、IO管理调度结束时间点,用户可以选择注册全部或部分关键时间点。
其中,该IO请求在IO管理层的IO信息可以包括:seq:当前IO栈标识该IO的序列号;process:该IO发起进程ID;cpu:该IO过程的操作cpu;type:该IO的操作类型,例如:读操作或者写操作等;时间点编号:该记录所属时间点的编号,包括功能插件类型的编号;stamp:当前时间戳;address:该IO的写入卷标号和逻辑地址;size:IO大小。
基于上述任意实施例,需要说明的是,当所述IO请求经过IO缓存层时,本层记录IO从进入缓存开始到下刷到存储池层的各IO的性能数据,借助自定义的IO缓存数据结构和各管理元数据,插入IO性能记录数据结构,注册的关键点包括:IO到达IO缓存层的时间点、IO进行merge的时间点、IO排列近IO缓存池中的时间点、IO下刷的时间点、IO下刷完成的时间点,用户可以选择注册全部或部分关键时间点。
其中,该IO请求在IO缓存层的IO信息可以包括:seq:当前IO栈标识该IO的序列号;process:该IO发起进程ID;cpu:该IO过程的操作cpu;type:该IO的操作类型,例如:读操作或者写操作等;时间点编号:该记录所属时间点的编号;stamp:当前时间戳;address:该IO的写入卷标号和逻辑地址;size:IO大小;merge信息:IO merge相关的对应信息。
基于上述任意实施例,需要说明的是,当所述IO请求经过存储池层时,本层记录IO从进入开始到发送到raid层的各IO的性能数据,借助自定义的IO数据结构和各管理元数据,插入IO性能记录数据结构,注册的关键点包括:IO到达存储池层的时间点、IO完成remap的时间点、IO发送点raid层的时间点,用户可以选择注册全部或部分关键时间点。
其中,该IO请求在存储池层的IO信息可以包括:seq:当前IO栈标识该IO的序列号;process:该IO发起进程ID;cpu:该IO过程的操作cpu;type:该IO的操作类型,例如:读操作或者写操作等;时间点编号:该记录所属时间点的编号;stamp:当前时间戳;address:该IO的写入池标号和逻辑地址;size:IO大小;remap信息:IO remap相关的对应信息。
基于上述任意实施例,需要说明的是,当所述IO请求经过raid层时,本层记录IO从进入raid开始到发送到虚拟磁盘层的各IO的性能数据,借助自定义的IO缓存数据结构和各管理元数据,插入IO性能记录数据结构,注册的关键点包括:IO进入raid层的时间点、IO完成split、remap的时间点、IO完成插入vdisk队列的时间点,用户可以选择注册全部或部分关键时间点。
其中,该IO请求在raid层的IO信息可以包括:seq:当前IO栈标识该IO的序列号;process:该IO发起进程ID;cpu:该IO过程的操作cpu;type:该IO的操作类型,例如:读操作或者写操作等;时间点编号:该记录所属时间点的编号stamp:当前时间戳;address:该IO的写入raid标号和逻辑地址;size:IO大小;remap/split信息:IO remap/split相关的对应信息。
基于上述任意实施例,需要说明的是,当所述IO请求经过虚拟磁盘层时,本层记录IO从进入虚拟磁盘层开始到发送到磁盘块层结束的各IO的性能数据,借助自定义的IO缓存数据结构和各管理元数据,插入IO性能记录数据结构,注册的关键点包括:IO进入虚拟磁盘层的时间点、IO完成remap的时间点、IO完成插入磁盘队列的时间点,用户可以选择注册全部或部分关键时间点。
其中,该IO请求在虚拟磁盘层的IO信息可以包括:seq:当前IO栈标识该IO的序列号;process:该IO发起进程ID;cpu:该IO过程的操作cpu;type:该IO的操作类型,例如:读操作或者写操作等;时间点编号:该记录所属时间点的编号;stamp:当前时间戳;address:该IO的写入磁盘标号和逻辑地址;size:IO大小;remap信息:IO remap相关的对应信息。
基于上述任意实施例,需要说明的是,当所述IO请求经过磁盘块层时,本层包括通用块层、IO调度层、驱动层,本层记录IO从进入磁盘块层开始到发送到磁盘物理设备结束的各IO的性能数据,借助bio及自定义数据结构完成IO,注册的关键点包括:IO进入本层的时间点、IO完成merge/split加入到调度队列的时间点、IO进入driver的时间点、IO发给硬盘设备的时间点,用户可以选择注册全部或部分关键时间点。
其中,该IO请求在磁盘块层的IO信息可以包括:seq:当前IO栈标识该IO的序列号;process:该IO发起进程ID;cpu:该IO过程的操作cpu;type:该IO的操作类型,例如:读操作或者写操作等;时间点编号:该记录所属时间点的编号;stamp:当前时间戳;address:该IO的写入磁盘标号和逻辑地址;size:IO大小;split/merge信息:IO split/merge相关的对应信息。
下面对本发明实施例提供的一种存储系统的IO管理装置进行介绍,下文描述的一种存储系统的IO管理装置与上文描述的一种存储系统的IO管理方法可以相互参照。
参见图3,本发明实施例提供的一种存储系统的IO管理装置,包括:
接收模块301,用于接收客户端发送的IO请求;
记录模块302,用于当所述IO请求经过每层IO栈时,通过每层IO栈分别预设的管理配置分别标记所述IO请求,并分别记录所述IO请求在每层IO栈的IO信息;
分析模块303,用于根据所述IO请求在每层IO栈的IO信息,统计分析所述IO请求;
其中,所述IO信息至少包括:所述IO请求在每层IO栈的标识、进程ID、操作CPU、操作类型、各注册时间点及每个注册时间点的标记、当前时间戳、IO写入位置、IO大小及执行动作。
其中,还包括:
形成模块,用于根据所述IO请求在每层IO栈的IO信息,形成所述IO请求从文件系统层、IO管理层、IO缓存层、存储池层、raid层、虚拟磁盘层至磁盘块层的链式记录。
其中,还包括:
调取模块,用于按照预设的时间分析模块和/或场景分析模型,调取目标IO请求在每层IO栈的IO信息,根据所述目标IO请求在每层IO栈的IO信息统计分析所述目标请求。
其中,还包括:
统计模块,用于根据所述目标IO请求在每层IO栈的IO信息,统计分析每层IO栈的处理参数,所述处理参数至少包括:IO带宽和IOPS。
其中,还包括:
展示模块,用于将每层IO栈的处理参数进行可视化展示。
下面对本发明实施例提供的一种存储系统的IO管理设备进行介绍,下文描述的一种存储系统的IO管理设备与上文描述的一种存储系统的IO管理方法及装置可以相互参照。
参见图4,本发明实施例提供的一种存储系统的IO管理设备,包括:
存储器401,用于存储计算机程序;
处理器402,用于执行所述计算机程序时实现上述任意实施例所述的存储系统的IO管理方法的步骤。
下面对本发明实施例提供的一种计算机可读存储介质进行介绍,下文描述的一种计算机可读存储介质与上文描述的一种存储系统的IO管理方法、装置及设备可以相互参照。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意实施例所述的存储系统的IO管理方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种存储系统的IO管理方法,其特征在于,包括:
接收客户端发送的IO请求;
当所述IO请求经过每层IO栈时,通过每层IO栈分别预设的管理配置分别标记所述IO请求,并分别记录所述IO请求在每层IO栈的IO信息;
根据所述IO请求在每层IO栈的IO信息,统计分析所述IO请求;
其中,所述IO信息至少包括:所述IO请求在每层IO栈的标识、进程ID、操作CPU、操作类型、各注册时间点及每个注册时间点的标记、当前时间戳、IO写入位置、IO大小及执行动作;
其中,所述根据所述IO请求在每层IO栈的IO信息统计分析所述IO请求之前,还包括:
根据所述IO请求在每层IO栈的IO信息,形成所述IO请求从文件系统层、IO管理层、IO缓存层、存储池层、raid层、虚拟磁盘层至磁盘块层的链式记录。
2.根据权利要求1所述的存储系统的IO管理方法,其特征在于,还包括:
按照预设的时间分析模块和/或场景分析模型,调取目标IO请求在每层IO栈的IO信息,根据所述目标IO请求在每层IO栈的IO信息统计分析所述目标请求。
3.根据权利要求2所述的存储系统的IO管理方法,其特征在于,所述根据所述目标IO请求在每层IO栈的IO信息统计分析所述目标请求之后,还包括:
根据所述目标IO请求在每层IO栈的IO信息,统计分析每层IO栈的处理参数,所述处理参数至少包括:IO带宽和IOPS。
4.根据权利要求3所述的存储系统的IO管理方法,其特征在于,所述根据所述目标IO请求在每层IO栈的IO信息,统计分析每层IO栈的处理参数之后,还包括:
将每层IO栈的处理参数进行可视化展示。
5.一种存储系统的IO管理装置,其特征在于,包括:
接收模块,用于接收客户端发送的IO请求;
记录模块,用于当所述IO请求经过每层IO栈时,通过每层IO栈分别预设的管理配置分别标记所述IO请求,并分别记录所述IO请求在每层IO栈的IO信息;
分析模块,用于根据所述IO请求在每层IO栈的IO信息,统计分析所述IO请求;
其中,所述IO信息至少包括:所述IO请求在每层IO栈的标识、进程ID、操作CPU、操作类型、各注册时间点及每个注册时间点的标记、当前时间戳、IO写入位置、IO大小及执行动作;
其中,还包括:
形成模块,用于根据所述IO请求在每层IO栈的IO信息,形成所述IO请求从文件系统层、IO管理层、IO缓存层、存储池层、raid层、虚拟磁盘层至磁盘块层的链式记录。
6.根据权利要求5所述的存储系统的IO管理装置,其特征在于,还包括:
调取模块,用于按照预设的时间分析模块和/或场景分析模型,调取目标IO请求在每层IO栈的IO信息,根据所述目标IO请求在每层IO栈的IO信息统计分析所述目标请求。
7.一种存储系统的IO管理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1-4任意一项所述的存储系统的IO管理方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-4任意一项所述的存储系统的IO管理方法的步骤。
CN201810325520.8A 2018-04-12 2018-04-12 一种存储系统的io管理方法及装置 Active CN108519863B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810325520.8A CN108519863B (zh) 2018-04-12 2018-04-12 一种存储系统的io管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810325520.8A CN108519863B (zh) 2018-04-12 2018-04-12 一种存储系统的io管理方法及装置

Publications (2)

Publication Number Publication Date
CN108519863A CN108519863A (zh) 2018-09-11
CN108519863B true CN108519863B (zh) 2021-06-11

Family

ID=63431878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810325520.8A Active CN108519863B (zh) 2018-04-12 2018-04-12 一种存储系统的io管理方法及装置

Country Status (1)

Country Link
CN (1) CN108519863B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109445943A (zh) * 2018-10-24 2019-03-08 郑州云海信息技术有限公司 内核态系统中i/o栈的内存管理方法、系统及相关装置
CN109491610A (zh) * 2018-11-07 2019-03-19 郑州云海信息技术有限公司 一种基于硬盘配置的存储带宽分析方法及装置
CN112000543B (zh) * 2020-07-29 2023-03-31 北京浪潮数据技术有限公司 一种存储系统的时延性能检测方法、装置及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508697A (zh) * 2011-11-25 2012-06-20 武汉钢铁(集团)公司 一种Java实现8位嵌入式CPU仿真运行环境的方法
CN102681886A (zh) * 2011-04-14 2012-09-19 天脉聚源(北京)传媒科技有限公司 一种移动设备上用户行为追踪的方法和系统
CN104102742A (zh) * 2014-07-31 2014-10-15 浪潮电子信息产业股份有限公司 一种高性能海量存储系统及存储方法
CN104903872A (zh) * 2012-08-31 2015-09-09 才智知识产权控股公司(2) 用于自适应持久化的系统、方法和接口
CN106126407A (zh) * 2016-06-22 2016-11-16 西安交通大学 一种针对分布式存储系统的性能监控调优系统及方法
CN107291388A (zh) * 2017-06-15 2017-10-24 郑州云海信息技术有限公司 一种io栈中数据分层的方法和装置
CN107562383A (zh) * 2017-09-05 2018-01-09 联想(北京)有限公司 信息处理方法、存储设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681886A (zh) * 2011-04-14 2012-09-19 天脉聚源(北京)传媒科技有限公司 一种移动设备上用户行为追踪的方法和系统
CN102508697A (zh) * 2011-11-25 2012-06-20 武汉钢铁(集团)公司 一种Java实现8位嵌入式CPU仿真运行环境的方法
CN104903872A (zh) * 2012-08-31 2015-09-09 才智知识产权控股公司(2) 用于自适应持久化的系统、方法和接口
CN104102742A (zh) * 2014-07-31 2014-10-15 浪潮电子信息产业股份有限公司 一种高性能海量存储系统及存储方法
CN106126407A (zh) * 2016-06-22 2016-11-16 西安交通大学 一种针对分布式存储系统的性能监控调优系统及方法
CN107291388A (zh) * 2017-06-15 2017-10-24 郑州云海信息技术有限公司 一种io栈中数据分层的方法和装置
CN107562383A (zh) * 2017-09-05 2018-01-09 联想(北京)有限公司 信息处理方法、存储设备及存储介质

Also Published As

Publication number Publication date
CN108519863A (zh) 2018-09-11

Similar Documents

Publication Publication Date Title
CN108519863B (zh) 一种存储系统的io管理方法及装置
WO2017012392A1 (zh) 一种磁盘检测的方法和装置
WO2018184419A1 (zh) 一种精算处理方法和装置
RU2006104558A (ru) Устройство обработки информации, носитель записи информации, способ обработки информации и компьютерная программа
US20140244191A1 (en) Current usage estimation for electronic devices
CN102981944B (zh) 一种基于文件系统的日志存储方法
CN109918378A (zh) 一种基于区块链的遥感数据存储方法和存储系统
CN107506145B (zh) 一种物理存储调度方法及云主机创建方法
CN104572762B (zh) 删除及恢复录像文件的方法和装置
WO2016091085A1 (zh) 数据传输方法、装置和服务器
WO2021169163A1 (zh) 一种文件数据存取方法、装置和计算机可读存储介质
CN109783509A (zh) Sql脚本生成方法及装置
CN106484313A (zh) 数据信息备份方法、数据备份方法及装置
CN109408361A (zh) Monkey测试复原方法、装置、电子设备及计算机可读存储介质
CN109710470A (zh) 处理器重放调试方法及系统
CN110674008B (zh) Ssd的问题盘日志信息收集方法、装置、设备及介质
CN105589733A (zh) 一种数据处理方法和装置
US11151013B2 (en) Systems and methods for performance evaluation of input/output (I/O) intensive enterprise applications
CN109542945A (zh) 区块链数据统计分析方法、装置及存储介质
CN105556462A (zh) 写入文件和文件元数据
CN107967118A (zh) 一种实现硬盘数据快速转储和查看的方法及设备
CN112181662B (zh) 任务调度方法、装置、电子设备及存储介质
EP2674852B1 (en) I/o balanced processing method and device
CN108280019A (zh) 一种评估服务器健康状态的方法
US10726511B2 (en) Systems and methods for tracking copying of printed materials owned by rights holders

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