分布式存储系统中用户磁盘配额的动态分配方法

文档序号:6598808阅读:275来源:国知局
专利名称:分布式存储系统中用户磁盘配额的动态分配方法
技术领域
本发明涉及计算机领域中分布式存储系统的用户磁盘配额的动态分配方法。
背景技术
在传统的网络存储系统中,所有的数据和元数据都集中存放在存储服务器里,随 着客户并发访问量的增加,单台服务器成为整个系统性能的瓶颈,无法满足大规模存储应 用的需要。因此,分布式存储系统正成为存储领域新的发展趋势和研究方向。分布式存储 系统采用可扩展的结构采用多台存储服务器共同为用户提供数据存储服务,构成大容量 的磁盘空间,用户的数据分散存放在不同的存储服务器上;采用元数据服务器为用户提供 数据检索服务,同时负责管理整个分布存储系统的元数据和系统资源。这种体系结构不但 提高了系统的可靠性、可用性和工作效率,还易于扩展和移植。对于单服务器存储系统来说,所有用户数据都存储在存储服务器里,用户磁盘配 额管理由存储服务器文件系统的磁盘配额管理软件实现。而分布式存储服务系统中磁盘 配额分配一般采用等分法、动态统计法等方法。等分法是将用户磁盘配额平均分割后再配 给各个相关服务器。这种方法对于数据量较小的用户数据所在的存储服务器,就存在着空 间的浪费,而那些用户数据占存储空间较大的存储服务器,用户再往里加入数据就有可能 超出限额,让访问无法完成。相比之下,动态统计法能周期性地监测每个存储服务器中的用 户数据改变量,然后以最近一段时期内用户数据量变化率为依据对其调整本地磁盘配额 变化率为正且较大的,说明用户数据增加得很快,必须预留更多的本地磁盘配额;变化率很 大但为负的,说明用户数据减少得很快,就得剥夺更多的本地磁盘配额;而那些变化率较小 的,说明用户数据量变化不大,为其预留或剥夺的本地磁盘配额也较少。这种方法动态适应 性较强,比等分法更优越,但它毕竟是一种通过提前估计用户数据变化趋势而做出的决策, 由于用户对数据的访问具有很大的不确定性,使得这种预测不一定准确。比如由于数据量 下降得较快,存储服务器被剥夺了较大的空间,然后某段时间用户突然往里写入了大量的 数据,所占空间一下子超出限额,造成用户访问无法成功,或者得等待系统做出分析,并在 该存储服务器上增加用户的配额。由此可见,上述两种方法均不能很好的满足分布式存储 服务系统用户对存储空间的需求变化。在分布式存储服务系统中,用户在各个存储服务器上所占存储空间大小各不相 同,并且用户对数据的修改是随机而频繁的,使得不同存储服务器上的数据量会随时变化。 因此,针对分布式存储服务系统,设计合理的与用户访问行为相关的分布式存储服务系统 磁盘配额管理方案,对于适应用户数据变化的动态性,提高存储空间的利用率有着十分重 要的意义。

发明内容
本发明要解决的技术问题是针对分布式存储系统,提供一种用户磁盘配额的动态 分配方法,既能适应用户数据变化的动态性,又能提高存储空间的利用率。
为方便后文描述问题,下面给出分布式存储系统磁盘配额管理的几个重要定义1)用户磁盘配额分布式存储系统给注册用户分配的磁盘总限额,其大小由管理 员决定,一般是固定不变的;2)用户磁盘空间占用量某用户在所有存储服务器中已占用的全部磁盘空间的 总量;3)用户本地磁盘配额分布式存储系统为某用户在某台存储服务器里分配的磁 盘配额,其大小是动态可变的,由该服务器文件系统磁盘配额管理软件强制实施;4)用户本地磁盘空间占用量某用户在某台存储服务器中已占用的磁盘空间大 小;5)用户磁盘配额余额用户磁盘配额减去用户磁盘空间占用量所得的差值。本发明具体技术方案是第一步,构建并初始化分布式存储系统1. 1构建分布式存储系统由元数据服务器和多台存储服务器组成。元数据服务 器上安装操作系统软件和全局空间管理器,存储服务器上安装操作系统软件、文件系统软 件、文件系统磁盘配额管理软件和局部空间管理器,其中,全局空间管理器和局部空间管理 器为本发明的专用软件,其他软件均为通用软件。1. 2初始化全局空间管理器为每个用户做如下初始化的工作将用户磁盘配额 初始化为管理员指定的值;将用户磁盘空间占用量初始化为0(表示还没有用户存储数 据);将用户磁盘配额余额初始化为当前用户磁盘配额(此时还没有用户存储数据)。全局 空间管理器将所有用户的用户磁盘配额余额分发给各局部空间管理器。局部空间管理器为 每个用户做如下初始化工作将用户本地磁盘空间占用量初始化为0,将用户本地磁盘配 额初始化为0(还没有用户存储数据),将用户磁盘配额余额初始化为全局空间管理器分发 来的对应用户的用户磁盘配额余额。第二步,存储服务器接收用户的存储访问请求,根据请求类型做如下处理2. 1.若请求类型为存储数据2. 1. 1.局部空间管理器增大用户本地磁盘配额,新的用户本地磁盘配额按公式 ⑴计算用户本地磁盘配额=Min(用户磁盘配额余额,本地磁盘可用存储空间大小/本地 并发访问用户数)+用户本地磁盘空间占用量公式(1);其中,Min(a,b)是求a和b中最小值的函数。用户本地磁盘配额的增加值由用户 磁盘配额余额和本地磁盘可用存储空间共同决定用户磁盘配额余额保证在用户磁盘配额 余额允许的范围内,尽可能地满足用户对存储空间的需求;本地磁盘可用存储空间大小决 定了物理存储设备的限制;本地磁盘可用存储空间除以本地并发访问用户数,是为了保证 并发访问用户之间的公平性。2. 1. 2.文件系统软件执行用户数据存储操作,同时,文件系统磁盘配额管理软件 负责限制用户本地磁盘空间占用量不超过最新的用户本地磁盘配额;2. 2.若请求类型为删除数据文件系统软件执行用户数据删除操作;第三步,局部空间管理器将用户本地磁盘配额设置为用户本地磁盘空间占用量;
第四步,局部空间管理器按公式(2)计算用户本地磁盘空间占用量的增量,将该 用户的用户本地磁盘空间占用量的增量发送给元数据服务器上的全局空间管理器,用户本地磁盘空间占用量的增量=新用户本地磁盘空间占用量_原用户本地磁盘空间占用量公式⑵;第五步,全局空间管理器按公式(3),计算出新的用户磁盘配额余额;新的用户磁盘配额余额=原用户磁盘配额余额-用户本地磁盘空间占用量的增 量 公式⑶;第六步,全局空间管理器将新的用户磁盘配额余额同步更新到所有的局部空间管 理器。具体实现时,可在元数据服务器的存贮空间中设置一个全局空间管理表 GSMT (Global Space Manage Table),GSMT的每个表项对应一个在元数据服务器中注册的 用户,表项记录该用户全局存储空间的信息,每个表项包括用户标识、用户磁盘配额、用户 磁盘空间占用量、用户磁盘配额余额4个域,全局空间管理器通过GSMT维护全局存储空间。 同时在存储服务器的存贮空间中设置局部空间管理表LSMT(Local Space Manage Table), 局部空间管理器通过LSMT维护局部存储空间。LSMT的每个表项对应一个在元数据服务器 中注册的用户,记录该用户的本地局部空间使用的信息,每个表项包括用户标识、用户本地 磁盘空间占用量、用户本地磁盘配额、用户磁盘配额余额4个域。用户标识是用户的全局唯 一标识,可以是用户名或用户的IP地址。在进行磁盘配额动态分配时,全局空间管理器和 局部空间管理器按公式(1)、(2)、(3)计算出新值并不断更新GSMT和LSMT。采用本发明可以达到以下技术效果本发明通过局部空间管理器为分布式存储服务系统进行用户磁盘配额动态分配, 通过全局空间管理器协调各局部空间管理器的磁盘配额分配,将各个存储服务器的本地存 储空间配额根据用户的存储访问请求动态地扩大和缩小,在满足总的用户磁盘配额的限制 下,较好地使各存储服务器上用户本地磁盘配额按需分配、充分使用,既适应了用户数据变 化的动态性,又有效提高了存储空间资源利用率。


图1为第一步建立的分布式存储系统逻辑结构图。图2为本发明分布式存储系统中元数据服务器进行磁盘配额分配的流程图。图3为本发明布式存储系统中存储服务器的磁盘配额分配流程图。
具体实施例方式图1为分布式存储系统逻辑结构图。分布式存储系统由元数据服务器和多台存储 服务器组成。元数据服务器上安装操作系统和全局空间管理器,存储服务器上安装操作系 统、文件系统软件、文件系统磁盘配额管理软件和局部空间管理器。图2为本发明全局空间管理器流程图,图3为本发明局部空间管理器流程图。综 合图1、图2、图3介绍本发明的工作流程。1构建并初始化分布式存储系统(图2中①、图3中的①)1. 1构建分布式存储系统由元数据服务器和多台存储服务器组成。元数据服务器上安装操作系统软件和全局空间管理器,存储服务器上安装操作系统软件、文件系统软 件、文件系统磁盘配额管理软件和局部空间管理器,其中,全局空间管理器和局部空间管理 器为本发明的专用软件,其他软件均为通用软件。1. 2初始化全局空间管理器为每个用户做如下初始化的工作将用户磁盘配额 初始化为管理员指定的值;将用户磁盘空间占用量初始化为0(表示还没有用户存储数 据);将用户磁盘配额余额初始化为当前用户磁盘配额(此时还没有用户存储数据)。全局 空间管理器将所有用户的用户磁盘配额余额分发给各局部空间管理器。局部空间管理器为 每个用户做如下初始化工作将用户本地磁盘空间占用量初始化为0,将用户本地磁盘配 额初始化为0(还没有用户存储数据),将用户磁盘配额余额初始化为全局空间管理器分发 来的对应用户的用户磁盘配额余额。2存储服务器接收用户的存储访问请求(图1中①,图3中②),根据请求类型做 如下处理2. 1若请求类型为存储数据2. 1. 1局部空间管理器增大用户本地磁盘配额,新的用户本地磁盘配额按公式 (1)计算(图1中②,图3中③);2. 1. 2文件系统软件执行用户数据存储操作,在执行数据存储操作的过程中,文件 系统磁盘配额管理软件负责限制用户的本地磁盘空间占用量不超过最新的用户本地磁盘 配额(图3中④);2. 2若请求类型为删除数据文件系统软件执行用户数据删除操作(图3中⑤);3局部空间管理器将用户本地磁盘配额设置为用户本地磁盘空间占用量(图3中 ⑥);4局部空间管理器计算该用户的用户本地磁盘空间占用量的增量,并发送给全局 空间管理器(图1中③,图3中⑦);5全局空间管理器按公式(3),计算出最新的用户磁盘配额余额(图2中③);6全局空间管理器将新的用户磁盘配额余额发送给所有的局部空间管理器(图1 中④,图2中④);7局部空间管理器将用户的用户磁盘配额余额同步更新为新的值(图3中⑧)。
权利要求
一种分布式存储系统中用户磁盘配额的动态分配方法,其特征在于包括以下步骤第一步,构建并初始化分布式存储系统1.1构建分布式存储系统由元数据服务器和多台存储服务器组成,元数据服务器上安装操作系统软件和全局空间管理器,存储服务器上安装操作系统软件、文件系统软件、文件系统磁盘配额管理软件和局部空间管理器;1.2初始化全局空间管理器为每个用户做如下初始化的工作将用户磁盘配额初始化为管理员指定的值;将用户磁盘空间占用量初始化为0;将用户磁盘配额余额初始化为当前用户磁盘配额;全局空间管理器将所有用户的用户磁盘配额余额分发给各局部空间管理器;局部空间管理器为每个用户做如下初始化工作将用户本地磁盘空间占用量初始化为0,将用户本地磁盘配额初始化为0,将用户磁盘配额余额初始化为全局空间管理器分发来的对应用户的用户磁盘配额余额;所述用户磁盘配额是指分布式存储系统给注册用户分配的磁盘总限额;所述用户磁盘空间占用量是指某用户在所有存储服务器中已占用的全部磁盘空间的总量;所述用户磁盘配额余额是指用户磁盘配额减去用户磁盘空间占用量所得的差值;所述用户本地磁盘空间占用量是指某用户在某台存储服务器中已占用的磁盘空间大小;用户本地磁盘配额是指分布式存储系统为某用户在某台存储服务器里分配的磁盘配额;第二步,存储服务器接收用户的存储访问请求,根据请求类型做如下处理2.1若请求类型为存储数据2.1.1局部空间管理器增大用户本地磁盘配额,新的用户本地磁盘配额按公式(1)计算用户本地磁盘配额=Min(用户磁盘配额余额,本地磁盘可用存储空间大小/本地并发访问用户数)+用户本地磁盘空间占用量公式(1);其中,Min(a,b)是求a和b中最小值的函数;2.1.2文件系统软件执行用户数据存储操作,同时文件系统磁盘配额管理软件负责限制用户本地磁盘空间占用量不超过最新的用户本地磁盘配额;2.2若请求类型为删除数据文件系统软件执行用户数据删除操作;第三步,局部空间管理器将用户本地磁盘配额设置为用户本地磁盘空间占用量;第四步,局部空间管理器按公式(2)计算用户本地磁盘空间占用量的增量,将该用户的用户本地磁盘空间占用量的增量发送给元数据服务器上的全局空间管理器,用户本地磁盘空间占用量的增量=新用户本地磁盘空间占用量-原用户本地磁盘空间占用量 公式(2);第五步,全局空间管理器按公式(3)计算出新的用户磁盘配额余额,新的用户磁盘配额余额=原用户磁盘配额余额-用户本地磁盘空间占用量的增量 公式(3);第六步,全局空间管理器将新的用户磁盘配额余额同步更新到所有的局部空间管理器。
2.如权利要求1所述的分布式存储系统中用户磁盘配额的动态分配方法,其特征在于 所述元数据服务器的存贮空间中有一个全局空间管理表GSMT,GSMT的每个表项对应一个 在元数据服务器中注册的用户,表项记录了该用户全局存储空间的信息,每个表项包括用户标识、用户磁盘配额、用户磁盘空间占用量、用户磁盘配额余额4个域;存储服务器的存 贮空间中有局部空间管理表LSMT,LSMT的每个表项对应一个在元数据服务器中注册的用 户,记录该用户的本地局部空间使用的信息,每个表项包括用户标识、用户本地磁盘空间占 用量、用户本地磁盘配额、用户磁盘配额余额4个域;用户标识是用户的全局唯一标识;在 进行磁盘配额动态分配时,全局空间管理器和局部空间管理器计算出新值并不断更新GSMT 禾口 LSMT。
全文摘要
本发明公开了一种分布式存储系统中用户磁盘配额的动态分配方法。技术方案是构建并初始化由元数据服务器和存储服务器组成的分布式存储系统;存储服务器接收的存储访问请求为存储数据时则增大用户本地磁盘配额,再执行用户数据存储操作,若存储访问请求类型为删除数据则执行用户数据删除操作,将用户本地磁盘配额设置为用户本地磁盘空间占用量,计算用户本地磁盘空间占用量的增量并将该增量发送给元数据服务器;元数据服务器计算新的用户磁盘配额余额并将该余额发送给所有的存储服务器。采用本发明可将各存储服务器的本地存储空间配额根据存储访问请求动态地扩大和缩小,既能适应用户数据变化的动态性,又能提高存储空间的利用率。
文档编号G06F17/00GK101799797SQ201010118459
公开日2010年8月11日 申请日期2010年3月5日 优先权日2010年3月5日
发明者丁滟, 付松龄, 何连跃, 唐晓东, 王晓川, 谭子军, 黄辰林 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1