CN102567215B - 用于精简供应的空间分配的方法和系统 - Google Patents

用于精简供应的空间分配的方法和系统 Download PDF

Info

Publication number
CN102567215B
CN102567215B CN201110392657.3A CN201110392657A CN102567215B CN 102567215 B CN102567215 B CN 102567215B CN 201110392657 A CN201110392657 A CN 201110392657A CN 102567215 B CN102567215 B CN 102567215B
Authority
CN
China
Prior art keywords
space
file
physical
volume
storage
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.)
Active
Application number
CN201110392657.3A
Other languages
English (en)
Other versions
CN102567215A (zh
Inventor
D·A·戈贝尔
J·M·莱昂
B·舍列珀夫
R·S·克兰斯米特
M·瓦曼
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102567215A publication Critical patent/CN102567215A/zh
Application granted granted Critical
Publication of CN102567215B publication Critical patent/CN102567215B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及精简供应的空间分配。本发明公开了一种存储监视系统,该存储监视系统可驻留在精简供应的存储系统中的文件系统和存储系统之间。存储监视系统可在卷内创建空间占用者文件,其中空间占用者文件包含未用物理存储备份的地址空间。当从文件系统接收到对存储空间的请求时,存储监视系统可通过将物理存储设备的各部分供应给卷并且通过移除空间占用者文件之一来将物理空间分配给卷。当物理存储空间小时,存储监视系统可呈现警报以及返回对卷大小请求可用的物理空间量。

Description

用于精简供应的空间分配的方法和系统
技术领域
本发明涉及精简供应的空间分配。 
背景技术
当存储系统实际上可能未完全由物理存储支持时,使用精简(thin)供应的存储系统可将极大的逻辑容量呈现给文件系统。在这些系统中,文件系统可如同大的逻辑容量存在一样操作,但是当物理存储接近容量时,如果文件系统继续将数据写入存储则数据可能丢失。 
在一种使用情形下,精简供应可用于其中多个卷可存储在单组物理存储上的许多系统。当可配置物理存储时,管理员可能不知道每个卷可随时间使用多少物理空间。可精简供应多个卷,而非划分物理驱动器。这可允许逻辑卷中的任何一个使用物理存储资源,直到物理存储变满。 
发明内容
存储监视系统可驻留在精简供应的存储系统中的文件系统和存储系统之间。存储监视系统可在卷内创建空间占用者文件(space holder file),其中空间占用者文件包含未用物理存储备份的地址空间。当从文件系统接收到对存储空间的请求时,存储监视系统可通过将物理存储设备的各部分供应给卷并且通过移除空间占用者文件之一来将物理空间分配给卷。当物理存储空间小时,存储监视系统可呈现警报以及返回对卷大小请求可用的物理空间量。 
提供本发明内容以便以简化形式介绍在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。 
附图说明
在附图中: 
图1是示出具有供应引擎的系统的实施例的图示。 
图2是示出用于处理文件系统命令的方法的实施例的时间线图示。 
图3是示出用于处理文件系统命令的附加方法的实施例的时间线图示。 
图4是示出用于向下调节已分配空间的方法的实施例的流程图图示。 
图5是示出用于向上调节已分配空间的方法的实施例的流程图图示。 
具体实施方式
精简供应的文件系统可使用空间占用者文件来占据卷内的空间,随后释放空间占用者文件以向卷供应物理存储空间。供应引擎可监视已分配空间和物理空间,并且能够在用完物理存储空间之前发出小空间警告。 
系统可通过用空间占用者文件填充所有逻辑卷来操作。空间占用者文件的地址可位于物理存储介质外部,并且即使当卷包含较少的数据或不包含数据时仍可表现为满卷。当应用程序请求更多物理存储时,系统可移除空间占用者文件并且将空间占用者文件消耗的量的物理空间分配给卷。 
标准文件系统可被系统用来管理存储系统内的文件并且对各个文件相关命令作出响应。然而,通信层可截取来自应用程序的命令,并且可确保足够的物理空间可用于对文件相关命令作出响应。通信层还可截取可用空间请求,并且可与文件系统分开地处理那些请求。 
贯穿本说明书和权利要求书,可参考逻辑卷或存储、以及物理存储。物理存储可指非易失性存储系统的实际、物理存储容量。物理存储的示例可以是硬盘驱动器。逻辑卷可以是其中文件系统可通过添加、编辑和删除文件来操作的可寻址空间,但是逻辑卷可能不与物理存储直接对应。在许多实施例中,逻辑卷可以是文件系统可与之交互的对象,并且单独的空间管理系统可提供物理存储来将各项存储在逻辑卷内。 
贯穿本说明书,在所有附图的描述中,相同的附图标记表示相同的元素。 
当元素被称为“连接”或“耦合”时,这些元素可直接连接或耦合在一起,或者也可存在一个或多个中间元素。相反,当元素被称为“直接连接”或“直接耦合”时,不存在中间元素。 
本主题可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本主题的部分或全部可用硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本主题可采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计算机可读程序代码的计算机可使用或计算机 可读存储介质上的计算机程序产品的形式。在本文档的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。 
计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。 
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或可用于存储所需信息且可由指令执行系统访问的任何其他介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或其他合适的介质,因为程序可经由例如对纸张或其他合适的介质的光学扫描来电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并且随后存储在计算机存储器中。 
通信介质通常以诸如载波或其他传输机制之类的已调制数据信号来具体化计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语“已调制数据信号”可被定义为其一个或多个特性以对信号中的信息编码的方式设置或改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任何组合也应包含在计算机可读介质的范围内。 
当本主题在计算机可执行指令的一般上下文中具体化时,该实施例可包括由一个或多个系统、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。 
图1是示出系统的实施例100的示图,该系统可包括用于管理精简供应的存储系统的供应引擎。实施例100是其中供应引擎可操作的硬件和软件环境的简化示例。 
图1的示图示出了系统的各个功能组件。在一些情况下,组件可以是硬件组件、软件组件、或者硬件和软件的组合。一些组件可以是应用级软件,而其他组件可以是操作系统级组件。在一些情况下,一个组件到另一组件的连接可 以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可通过跨长距离的网络连接来进行。各实施例可使用不同的硬件、软件、以及互连体系结构来实现所描述的功能。 
实施例100是其中精简供应的存储系统可操作的系统的示例。精简供应的存储系统可具有其中文件系统可存储和管理文件的一个或多个逻辑卷,但是指派给卷的空间大于可用于存储卷的物理空间。 
当多个卷可存储在单个物理存储系统上时,精简供应的存储系统可以是有用的。在一个示例中,在物理存储系统上可创建4个卷。在创建卷时,可能不知道每个卷最终可消耗多少空间,因此,每个卷可创建有与物理存储系统相同的存储空间。在这种情形下,任一卷可生长成消耗整个物理存储系统。然而,当每个卷只有四分之一满时物理存储系统就可以是满容量的。 
在期望卷随时间生长时,精简供应的存储系统还可以是有用的,但是用户可能不希望一开始就购买所有的物理存储设备。当物理存储用尽时,用户能够添加更多物理存储设备而无需改变卷的配置。 
存储系统可使用常规文件系统来处理许多文件相关命令。常规文件系统是用于存储和组织计算机文件及其数据的机制。通用文件系统可将文件组织到数据库中,以供计算机操作系统存储、组织、操纵和检索。存在文件系统的许多不同形式和实现,每一个可具有不同的优点、缺点,并且可适于特定硬件或软件配置。 
实施例100示出可能不支持精简供应的文件系统可被转换成精简供应的系统的机制。实施例100还可示出用于精简供应的存储系统的体系结构,其中可向/从文件系统添加/移除精简供应的特征。 
精简供应的存储系统可创建多个空间占用者文件以填充每个卷,并且消耗卷内的地址空间。空间占用者文件可能未用物理存储备份或向其供应物理存储,但是其可被删除以释放卷内的空间。卷内所释放的空间可被供应给物理存储空间,并被文件系统使用。 
由于卷的许多地址空间可被空间占用者文件占据,因此卷对文件系统而言可表现为只有小量可用空间。文件系统可在创建新文件或添加到现有文件时使用可用空间。可用空间可随时间用尽,并且当可用空间量变得小于下阈值时,可移除一个或多个空间占用者文件,并且分配给空间占用者文件的空间可变得自由以供文件系统寻址。 
一些文件系统可以随机或随意的方式消耗物理存储空间,并且可跨所有可用地址空间分布文件。空间占用者文件可限制用于每个卷的物理存储内的可用空间量,并且可控制或最小化一些文件系统在大面积上散布文件的倾向。一些实施例可具有压缩或合并卷、移动卷、或执行其他这种操作的能力。在连续空间中具有文件可加速或启用这些操作。 
实施例100的体系结构具有可截取应用程序和文件系统之间的通信的通信层。通信层可重定向一些文件系统命令,并且在允许文件系统处理命令之前执行一些处理。 
例如,当应用程序发送可请求附加物理存储空间的文件系统命令时,通信层可截取命令并且确定附加物理存储空间是否可被命令使用。如果是,则可移除空间占用者文件,从而释放空间以对命令作出响应。 
在另一示例中,可截取并处理对卷可用的自由空间的请求,而无需调用文件系统。存储系统可通过确定实际未使用的物理存储空间来计算可用自由空间。这种请求可由供应引擎处理,而无需将请求发送到文件系统。 
实施例100示出设备102,设备102可具有用于管理精简供应的存储系统的系统。设备102可包括具有可寻址空间的若干卷,这些卷之和可超过可用的物理存储空间。 
设备102被示为具有硬件组件104和软件组件106。如图所示,控制器设备102表示常规计算设备,但是其他实施例可具有不同配置、体系结构、或组件。 
控制器设备102可以是服务器计算机、台式计算机、或类似设备。在一些实施例中,控制器设备102可以是膝上型计算机、上网本计算机、图形输入板或平板计算机、无线手机、蜂窝电话、或任何其他类型的计算设备。 
硬件组件104可包括处理器108、随机存取存储器110、以及非易失性存储112。硬件组件104还可包括用户接口114和网络接口116。在一些实施例中,处理器108可由若干处理器或处理器核组成。随机存取存储器110可以是处理器108可容易地访问和寻址的存储器。非易失性存储112可以是在关闭设备102之后持久保持的存储。非易失性存储112可以是任何类型的存储设备,包括硬盘、固态存储设备、磁带、光学存储、或其他类型的存储。非易失性存储112可以是只读、或能够读/写。 
非易失性存储112可以是存储设备的集合。在一些实施例中,可将诸如盘 驱动器之类的一组存储设备排列在一起以提供大量的非易失性存储。在一些实施例中,可使用冗余独立磁盘阵列(RAID)技术来集聚若干设备。许多RAID系统可使用相同容量的存储设备来创建大的存储系统。 
一些实施例能够集聚具有不同存储容量并且可使用不同硬件技术的存储设备。例如,这些实施例可将使用通用串行总线(USB)连接而连接有另一盘驱动器的在IDE接口上访问的常规盘驱动器与使用小型计算机系统互联(SCSI)接口来连接的固态存储设备集聚在一起。 
一些实施例可配置要在两个或两个以上的不同存储设备上复制的一个或多个卷。在单个存储设备发生故障的情况下,这种复制可提供冗余。当卷可在两个存储设备上复制时,这种卷消耗的物理存储可约为未执行复制的卷的物理存储的两倍。 
用户接口114可以是能够显示输出并且从用户接收输入的任何类型的硬件。在许多情况下,输出显示可以是图形显示监视器,但是输出设备可包括灯光和其他视觉输出、音频输出、动力致动器输出、以及其他输出设备。常规输入设备可包括键盘和定点设备,诸如鼠标、指示笔、跟踪球、或其他定点设备。其他输入设备可包括各种传感器,包括生物测定输入设备、音频和视频输入设备、以及其他传感器。 
网络接口116可以是到另一计算机的任何类型的连接。在许多实施例中,网络接口116可以是有线以太网连接。其他实施例可包括基于各种通信协议的有线或无线连接。 
软件组件106可包括操作系统118,各种应用程序和服务可在操作系统118上操作。操作系统可在执行例程和执行硬件组件104之间提供抽象层,并且可包括各种例程和与各个硬件组件直接通信的功能。 
操作系统118可包括用于管理精简供应的存储的若干组件。文件系统120可管理数据库中的文件,并且可对各个命令和请求作出响应。包围文件系统120的是通信层122,通信层122可截取并处理应用程序128和文件系统120之间的通信。空间管理系统124可在文件系统120和物理存储112之间操作。供应引擎126可管理各个组件,从而使用文件系统120来提供精简供应的存储系统。 
文件系统120可提供文件管理功能,诸如创建、删除和编辑文件。许多文件系统还可准许用户将文件组织到目录或文件夹中,并且可准许操作在多组文件上执行。许多不同的文件系统是在市场上可买到的。 
精简供应的存储系统可使用常规文件系统来执行一些功能,但是可在使文件系统执行特定功能之前或之后执行附加操作。在一些情况下,精简供应的存储系统可与文件系统分开或独立地执行操作。 
独立于文件系统,精简供应的存储系统可管理为每个卷分配的物理空间。当接收到可使用比可分配给具体卷大的物理空间的请求时,空间管理系统124可通过操纵各个空间占用者文件来分配物理空间。 
请求可由通信层122接收,并且可分析该请求以确定是否有足够的自由物理空间可用于成功地执行该请求。在一个实施例中,供应引擎126或其他组件可分析该请求以确定可用自由物理空间。 
在另一实施例中,可将该请求发送到文件系统120。如果返回盘满错误,则通信层122可截取该错误并且使空间管理系统124分配附加空间。在分配附加空间之后,通信层122可向文件系统120重新发出原始请求。 
空间管理系统124可向卷分配物理空间和解除对该物理空间的分配。空间管理系统124可在卷内创建多个空间占用者文件,并且可添加或移除空间占用者文件以分配物理空间和解除对该物理空间的分配。 
空间管理系统可在未在逻辑卷内供应的地址区域中创建空间占用者文件。当可删除空间占用者文件时,可将地址空间分配给物理存储系统。当可创建空间占用者文件时,如果已经分配了空间,则可从物理存储系统释放空间占用者文件所消耗的地址空间。 
供应引擎126可监视通信层122和空间管理系统124的操作,并且可便于通信层122和空间管理系统124之间的通信。供应引擎126可使特定操作得以执行,并且可执行那些操作中的一些操作,或可使通信层122、空间管理系统124、或文件系统120执行一些操作。 
设备102的存储系统可使用若干不同类型的存储设备。在常规计算机系统中,硬盘或固态存储设备可安装在计算机内部。一些设备可具有各种外围存储设备130,外围存储设备130可以是使用USB、SCSI、或其他类型的接口来连接的外部硬盘或固态存储设备。 
一些设备可具有通过网络132可用的且可以是网络存储设备134的存储。物理存储设备可以是存储区域网络(SAN)、通过局域网连接的存储设备、通过广域网(诸如因特网、云存储系统、或任何其他类型的存储设备)连接的存储设备。 
各种存储设备可独立地使用或集聚在一起,从而为精简供应的卷提供物理存储。供应引擎126和其他组件可操作以跨一个或多个存储设备提供精简供应的卷。 
图2是示出用于处理文件系统命令的方法的实施例200的时间线图示。实施例200的过程是应用程序202可如何与通信层204、文件系统206和空间管理系统208交互以传送精简供应的存储系统的简化示例。 
其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步地方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。 
实施例200是时间线图示,其中在左列中示出应用程序202的操作,在第二列中示出通信层204的操作,在第三列中示出文件系统206的操作,而在右列中示出空间管理系统208的操作。 
实施例200是其中可在执行命令之前用文件系统截取和分析命令的实施例的示例。如果命令可消耗比当前可分配大的物理存储空间,则可分配附加物理存储空间。 
在框210,应用程序202可发送文件系统命令。框210的文件系统命令可以是文件系统206能够执行的任何类型的操作。实际命令可取决于正在使用的具体文件系统,但是一般而言,这些命令可包括创建、编辑和删除文件。许多文件系统可具有用于执行目录或文件夹操作、加上许多附加文件具体操作的附加命令。 
通信层204可在框212接收文件系统命令,并且可执行对该命令的一些分析。如果在框214命令未改变文件大小,则可在框216将命令发送到文件系统206,其中文件系统206可在框218接收命令,在框220处理命令,并且在框222返回响应。通信层204可在框224接收响应,并且在框226将响应发送到应用程序202。应用程序可在框228接收响应。 
与框216-228的操作相反,如果在框214命令可改变文件大小,则可在框230将命令发送到空间管理系统。空间管理系统208可在框232接收命令,并且可在框234分析空间分配。如果可在框236响应于命令来调节物理空间,则可在框238作出对物理空间的调节。在处理之后,可在框240将命令发送到文件系统206。 
文件系统206可在框242接收命令,在框244处理命令,并且在框246发送响应。通信层204可在框248接收响应,并且在框250将该响应发送到应用程序202,应用程序202可在框252接收该响应。 
框238的调节可以是将附加物理空间分配给卷。可在本说明书稍后呈现的实施例500中找到这种操作的示例。在一些情况下,在框238作出的调节可以是解除对卷的附加物理空间的分配。可在本说明书稍后呈现的实施例400中找到这种操作的示例。 
实施例200示出其中可在将命令发送到文件系统之前分析文件系统命令的示例实施例。在另一实施例中,通信层可准许将命令发送到文件系统,但是可在应用程序接收到响应之前截取对文件系统的响应。通信层可确定可能发生盘满的错误。如果是,通信层可与空间管理系统通信以引发附加物理空间的分配。可将初始文件系统命令重新发送到文件系统,并且可重试该过程。 
图3是示出用于处理空间请求命令的方法的实施例300的时间线图示。实施例200的过程是应用程序202可如何与通信层204、文件系统206和空间管理系统208交互以传送精简供应的存储系统的简化示例。 
其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。 
实施例300是时间线图示,其中在左列中示出应用程序202的操作,在第二列中示出通信层204的操作,在第三列中示出文件系统206的操作,而在右列中示出空间管理系统208的操作。 
在框252,应用程序202可发送存储空间请求。存储空间请求可请求特定卷的可用存储。在精简供应的存储系统的情况下,逻辑卷可具有大量的可寻址存储,但是物理存储可能不如可寻址存储大。 
在许多情况下,应用程序202可请求可用存储空间以使应用程序可在执行操作之前执行各种检查。例如,应用程序可确保在实例化数据库之前或在创建新的数据文件之前足够的存储空间是可用的。 
从文件系统的立场来看,极小的存储空间可表现为可用的。这可能是因为逻辑卷可具有可填充可寻址空间的许多空间占用者文件,从而留下小量的可寻址空间来创建新文件。可用存储空间请求可由空间管理系统208处理,而非将 可用存储空间请求发送到文件系统,文件系统可返回的数量显著低于可用的实际物理空间。 
应用程序202可在框252发送存储空间请求,通信层204可在框254接收该存储空间请求。通信层204可分析通信,并且确定通信可由空间管理系统208处理。通信层204可在框256发送请求,空间管理系统208可在框258接收该请求。 
空间管理系统208可在框260确定可用物理存储容量,并且可在框262将响应返回到通信层204。通信层204可在框264接收响应,并且在框266将该响应发送到应用程序202,该应用程序202可在框268接收该响应。 
在框260确定的可用物理存储容量可能不与可用逻辑存储空间对应,但是可能与可用物理存储空间相对应。可通过确定可存储在物理存储上的最大文件大小并返回该值来计算可用物理存储空间。 
可用物理存储空间可包括空的已分配物理存储空间、加上空的未分配物理存储空间。在一些实施例中,可用物理存储空间可包括当前卷的空的已分配物理存储空间、加上尚未分配给其他卷的空的未分配物理存储空间。 
在其中特定卷可能在两个或两个以上物理存储设备上复制的实施例中,可用物理存储空间可因此减小。例如,在复制卷中可用的空间可以是在指派给卷的两个物理存储设备中较小的物理存储设备上可用的空间量。取决于存储设备的物理配置和其他因素,其他实施例可具有计算可用存储的不同方法。 
图4是示出用于向下调节卷中的已分配空间的方法的实施例400的流程图图示。实施例400的过程可用于若干情形以用空间占用者文件填充卷。 
其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。 
实施例400是可如何在逻辑卷内创建空间占用者文件以消耗许多可寻址存储空间的示例。当可使用存储空间时,可移除空间占用者文件并且将物理存储空间分配给卷。可在本说明书稍后呈现的实施例500中找到这种操作的示例。 
可在若干不同的情形下调用实施例400。可在框402创建新卷,并且可在框404指派卷大小。在另一情形下,可在框406作出增加卷大小的请求。在再一情形下,可在框408删除或缩减文件。在这些情况中的任一情况下,卷内的 自由空间量可超过上阈值,并且可添加空间占用者文件。 
可在框410确定卷内的已分配自由空间。如果在框412已分配自由空间量大于上阈值,则可在框416创建空间占用者文件,并且可在框418解除对空间占用者文件所消耗的物理空间的分配。过程可重复循环回到框410,直到在框412已分配自由空间小于上阈值,在这种情况下,该过程可在框414结束。 
图5是示出用于向上调节卷中的已分配空间的方法的实施例500的流程图图示。实施例500的过程可用于其中卷可请求附加空间的若干情形。 
其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。 
实施例500是可如何从逻辑卷移除空间占用者文件且可如何将物理存储分配给逻辑卷的示例。可执行该过程,直到没有其他空间占用者文件可用,这可指示已经消耗了物理存储且可能发出警告。 
可在若干不同的情形下调用实施例500。可在框502缩减卷大小,或者可在框504添加或扩展文件。 
可在框506确定卷内的已分配自由空间。如果在框508已分配自由空间量小于下阈值且在框510空间占用者文件在卷内可用,则可在框516移除空间占用者文件,并且可在框518分配空间占用者文件所消耗的物理空间。该过程可重复循环回到框506,直到在框510已分配自由空间小于下阈值,在这种情况下,该过程可在框510结束。 
如果在框508分配自由空间小于下阈值但在框512没有更多的空间占用者文件可用,则可在框514发出小物理空间警告。可将框514的小物理空间警告发送给用户或计算机系统的管理员,并且可指示可能完全使用了物理存储。用户或管理员可添加附加物理存储设备或可移除文件、压缩卷、或以其他方式更有效地使用物理存储空间。 
对本发明的上述描述是出于图示和描述的目的而呈现的。它不旨在穷举本主题或将本主题限于所公开的精确形式,并且鉴于上述教导其他修改和变型都是可能的。选择并描述实施例来最好地解释本发明的原理及其实践应用,由此使本领域的其他技术人员能够在各种实施例和各种适于所构想的特定用途的修改中最好地利用本发明。所附权利要求书旨在被解释为包括除受现有技术所 限的范围以外的其他替换实施例。 

Claims (20)

1.一种在计算机处理器上执行的方法,所述方法包括:
在精简供应的存储卷上创建多个空间占用者文件,所述空间占用者文件包括尚未得到物理存储指派的所述精简供应的存储卷中的地址空间;
操作具有所述精简供应的存储卷和物理存储系统的文件系统;
截取请求文件空间的文件系统命令;
确定所述文件系统命令可消耗比当前供应大的物理存储空间、并且向所述精简供应的存储卷供应所述物理存储系统的一部分,所述部分的大小至少等于所述空间占用者文件之一的大小;以及
从所述文件系统移除所述空间占用者文件之一以使所述文件系统可响应于所述文件系统命令来分配存储空间。
2.如权利要求1所述的方法,其特征在于,还包括:
确定比下阈值小的空间在所述精简供应的存储卷上可用,并且移除所述空间占用者文件中的至少一个。
3.如权利要求2所述的方法,其特征在于,还包括:
移除多个所述空间占用者文件,直到可用空间高于所述下阈值。
4.如权利要求2所述的方法,其特征在于,还包括:
确定比上阈值大的空间在所述精简供应的存储卷上可用,并且将所述空间占用者文件中的至少一个添加到所述文件系统。
5.如权利要求1所述的方法,其特征在于,还包括:
接收对所述精简供应的存储卷的卷大小请求,确定可用的物理空间量,并且返回可用的所述物理空间量。
6.如权利要求5所述的方法,其特征在于,可用的所述物理空间量包括空的已分配物理空间和空的未分配物理空间。
7.一种存储空间管理系统,包括:
管理存储在所述存储空间管理系统中的文件的文件系统;
所述文件系统到物理存储系统的连接;
在所述物理存储系统上精简供应的一组卷;
接收应用程序和所述文件系统之间的通信的通信层;
在所述一组卷的地址空间内创建多个空间占用者文件的空间管理系统,所述地址空间位于尚未得到物理存储指派的所述一组卷内;
供应引擎,所述供应引擎:
检测在所述通信层上接收到的文件系统命令,所述文件系统命令从应用程序发送;
将所述文件系统命令发送到所述文件系统,并且接收盘满响应;
检测所述盘满响应,并且通过删除所述空间占用者文件之一来供应所述一组卷中的至少一个;以及
将所述文件系统命令重新发送到所述文件系统,其中所述文件系统用除盘满错误以外的响应作出响应。
8.如权利要求7所述的系统,其特征在于,到物理存储系统的所述连接包括网络连接。
9.如权利要求7所述的系统,其特征在于,所述文件系统命令包括消耗附加存储空间的命令。
10.如权利要求9所述的系统,其特征在于,所述文件系统命令包括写命令,所述写命令在所述重新发送之后被成功地执行。
11.如权利要求10所述的系统,其特征在于,所述盘满响应未向所述应用程序发送。
12.如权利要求11所述的系统,其特征在于,所述盘满响应只有当所述物理存储满时才发送到所述应用程序。
13.如权利要求12所述的系统,其特征在于,所述文件系统命令是由下列各项组成的组中的一个:
创建文件;以及
编辑文件。
14.如权利要求7所述的系统,其特征在于,所述供应引擎还:
接收存储空间查询,并且返回与最大文件大小相等的空间值,所述空间值可由所述存储空间管理系统在所述物理存储系统上创建。
15.如权利要求14所述的系统,其特征在于,所述一组卷的至少一个在两个物理存储设备上复制。
16.一种存储空间管理系统,包括:
接收并处理文件命令以读写文件的文件系统,所述文件系统具有多个卷;
应用程序和所述文件系统之间的通信层,所述通信层截取所述应用程序和文件系统之间的通信;
包括多个物理存储设备和具有物理存储容量的物理存储系统;
供应引擎,所述供应引擎:
将存储空间分配给所述多个卷,分配给所述多个卷中的每一个的所述存储空间之和是比所述物理存储容量大的存储空间;
创建多个空间占用者文件,所述空间占用者文件各自的地址位于任何分配的物理地址空间外部;
标识来自所述应用程序的、消耗第一卷内的物理存储空间的请求,并确定在所述第一卷内可用的存储空间不足;
从所述第一卷删除所述空间占用者文件之一以释放第一块空间;
使所述第一块空间分配到所述物理存储系统上;以及
准许所述文件系统对所述请求动作。
17.如权利要求16所述的系统,其特征在于,所述多个卷中的每一个最初创建有多个空间占用者文件。
18.如权利要求17所述的系统,其特征在于,所述多个物理存储设备之一中的至少一个卷在所述多个物理存储设备的另一个上复制。
19.如权利要求16所述的系统,其特征在于,所述供应系统还:
检测所述第一卷还未使用的空间比高阈值大;以及
创建至少一个空间占用者文件,并且解除对与所述至少一个空间占用者文件相对应的物理存储空间的分配,直到所述第一卷还未使用的空间比所述高阈值小。
20.如权利要求17所述的系统,所述物理存储设备包括可移动存储设备。
CN201110392657.3A 2010-11-24 2011-11-23 用于精简供应的空间分配的方法和系统 Active CN102567215B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/953,474 2010-11-24
US12/953,474 US8533420B2 (en) 2010-11-24 2010-11-24 Thin provisioned space allocation

Publications (2)

Publication Number Publication Date
CN102567215A CN102567215A (zh) 2012-07-11
CN102567215B true CN102567215B (zh) 2014-10-22

Family

ID=46065494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110392657.3A Active CN102567215B (zh) 2010-11-24 2011-11-23 用于精简供应的空间分配的方法和系统

Country Status (2)

Country Link
US (1) US8533420B2 (zh)
CN (1) CN102567215B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8701120B2 (en) * 2009-02-27 2014-04-15 International Business Machines Corporation Virtualization of storage buffers used by asynchronous processes
US9135176B1 (en) * 2012-06-30 2015-09-15 Emc Corporation System and method for thin provisioning
WO2014076743A1 (en) * 2012-11-19 2014-05-22 Hitachi, Ltd. Storage system
US9329803B1 (en) 2013-06-28 2016-05-03 Emc Corporation File system over thinly provisioned volume file in mapped mode
US9256629B1 (en) * 2013-06-28 2016-02-09 Emc Corporation File system snapshots over thinly provisioned volume file in mapped mode
US9256603B1 (en) 2013-06-28 2016-02-09 Emc Corporation File system over fully provisioned volume file in direct mode
US9256614B1 (en) * 2013-06-28 2016-02-09 Emc Corporation File system snapshots over fully provisioned volume file in direct mode
CN105264866B (zh) * 2013-12-23 2018-08-21 华为技术有限公司 分配存储空间的方法、装置和控制器
US9785348B2 (en) 2014-05-28 2017-10-10 International Business Machines Corporation Balancing usage of real and virtual space to avoid out-of-space conditions in storage controllers
US9454327B2 (en) 2014-08-29 2016-09-27 International Business Machines Corporation Analytics based control of thin provisioning environment
CN105653467A (zh) * 2015-05-21 2016-06-08 宇龙计算机通信科技(深圳)有限公司 一种存储空间分配方法及装置
KR102581479B1 (ko) 2016-05-31 2023-09-21 삼성전자주식회사 스토리지 시스템 및 그의 볼륨 관리 방법
CN106202350A (zh) * 2016-07-05 2016-12-07 浪潮(北京)电子信息产业有限公司 一种分布式文件系统自动精简配置的方法及系统
US11132134B2 (en) * 2017-12-21 2021-09-28 Apple Inc. Flexible over-provisioning of storage space within solid-state storage devices (SSDs)
CN108874320A (zh) * 2018-06-28 2018-11-23 郑州云海信息技术有限公司 精简卷设置方法、装置、设备及计算机可读存储介质
CN114063907A (zh) * 2021-10-20 2022-02-18 郑州云海信息技术有限公司 一种存储空间分配方法、系统、存储介质及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042676A (zh) * 2006-03-23 2007-09-26 株式会社日立制作所 存储系统以及存储区域释放方法以及存储装置
CN101620515A (zh) * 2009-08-12 2010-01-06 宋振华 一种增强逻辑盘卷管理功能的方法
CN101620569A (zh) * 2008-07-03 2010-01-06 英业达股份有限公司 一种逻辑卷存储空间的扩展方法
CN101625628A (zh) * 2009-08-17 2010-01-13 宋振华 一种实现逻辑盘卷管理映射定制的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7130960B1 (en) 2005-04-21 2006-10-31 Hitachi, Ltd. System and method for managing disk space in a thin-provisioned storage subsystem
US7949847B2 (en) 2006-11-29 2011-05-24 Hitachi, Ltd. Storage extent allocation method for thin provisioning storage
US7631155B1 (en) 2007-06-30 2009-12-08 Emc Corporation Thin provisioning of a file system and an iSCSI LUN through a common mechanism
US8250329B2 (en) 2007-10-24 2012-08-21 International Business Machines Corporation Preemptive write-inhibition for thin provisioning storage subsystem
NZ586099A (en) * 2007-11-19 2012-05-25 Carefusion 2200 Inc Patient interface assembly comprising a jet pump including a venturi assembly defining an entrainment region, a throat region and an expansion region
US20090240880A1 (en) 2008-03-21 2009-09-24 Hitachi, Ltd. High availability and low capacity thin provisioning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042676A (zh) * 2006-03-23 2007-09-26 株式会社日立制作所 存储系统以及存储区域释放方法以及存储装置
CN101620569A (zh) * 2008-07-03 2010-01-06 英业达股份有限公司 一种逻辑卷存储空间的扩展方法
CN101620515A (zh) * 2009-08-12 2010-01-06 宋振华 一种增强逻辑盘卷管理功能的方法
CN101625628A (zh) * 2009-08-17 2010-01-13 宋振华 一种实现逻辑盘卷管理映射定制的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
用于网络存储系统的存储空间动态分配方法;韦理等;《计算机工程》;20080331;第34卷(第5期);第33-35页 *
韦理等.用于网络存储系统的存储空间动态分配方法.《计算机工程》.2008,第34卷(第5期),第1栏第1段到最后一段.

Also Published As

Publication number Publication date
US8533420B2 (en) 2013-09-10
US20120131303A1 (en) 2012-05-24
CN102567215A (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
CN102567215B (zh) 用于精简供应的空间分配的方法和系统
US9037828B2 (en) Transferring storage resources between snapshot storage pools and volume storage pools in a data storage system
US10346079B2 (en) System and method for managing storage system snapshots
RU2544777C2 (ru) Динамическое размещение данных точных копий
CN104636080B (zh) 存储系统及用于其的方法
CN101689119B (zh) 实体和虚拟图像的统一提供
US9274714B2 (en) Method and system for managing storage capacity in a storage network
US8880825B2 (en) Converting LUNs into files or files into LUNs in real time
US8095728B2 (en) Method and system for power aware I/O scheduling
US8909887B1 (en) Selective defragmentation based on IO hot spots
KR20120102664A (ko) 미래 사용 추정에 기반한 저장 메모리 할당
EP2261790A2 (en) Method and apparatus for controlling data volume creation in data storage system with dynamic chunk allocation capability
CN107291889A (zh) 一种数据存储方法及系统
KR102178740B1 (ko) 토러스 네트워크 기반의 분산 파일 시스템을 위한 서버 및 이를 이용한 방법
CN102982182B (zh) 一种数据存储规划方法及装置
EP3353627B1 (en) Adaptive storage reclamation
CN106227621A (zh) 基于逻辑卷管理精简卷的数据备份方法及系统
CN110109868A (zh) 用于索引文件的方法、装置和计算机程序产品
US11416176B2 (en) Function processing using storage controllers for load sharing
US10380066B2 (en) File system with multi-class in situ tiered archiving
US10057348B2 (en) Storage fabric address based data block retrieval
CN110147203A (zh) 一种文件管理方法、装置、电子设备及存储介质
CN108132759A (zh) 一种文件系统中管理数据的方法和装置
CN104951242A (zh) 用于在存储阵列之间自动重定位数据的方法和装置
JP4997858B2 (ja) データ記録装置およびデータ記録プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150422

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150422

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.