首页> 中国专利> 一种模拟云存储设备的虚拟文件系统设计方法

一种模拟云存储设备的虚拟文件系统设计方法

摘要

本发明设计了一种模拟云存储设备的虚拟文件系统的实现方法,以Linux的ext3文件系统为基础,扩展其数据存储的物理结构,根据文件挂载时传入的参数,计算相关的配置阈值,使其在开始写入的时候在配置阈值范围内与普通的文件系统一样,当超过配置阀值的时候只写入元数据信息,并不写入数据信息,从而利用有限的物理设备模拟出庞大的存储容量。

著录项

  • 公开/公告号CN105224607A

    专利类型发明专利

  • 公开/公告日2016-01-06

    原文格式PDF

  • 申请/专利权人 浪潮(北京)电子信息产业有限公司;

    申请/专利号CN201510561398.0

  • 发明设计人 李杰;

    申请日2015-09-06

  • 分类号G06F17/30;

  • 代理机构北京安信方达知识产权代理有限公司;

  • 代理人解婷婷

  • 地址 100085 北京市海淀区上地信息路2号2-1号C栋1层

  • 入库时间 2023-12-18 13:18:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-24

    授权

    授权

  • 2016-02-03

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20150906

    实质审查的生效

  • 2016-01-06

    公开

    公开

说明书

技术领域

本发明涉及计算机集群NAS存储领域,特别涉及一种利用有限存储设备 模拟大规模云存储集群的设备的方法。

背景技术

随着互联网时代的到来,全世界各行各业每天都产生了大量的数据,包 括个人的数据也产生了爆炸性的增长,为了收集管理这些数据,一些大的互 联网企业或者其他产生大量数据的公司都建立了公共的或者私有的数据中 心,传统的存储模式已经不能满足数据爆炸性的增长,并且每个企业建立一 个数据中心将产生极大的资源浪费,云存储技术在这个背景下应运而生。

云存储是在云计算概念上延伸和发展出来的一个新的概念,是一种新兴 的网络存储技术,是指通过集群应用、网络技术或分布式文件系统等功能, 将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共 同对外提供数据存储和业务访问功能的一个系统。目前比较主流的存储供应 商都在该领域投入了巨大的人力物力。

在研发的过程中不可避免的需要存储集群环境去进行测试和调试,但是 要想用真实的物理设备区搭建集群,将是一笔非常大的开销,而且如果集群 非常庞大,整个调试开发周期将很长。

发明内容

为了解决上述技术问题,本发明在linuxext3文件系统的基础上进行改 造升级,将其在块设备上的物理存储结构重新规划,使其在开始写入的时候 在配置阈值范围内与普通的文件系统一样,当超过配置阀值的时候只写入元 数据信息,并不写入数据信息。由于一个Inode数据所占空间为256字节, 这样就可以再很小的设备内部模拟出超大的设备。

为了解决上述技术问题,本发明提供了一种模拟云存储设备的虚拟文件 系统实现方法,包括:扩展数据存储的物理结构;根据文件挂载时传入的参 数,计算扩展区域的大小以及配置阈值;比较所述文件与配置阈值的大小, 根据比较结果只写入元数据而不存储实际数据。

进一步地,所述扩展为以linux的ext3文件系统为基础,在块组内添加 扩展索引节点位图EIB和扩展索引节点表EIT。

进一步地,所述EIB和EIT分别位于索引节点位图和索引节点表之后。

进一步地,所述参数为要模拟的文件数量上限N或者实际物理块设备的 百分比P。

进一步地,如果文件系统选项内传入的参数为要模拟的文件数量上限N, 则通过以下公式计算EIB和EIT的大小:

size(EIT)=N*size(inode)/size(block);

size(EIB)=N/8/size(block);

如果文件系统选项内传入的参数为实际物理块设备百分比P,则通过以 下公式计算EIB和EIT的大小:

Extent_itsize=size(普通块)*P;

size(EIT)=Extent_itsize/size(block);

size(EIB)=Extent_itsize/size(inode)/8/size(block)。

进一步地,所述配置阈值为size(普通块)-size(EIB)-size(EIT)。

进一步地,当文件超过配置阈值大小时,写入的文件的inode写入扩展 索引节点表,只记载元数据而不存储实际数据。

进一步地,在inode中写入自定义属性来确定是否是虚拟文件。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部 分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明 技术方案的限制。

图1示出了根据本发明的一实施例的模拟云存储设备的虚拟文件系统块 设备物理结构布局。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图 对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申 请中的实施例及实施例中的特征可以相互任意组合。

本发明设计了一种模拟云存储设备的虚拟文件系统的一种实现方法,以 Linux的ext3文件系统为基础,扩展其数据存储的物理结构,根据文件挂载 时传入的参数,计算相关的配置阈值,使其在开始写入的时候在配置阈值范 围内与普通的文件系统一样,当超过配置阀值的时候只写入元数据信息,并 不写入数据信息,从而利用有限的物理设备模拟出庞大的存储容量。

ext3文件系统将磁盘分区划分成多个块组(Blockgroup),若干个相邻 的块(Block)组成一个块组,每个块组大小相同。从结构上看,块组由超级 块(Superblock)、组描述符表(Groupdescriptortable)、块位图(Block bitmap)、索引节点位图(Inodebitmap)、索引节点表(Inodetable)、多 个数据块(Datablocks)构成。

参考附图1,本发明以Linux的ext3文件系统为基础,对其在磁盘上的 存储结构进行改造,在块组内添加扩展索引节点位图EIB(extentinode bitmap)和扩展索引节点表EIT(extentinodetable),并且EIB和EIT分别位 于索引节点位图和索引节点表之后。

在创建文件系统的时候文件系统选项内传入要模拟的文件数量上限N (N存在上限)或者实际物理块设备的百分比P(0<P≤1),之后根据传入 的不同参数计算EIB的大小和EIT的大小,之后按照计算结果初始化元数据 区域。扩展区域大小计算方式如下:

如果文件系统选项内传入的参数为要模拟的文件数量上限N,则通过以 下公式计算EIB和EIT的大小:

size(EIT)=N*size(inode)/size(block);

size(EIB)=N/8/size(block)。

如果文件系统选项内传入的参数为实际物理块设备百分比P,则通过以 下公式计算EIB和EIT的大小:

Extent_itsize=size(普通块)*P;

size(EIT)=Extent_itsize/size(block);

size(EIB)=Extent_itsize/size(inode)/8/size(block)。

根据上述所计算的扩展区域的大小,计算配置阈值,所述配置阈值为 size(普通块)-size(EIB)-size(EIT)。

在挂载文件系统下写数据,当文件超过配置阈值大小时,之后写入的文 件的inode全部写入扩展索引节点表,所有的文件只记载元数据而不存储实 际数据,并且在inode中写入自定义属性来确定是否是虚拟文件。否则,按 常规方式写数据。

通过以上方法可以将小容量的设备模拟出超大规模的集群,可达PB级, 来测试云存储系统的功能完备性和系统稳定性。但是该文件系统无法测试数 据读写性能,但是可以用于文件系统元数据读写的评估测试。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储 介质,例如包括指令的存储器,上述指令可由一装置的处理器执行以完成上 述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取 存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明 而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人 员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细 节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利 要求书所界定的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号