一种自动精简配置扩容的方法

文档序号:6399209阅读:410来源:国知局
专利名称:一种自动精简配置扩容的方法
技术领域
本发明涉及计算机领域,具体地说是一种自动精简配置扩容的方法。本发明是一种存储系统下自动精简配置存储池扩容的方法;通常用于存储系统中,旨在实现扩展自动精简配置的存储池空间;自动精简存储池模块中增加设备层,采用该技术对存储池空间进行扩容;本发明增加了自动精简存储池对存储设备的直接控制能力,对自动精简存储性能提升提供途径。
背景技术
目前很多存储系统都支持自动精简配置技术,自动精简配置中最为关键的部分是存储池空间分配以及回收,之所以这部分重要是因为这些被释放的存储空间就象内存一样可以被重新利用,增加了存储空间的使用效率,减少资源的浪费。当存储池中可用存储空间不足时,需要对存储池进行扩容,才能满足存储业务对于空间的需求。由于在自动精简配置系统中,存储池空间的分配是动态的,因此文件系统在向自动精简存储池模块发送写数据请求时,自动精简存储池模块才会真正的分配空间;当删除文件后,文件系统通知自动精简存储池模块进行存储池空间的回收。对自动精简配置存储池空间扩容目前业界主要如下方式:借助LVM第三方工具进行存储池的扩容,这种方式的扩容屏蔽了存储池对物理设备的直接控制能力,在一定程度上限制了存储池性能优化以及功能的扩展。本发明中通过在存储池中增加设备层,增加存储池对设备的直接控制,这样可以实现动态的存储池中容量的增加,也为后续存储池性能优化以及功能的扩展提供途径。当存储池空间回收后,存储池中可分配空间存储设备可能存在多个,在接收到写请求后,可能将请求分解映射到一个特定的设备或者多个设备上,潜在提升了后续读请求的性能。

发明内容
本发明的目的是提供一种自动精简配置扩容的方法。本发明的目的是按以下方式实现的,系统通过扩展自动精简存储池模块,实现存储池的扩容量,具体步骤如下:
1)在扩展自动精简存储池模块中增加设备层,当执行thin-poolextend device-name命令时,会将设备添加到设备层中的空闲RbTree数据结构中,RbTree中包含设备的特征信息,当正在使用RbTree中设备空间不能满足写请求时,首先会从空闲RbTree中提取一个设备,用来存储业务数据信息;同时会将设备信息从空闲RbTree中转移到正在使用中的RbTree中,当整个自动精简存储池中空闲RbTree中没有可用的设备时,需要用户向存储池中添加设备;
2)扩展自动精简存储池模块负责自动精简配置存储池中空间的分配、回收和存储池的空间扩容:
(I)当存储池接收到写请求之后,会查看当前正在使用RbTree中设备空闲空间是否能够满足本次写请求;如果能够满足写请求所占用的空间,则减少正在使用RbTree中设备的空闲空间数量,当设备空闲空间数量为O时,需要将设备从正在使用RbTree中转移到已经使用RbTree中;如果不能够满足写请求所占用的空间,则从空闲RbTree中提取设备,存储业务数据信息,同时将设备信息从空闲RbTree中转移到正在使用RbTree中;
(2)当存储池收到DISCARD请求之后,查看正在使用RbTree中是否包含DISCARD请求涉及的设备,如果找到设备则增加找到设备的空闲空间数量;如果未找到设备,则从已经使用的RbTree中查找DISCARD请求涉及的设备,增加找到设备的空闲空间数量,并将设备转移到正在使用RbTree中;此时正在使用的RbTree中可用空闲空间数量增加,并且可用设备数目也会增加;当正在使用RbTree中设备空间不再被使用,则将设备转移到空闲RbTree中。本发明的有益效果是:实现了自动精简配置存储池的扩容,增加了自动精简存储池对存储设备的直接控制能力,对自动精简存储性能提升提供途径;自动精简存储池中始终保留至少一个未被使用的物理存储设备,这在一定程度上增加大量写I O请求环境下存储系统的稳定性,不会导致存储系统轻易崩溃。


图1是自动精简存储池功能模块关系图。
具体实施例方式
参照说明书附图对本发明的方法作以下详细地说明。系统通过扩展自动精简存储池模块,实现存储池的扩容量,具体步骤如下:
1)在扩展自动精简存储池模块中增加设备层,当执行thin-poolextend device-name命令时,会将设备添加到设备层中的空闲RbTree数据结构中,RbTree中包含设备的特征信息,当正在使用RbTree中设备空间不能满足写请求时,首先会从空闲RbTree中提取一个设备,用来存储业务数据信息;同时会将设备信息从空闲RbTree中转移到正在使用中的RbTree中,当整个自动精简存储池中空闲RbTree中没有可用的设备时,需要用户向存储池中添加设备;
2)扩展自动精简存储池模块负责自动精简配置存储池中空间的分配、回收和存储池的空间扩容:
(1)当存储池接收到写请求之后,会查看当前正在使用RbTree中设备空闲空间是否能够满足本次写请求;如果能够满足写请求所占用的空间,则减少正在使用RbTree中设备的空闲空间数量,当设备空闲空间数量为0时,需要将设备从正在使用RbTree中转移到已经使用RbTree中;如果不能够满足写请求所占用的空间,则从空闲RbTree中提取设备,存储业务数据信息,同时将设备信息从空闲RbTree中转移到正在使用RbTree中;
(2)当存储池收到DISCARD请求之后,查看正在使用RbTree中是否包含DISCARD请求涉及的设备,如果找到设备则增加找到设备的空闲空间数量;如果未找到设备,则从已经使用的RbTree中查找DISCARD请求涉及的设备,增加找到设备的空闲空间数量,并将设备转移到正在使用RbTree中;此时正在使用的RbTree中可用空闲空间数量增加,并且可用设备数目也会增加;当正在使用RbTree中设备空间不再被使用,则将设备转移到空闲RbTree中。本发明的有益效果是:实现了自动精简配置存储池的扩容,增加了自动精简存储池对存储设备的直接控制能力,对自动精简存储性能提升提供途径;自动精简存储池中始终保留至少一个未被使用的物理存储设备,这在一定程度上增加大量写I O请求环境下存储系统的稳定性,不会导致存储系统轻易崩溃。除说明书所述的技术特征外,均为本专业技术人员的已知技术。
权利要求
1.一种自动精简配置扩容的方法,其特征在于系统通过扩展自动精简存储池模块,实现存储池的扩容量,具体步骤如下: 1)在扩展自动精简存储池模块中增加设备层,当执行thin-poolextend device-name命令时,会将设备添加到设备层中的空闲RbTree数据结构中,RbTree中包含设备的特征信息,当正在使用RbTree中设备空间不能满足写请求时,首先会从空闲RbTree中提取一个设备,用来存储业务数据信息;同时会将设备信息从空闲RbTree中转移到正在使用中的RbTree中,当整个自动精简存储池中空闲RbTree中没有可用的设备时,需要用户向存储池中添加设备; 2)扩展自动精简存储池模块的存储池空间分配&回收与扩容的交互: (1)当存储池接收到写请求之后,会查看当前正在使用RbTree中设备空闲空间是否能够满足本次写请求;如果能够满足写请求所占用的空间,则减少正在使用RbTree中设备的空闲空间数量,当设备空闲空间数量为0时,需要将设备从正在使用RbTree中转移到已经使用RbTree中;如果不能够满足写请求所占用的空间,则从空闲RbTree中提取设备,存储业务数据信息,同时将设备信息从空闲RbTree中转移到正在使用RbTree中; (2)当存储池收到DISCARD请求之后,查看正在使用RbTree中是否包含DISCARD请求涉及的设备,如果找到设备则增加找到设备的空闲空间数量;如果未找到设备,则从已经使用的RbTree中查找DISCARD请求涉及的设备,增加找到设备的空闲空间数量,并将设备转移到正在使用RbTree中;此时正在使用的RbTree中可用空闲空间数量增加,并且可用设备数目也会增加;当正在使用RbTree中设备空间不再被使用,则将设备转移到空闲RbTree中。
全文摘要
本发明提供一种自动精简配置扩容的方法,通过扩展自动精简存储池模块功能,来扩展存储池的容量,负责自动精简配置存储池中空间的分配与回收,存储池的空间扩容,当存储池中实际可用空间不足时,为满足业务需求,需要对整个存储池进行扩容,通过在自动精简存储池模块中增加设备层,通过本发明中的算法控制存储池中的设备使用,实现存储池中容量的扩展。增加存储池对设备的直接控制,这样可以实现动态的存储池中容量的增加,也为后续存储池性能优化以及功能的扩展提供途径。当存储池空间回收后,存储池中可分配空间存储设备可能存在多个,在接收到写请求后,可能将请求分解映射到一个特定的设备或者多个设备上,潜在提升了后续读请求的性能。
文档编号G06F3/06GK103116475SQ20131004706
公开日2013年5月22日 申请日期2013年2月6日 优先权日2013年2月6日
发明者梁志诚 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1