系统管理方法和装置制造方法及图纸

技术编号:11437634 阅读:75 留言:0更新日期:2015-05-08 15:49
本发明专利技术公开了一种系统管理方法和装置,该系统管理方法包括:在内核的LVM层和RAID层的中间建立一个缓存层;获得所述LVM层下发的指令使得数据到达所述缓存层;通过所述缓存层对所述数据进行处理。本发明专利技术通过在LVM层和RAID层的中间创建一个缓存层,并可以通过该缓存层实现对系统数据的优化处理从而可以大大提升系统对数据处理的性能。

【技术实现步骤摘要】
系统管理方法和装置
本专利技术涉及计算机领域,具体来说,涉及一种系统管理方法和装置。
技术介绍
在以数据为中心的信息时代,妥善有效地保护数据显得尤为重要。信息的丢失将会给企业或用户造成大量的损失。冗余磁盘阵列(RedundantArrayofIndependentDisks)技术是各种企业信息系统和个人广泛使用的解决方案,一般的中高档服务器多使用硬件RAID控制器,但是由于硬件RAID控制器的价格昂贵,导致系统成本大大增加。而随着处理器的性能快速发展,使得软件RAID的解决方法得到人们的重视。在磁盘阵列系统中,页缓存(pagecache):页缓存是Linux内核一种重要的磁盘高速缓存,它通过软件机制实现。但页缓存和硬件cache的原理基本相同,将容量大而低速设备中的部分数据存放到容量小而快速的设备中,这样速度快的设备将作为低速设备的缓存,当访问低速设备中的数据时,可以直接从缓存中获取数据而不需再访问低速设备,从而节省了整体的访问时间。页缓存以页为大小进行数据缓存,它将磁盘中最常用和最重要的数据存放到部分物理内存中,使得系统访问块设备时可以直接从主存中获取块设备数据,而不需从磁盘中获取数据。在大多数情况下,内核在读写磁盘时都会使用页缓存。内核在读文件时,首先在已有的页缓存中查找所读取的数据是否已经存在。如果该页缓存不存在,则一个新的页将被添加到高速缓存中,然后用从磁盘读取的数据填充它。如果当前物理内存足够空闲,那么该页将长期保留在高速缓存中,使得其他进程再使用该页中的数据时不再访问磁盘。写操作与读操作时类似,直接在页缓存中修改数据,但是页缓存中修改的数据(该页此时被称为DirtyPage)并不是马上就被写入磁盘,而是延迟几秒钟,以防止进程对该页缓存中的数据再次修改。页缓存在内核中的结构如图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层)使用,其他模块无法使用这段内存。本文档来自技高网
...
系统管理方法和装置

【技术保护点】
一种系统管理方法,其特征在于,包括:在内核的LVM层和RAID层的中间建立一个缓存层;获得所述LVM层下发的指令使得数据到达所述缓存层;通过所述缓存层对所述数据进行处理。

【技术特征摘要】
1.一种系统管理方法,其特征在于,包括:在内核的LVM层和RAID层的中间建立一个缓存层;获得所述LVM层下发的指令使得数据到达所述缓存层;通过所述缓存层对所述数据进行处理;当所述指令为写指令时,所述缓存层在基数树上查找是否存在与所述写指令对应的页,若不存在,则从所述缓存层的缓存池中获取申请页,并对所述申请页的块标志进行配置后将所述申请页挂到所述基数树上。2.根据权利要求1所述的方法,其特征在于,所述缓存层至少具备以下功能之一:将所述数据缓存后再读写、直接读写所述数据、直接读写所述数据的功能与将所述数据缓存后再读写的功能之间相互转换、预读所述数据、页回写、页回收、强制同步缓存数据到硬盘、断电后自动保护获取的数据。3.根据权利要求1所述的方法,其特征在于,所述缓存层包含至少一个子缓存层,且子缓存层的数量与RAID层的数量相同并且一一对应。4.根据权利要求3所述的方法,其特征在于,每个子缓存层均含有独立的基数树及处理请求的线程。5.根据权利要求1所述的方法,其特征在于,包括:对所述缓存层初始化使所述缓存层形成页的结构;建立页的管理结构和页的存储结构的映射。6.根据权利要求1所述的方法,其特征在于,所述缓存层进一...

【专利技术属性】
技术研发人员:袁清波苗艳超刘新春邵宗有
申请(专利权)人:曙光信息产业股份有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1