CN104598166A - 系统管理方法和装置 - Google Patents

系统管理方法和装置 Download PDF

Info

Publication number
CN104598166A
CN104598166A CN201410853647.9A CN201410853647A CN104598166A CN 104598166 A CN104598166 A CN 104598166A CN 201410853647 A CN201410853647 A CN 201410853647A CN 104598166 A CN104598166 A CN 104598166A
Authority
CN
China
Prior art keywords
layer
data
cache layer
page
write
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.)
Granted
Application number
CN201410853647.9A
Other languages
English (en)
Other versions
CN104598166B (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.)
CHINESE CORPORATION DAWNING INFORMATION INDUSTRY CHENGDU CO., LTD.
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry 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 Dawning Information Industry Co Ltd filed Critical Dawning Information Industry Co Ltd
Priority to CN201410853647.9A priority Critical patent/CN104598166B/zh
Publication of CN104598166A publication Critical patent/CN104598166A/zh
Application granted granted Critical
Publication of CN104598166B publication Critical patent/CN104598166B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种系统管理方法和装置,该系统管理方法包括:在内核的LVM层和RAID层的中间建立一个缓存层;获得所述LVM层下发的指令使得数据到达所述缓存层;通过所述缓存层对所述数据进行处理。本发明通过在LVM层和RAID层的中间创建一个缓存层,并可以通过该缓存层实现对系统数据的优化处理从而可以大大提升系统对数据处理的性能。

Description

系统管理方法和装置
技术领域
本发明涉及计算机领域,具体来说,涉及一种系统管理方法和装置。
背景技术
在以数据为中心的信息时代,妥善有效地保护数据显得尤为重要。信息的丢失将会给企业或用户造成大量的损失。冗余磁盘阵列(Redundant Array ofIndependent Disks)技术是各种企业信息系统和个人广泛使用的解决方案,一般的中高档服务器多使用硬件RAID控制器,但是由于硬件RAID控制器的价格昂贵,导致系统成本大大增加。而随着处理器的性能快速发展,使得软件RAID的解决方法得到人们的重视。
在磁盘阵列系统中,页缓存(page cache):页缓存是Linux内核一种重要的磁盘高速缓存,它通过软件机制实现。但页缓存和硬件cache的原理基本相同,将容量大而低速设备中的部分数据存放到容量小而快速的设备中,这样速度快的设备将作为低速设备的缓存,当访问低速设备中的数据时,可以直接从缓存中获取数据而不需再访问低速设备,从而节省了整体的访问时间。
页缓存以页为大小进行数据缓存,它将磁盘中最常用和最重要的数据存放到部分物理内存中,使得系统访问块设备时可以直接从主存中获取块设备数据,而不需从磁盘中获取数据。
在大多数情况下,内核在读写磁盘时都会使用页缓存。内核在读文件时,首先在已有的页缓存中查找所读取的数据是否已经存在。如果该页缓存不存在,则一个新的页将被添加到高速缓存中,然后用从磁盘读取的数据填充它。如果当前物理内存足够空闲,那么该页将长期保留在高速缓存中,使得其他进程再使用该页中的数据时不再访问磁盘。写操作与读操作时类似,直接在页缓存中修改数据,但是页缓存中修改的数据(该页此时被称为Dirty Page)并不是马上就被写入磁盘,而是延迟几秒钟,以防止进程对该页缓存中的数据再次修改。页缓存在内核中的结构如图1所示。
在传统的磁盘阵列中,当在系统中建立完raid之后,用户开始读写数据,系统就会发送读写请求到raid这一层,raid则收到读写请求后向底层下发,磁盘收到这些请求后开始准备数据,而这个读写请求操作过程中会等待磁盘去准备这些数据,而磁盘的机械操作相对于内存中读写这些数据性能要低的多。所以也就降低了整个系统的性能。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种系统管理方法,能够实现对系统数据的优化处理从而可以大大提升系统对数据处理的性能。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种系统管理方法,该系统管理方法包括:在内核的LVM层和RAID层的中间建立一个缓存层;获得LVM层下发的指令使得数据到达缓存层;通过缓存层对数据进行处理。
其中,缓存层至少具备以下功能之一:将数据缓存后再读写、直接读写数据、直接读写数据的功能与将数据缓存后再读写的功能之间相互转换、预读数据、页回写、页回收、强制同步缓存数据到硬盘、断电后自动保护获取的数据。
其中,缓存层包含至少一个子缓存层,且子缓存层的数量与RAID层的数量相同并且一一对应。
优选地,每个子缓存层均含有独立的基数树及处理请求的线程。
其中,该系统管理方法包括:对缓存层初始化使缓存层形成页的结构;建立页的管理结构和页的存储结构的映射。
其中,缓存层进一步用于存储页的元数据。
根据本发明的另一方面,提供了一种系统管理装置,该系统管理装置包括:
建立模块,用于在内核的LVM层和RAID层的中间建立一个缓存层;
获取模块,用于获得LVM层下发的指令使得数据到达缓存层;
处理模块,用于通过缓存层对数据进行处理。
其中,缓存层至少具备以下功能之一:将数据缓存后再读写、直接读写数据、直接读写数据的功能与将数据缓存后再读写的功能之间相互转换、预读数据、页回写、页回收、强制同步缓存数据到硬盘、断电后自动保护获取的数据。
其中,缓存层包含至少一个子缓存层,且子缓存层的数量与RAID层的数量相同并且一一对应,并且每个子缓存层均含有独立的基数树及处理请求的线程。
其中,该系统管理装置包括:
初始化模块,用于对缓存层初始化使缓存层形成页的结构;
创建模块,用于建立页的管理结构和页的存储结构的映射。
本发明上述方法和装置能够实现对系统数据的优化处理从而可以大大提升系统对数据处理的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术的内核数据处理方法的示意图;
图2是根据本发明实施例的系统管理方法的流程图;
图3是根据本发明实施例的系统管理方法的结构示意图;
图4是根据本发明一具体实施例的系统管理方法的示意性流程图;
图5是根据本发明另一具体实施例的系统管理方法的示意性流程图;
图6是根据本发明实施例的系统管理装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种系统管理方法。
如图2所示,根据本发明实施例的系统管理方法包括:
步骤S201,在内核的LVM层和RAID层的中间建立一个缓存层;
步骤S203,获得LVM层下发的指令使得数据到达缓存层;
步骤S205,通过缓存层对数据进行处理。
其中,缓存层至少具备以下功能之一:将数据缓存后再读写、直接读写数据、直接读写数据的功能与将数据缓存后再读写的功能之间相互转换、预读数据、页回写、页回收、强制同步缓存数据到硬盘、断电后自动保护获取的数据。
其中,缓存层包含至少一个子缓存层,且子缓存层的数量与RAID层的数量相同并且一一对应。
优选地,每个子缓存层均含有独立的基数树及处理请求的线程。
其中,该系统管理方法还包括:对缓存层初始化使缓存层形成页的结构;建立页的管理结构和页的存储结构的映射。
其中,缓存层进一步用于存储页的元数据。
为了更清楚的理解本发明的技术方案,下面以多个具体实施例来进行阐述,本发明主要在linux内核中LVM层和RAID层之间建立一个缓存层(包含多个target_cache层)来实现。
如图3所示,在LVM层和RAID层增加一层缓存层。Bio通过LVM层下发后修改属性,让bio(请求)经过缓存这一层。这个缓存层(target_cache层)可以实现的功能:支持经缓存读写和直读写;支持经缓存读写和直读写的转换;支持预读策略;支持页回写和页回收功能;支持强制同步缓存数据到硬盘;支持断电数据保护机制。
在本发明中,缓存层(target_cache层)建立在RAID层之上,为每个RAID创建一个target_cache数据结构与之对应,target_cache与raid数目是一一对应的关系。对每个RAID上的cahce都有独立的缓存树和处理bio的线程等资源。
其中,物理内存布局如下所述:
读写缓存池使用一段物理地址联系的内存地址空间,此空间在系统初始化时保留,操作系统使用保留空间以外的内存空间,保留空间通过ioremap映射给缓存层(target_cache层)使用,其他模块无法使用这段内存。这段空间除了用于存放数据外,还存放页page的元数据。该段内存地址空间又划分为读缓存池和写缓存池。读写缓存池经过初始化,初始化为页的结构并建立页的管理结构和页的存储结构的映射。这样页就可用于读写时存储数据的载体。
其中,缓存写流程如下所述:
当缓存层(target_cache层)接收到缓存写bio时,首先要从基数树上查找是否存在该页。如果该页没有找到,则从写缓存池中申请页,把页内的块标志置成WRITING标志,然后将其挂到基数树上。最后,在endbio处理线程中将数据拷贝到对应页。若要找的页已经在于基数树上,则需要判断其是否为写页,以及判断访问范围内块的状态,然后根据这些块的状态进行不同的处理,若块间存在互斥,则还需要加入相应等待队列。
其中,缓存读流程如下所述:
缓存读流程和缓存写类似,当缓存层(target_cache层)收到LVM层传来的读bio请求时,首先从基数树上遍历查找页,根据查找结果,分别进行处理,与缓存写不同的是,块标志的设置、互斥的考虑有所不同。
如图4进一步示出了本发明实施例的系统管理方法的示意性流程图,其中页面写回为:
这个功能仅针对写缓存池,当写缓存池中空闲页很少,而用户写数据较多时,需要将一些dirty数据写回到RAID释放所占用的页。这个过程对每个target_cache就是启用一个回刷线程,不断扫描基数树如果所扫描到的页符合回刷要求,则对页内的数据回刷到硬盘。
页面回收为:
这个过程主要针对回刷完的页和最近最少使用的读页进行回收操作,回收线程扫描每个target_cache结构如果该页的引用为1(表示符合回收要求)则进行回收,否则,继续判断下一个页。
如图5所示,断电数据保护为:
当系统出现崩溃和断电时,缓存层(target_cache层)对地址区间特定范围内的数据进行保存,将数据写到SSD硬盘的某个分区,并设置SSD的元数据头标志用来标识保存的数据有效。当系统遇到断电崩溃重启后,首先判断SSD状态有效标识符来判断所保存的数据是否有效,然后根据保存的元数据找到相应的数据并写到相应的位置进行恢复。
通过本发明的上述方案,能够实现对系统数据的优化处理从而可以大大提升系统对数据处理的性能。
根据本发明的实施例,还提供了一种系统管理装置。
如图6所示,根据本发明实施例的系统管理装置包括:
建立模块61,用于在内核的LVM层和RAID层的中间建立一个缓存层;
获取模块62,用于获得LVM层下发的指令使得数据到达缓存层;
处理模块63,用于通过缓存层对数据进行处理。
其中,缓存层至少具备以下功能之一:将数据缓存后再读写、直接读写数据、直接读写数据的功能与将数据缓存后再读写的功能之间相互转换、预读数据、页回写、页回收、强制同步缓存数据到硬盘、断电后自动保护获取的数据。
其中,缓存层包含至少一个子缓存层,且子缓存层的数量与RAID层的数量相同并且一一对应,并且每个子缓存层均含有独立的基数树及处理请求的线程。
其中,该系统管理装置还可以进一步包括:
初始化模块(未示出),用于对缓存层初始化使缓存层形成页的结构;
创建模块(未示出),用于建立页的管理结构和页的存储结构的映射。
综上所述,借助于本发明的上述技术方案,通过在LVM层和RAID层的中间创建一个缓存层,并可以通过该缓存层实现对系统数据的优化处理从而可以大大提升系统对数据处理的性能。
发明人通过采用本发明的技术方案进行了测试,在6块SAS盘创建的RAID5基础之上,将有无采用本发明技术方案的顺序读写的性能进行对比,根据对比结果可以得到,采用本发明技术方案对顺序写的性能的提升是非常明显的,最高提升至不采用本发明技术方案的200多倍。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种系统管理方法,其特征在于,包括:
在内核的LVM层和RAID层的中间建立一个缓存层;
获得所述LVM层下发的指令使得数据到达所述缓存层;
通过所述缓存层对所述数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述缓存层至少具备以下功能之一:
将所述数据缓存后再读写、直接读写所述数据、直接读写所述数据的功能与将所述数据缓存后再读写的功能之间相互转换、预读所述数据、页回写、页回收、强制同步缓存数据到硬盘、断电后自动保护获取的数据。
3.根据权利要求1所述的方法,其特征在于,所述缓存层包含至少一个子缓存层,且子缓存层的数量与RAID层的数量相同并且一一对应。
4.根据权利要求3所述的方法,其特征在于,每个子缓存层均含有独立的基数树及处理请求的线程。
5.根据权利要求1所述的方法,其特征在于,包括:
对所述缓存层初始化使所述缓存层形成页的结构;
建立页的管理结构和页的存储结构的映射。
6.根据权利要求1所述的方法,其特征在于,所述缓存层进一步用于存储页的元数据。
7.一种系统管理装置,其特征在于,包括:
建立模块,用于在内核的LVM层和RAID层的中间建立一个缓存层;
获取模块,用于获得所述LVM层下发的指令使得数据到达所述缓存层;
处理模块,用于通过所述缓存层对所述数据进行处理。
8.根据权利要求7所述的装置,其特征在于,所述缓存层至少具备以下功能之一:
将所述数据缓存后再读写、直接读写所述数据、直接读写所述数据的功能与将所述数据缓存后再读写的功能之间相互转换、预读所述数据、页回写、页回收、强制同步缓存数据到硬盘、断电后自动保护获取的数据。
9.根据权利要求7所述的装置,其特征在于,所述缓存层包含至少一个子缓存层,且子缓存层的数量与RAID层的数量相同并且一一对应,并且每个子缓存层均含有独立的基数树及处理请求的线程。
10.根据权利要求7所述的装置,其特征在于,包括:
初始化模块,用于对所述缓存层初始化使所述缓存层形成页的结构;
创建模块,用于建立页的管理结构和页的存储结构的映射。
CN201410853647.9A 2014-12-31 2014-12-31 系统管理方法和装置 Active CN104598166B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410853647.9A CN104598166B (zh) 2014-12-31 2014-12-31 系统管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410853647.9A CN104598166B (zh) 2014-12-31 2014-12-31 系统管理方法和装置

Publications (2)

Publication Number Publication Date
CN104598166A true CN104598166A (zh) 2015-05-06
CN104598166B CN104598166B (zh) 2018-01-30

Family

ID=53123993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410853647.9A Active CN104598166B (zh) 2014-12-31 2014-12-31 系统管理方法和装置

Country Status (1)

Country Link
CN (1) CN104598166B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740172A (zh) * 2016-01-26 2016-07-06 浪潮(北京)电子信息产业有限公司 一种块设备数据缓存掉电保护的方法及系统
CN109471671A (zh) * 2017-09-06 2019-03-15 武汉斗鱼网络科技有限公司 一种程序冷启动方法和系统
CN112000287A (zh) * 2020-08-14 2020-11-27 北京浪潮数据技术有限公司 一种io请求处理装置、方法、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629211B2 (en) * 2001-04-20 2003-09-30 International Business Machines Corporation Method and system for improving raid controller performance through adaptive write back/write through caching
US7051156B2 (en) * 2002-11-06 2006-05-23 Synology Inc. Raid-5 disk having cache memory
CN1851635A (zh) * 2006-06-01 2006-10-25 杭州华为三康技术有限公司 对廉价磁盘冗余阵列进行读写操作的方法和系统
CN102446261A (zh) * 2011-11-15 2012-05-09 浪潮电子信息产业股份有限公司 一种提高raid写效率的方法
CN103309820A (zh) * 2013-06-28 2013-09-18 曙光信息产业(北京)有限公司 磁盘阵列缓存的实现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629211B2 (en) * 2001-04-20 2003-09-30 International Business Machines Corporation Method and system for improving raid controller performance through adaptive write back/write through caching
US7051156B2 (en) * 2002-11-06 2006-05-23 Synology Inc. Raid-5 disk having cache memory
CN1851635A (zh) * 2006-06-01 2006-10-25 杭州华为三康技术有限公司 对廉价磁盘冗余阵列进行读写操作的方法和系统
CN102446261A (zh) * 2011-11-15 2012-05-09 浪潮电子信息产业股份有限公司 一种提高raid写效率的方法
CN103309820A (zh) * 2013-06-28 2013-09-18 曙光信息产业(北京)有限公司 磁盘阵列缓存的实现方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740172A (zh) * 2016-01-26 2016-07-06 浪潮(北京)电子信息产业有限公司 一种块设备数据缓存掉电保护的方法及系统
CN109471671A (zh) * 2017-09-06 2019-03-15 武汉斗鱼网络科技有限公司 一种程序冷启动方法和系统
CN112000287A (zh) * 2020-08-14 2020-11-27 北京浪潮数据技术有限公司 一种io请求处理装置、方法、设备及可读存储介质
CN112000287B (zh) * 2020-08-14 2022-06-17 北京浪潮数据技术有限公司 一种io请求处理装置、方法、设备及可读存储介质

Also Published As

Publication number Publication date
CN104598166B (zh) 2018-01-30

Similar Documents

Publication Publication Date Title
US9229653B2 (en) Write spike performance enhancement in hybrid storage systems
US11347443B2 (en) Multi-tier storage using multiple file sets
US8886882B2 (en) Method and apparatus of storage tier and cache management
CN109344090B (zh) 数据中心中kvm虚拟机的虚拟硬盘系统及数据中心
US9851919B2 (en) Method for data placement in a memory based file system
US10740251B2 (en) Hybrid drive translation layer
US10061706B2 (en) System and method for eviction and replacement in large content-addressable flash caches
CN106445405B (zh) 一种面向闪存存储的数据访问方法及其装置
WO2016111954A1 (en) Metadata management in a scale out storage system
CN104050094A (zh) 管理高速缓存存储区的系统、方法和计算机可读介质
US20180107601A1 (en) Cache architecture and algorithms for hybrid object storage devices
US8694563B1 (en) Space recovery for thin-provisioned storage volumes
US20130219122A1 (en) Multi-stage cache directory and variable cache-line size for tiered storage architectures
JP7057435B2 (ja) ハイブリッドメモリシステム
US9378152B2 (en) Systems and methods for I/O processing using out-of-band hinting to block driver or storage controller
US9183127B2 (en) Sequential block allocation in a memory
CN109783398A (zh) 一种基于相关感知页面级ftl固态硬盘性能优化方法
US10366000B2 (en) Re-use of invalidated data in buffers
US20150312366A1 (en) Unified caching of storage blocks and memory pages in a compute-node cluster
CN109739696B (zh) 一种双控存储阵列固态硬盘缓存加速方法
CN102508727A (zh) 一种通过软件实现磁盘阵列中的缓存掉电保护方法
US10853252B2 (en) Performance of read operations by coordinating read cache management and auto-tiering
US10114566B1 (en) Systems, devices and methods using a solid state device as a caching medium with a read-modify-write offload algorithm to assist snapshots
US10929066B1 (en) User stream aware file systems with user stream detection
CN104598166A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190909

Address after: 610000 Sichuan city of Chengdu province Tianfu Tianfu Avenue South Huayang Street No. 846

Co-patentee after: Sugon Information Industry Co., Ltd.

Patentee after: CHINESE CORPORATION DAWNING INFORMATION INDUSTRY CHENGDU CO., LTD.

Address before: 300384 Tianjin city Xiqing District Huayuan Industrial Zone (outer ring) Haitai Huake Street No. 15 1-3

Patentee before: Sugon Information Industry Co., Ltd.

TR01 Transfer of patent right