CN101743546A - 用于提供快照的文件系统的分层存储管理 - Google Patents

用于提供快照的文件系统的分层存储管理 Download PDF

Info

Publication number
CN101743546A
CN101743546A CN200880024829A CN200880024829A CN101743546A CN 101743546 A CN101743546 A CN 101743546A CN 200880024829 A CN200880024829 A CN 200880024829A CN 200880024829 A CN200880024829 A CN 200880024829A CN 101743546 A CN101743546 A CN 101743546A
Authority
CN
China
Prior art keywords
index
data
word
file
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.)
Granted
Application number
CN200880024829A
Other languages
English (en)
Other versions
CN101743546B (zh
Inventor
W·索东
F·施穆克
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101743546A publication Critical patent/CN101743546A/zh
Application granted granted Critical
Publication of CN101743546B publication Critical patent/CN101743546B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • 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/174Redundancy elimination performed by the file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

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

Abstract

一种用于管理已经被选择从文件系统内的第一存储级别迁移到第二存储级别的文件的存储的方法。包括:将选定文件的索引节点的对应的索引中维护的物理磁盘地址处选定文件的存储在第一存储级别中的一个或多个数据块中的每一个数据块从第一存储级别复制到第二存储级别;在引用了选定文件的被复制到第二存储级别的一个或多个数据块中的一个数据块的文件系统中的每一个快照文件的索引节点的每一个索引中维护逻辑照抄地址;以及更新文件系统以包括用于通过选定文件的索引节点控制对一个或多个数据块的访问的受管理的区域。

Description

用于提供快照的文件系统的分层存储管理
技术领域
本发明涉及数据存储系统,更具体地说,涉及存储了表明在特定时间点存储的数据的状态的快照的数据存储系统。
背景技术
许多数据存储系统根据文件比喻来组织存储的数据。在这些存储系统中,相关数据存储在一个文件中,而数据存储系统存储了多个文件。然后,数据存储系统存储对多个文件的索引,以允许访问这些文件中的数据。单个文件可以存储在数据存储设备中的相邻的或完全不同的位置。将数据存储在数据存储设备中的完全不同的位置,常常导致当要在已经存储了许多文件的设备上存储大的数据文件时,大的数据文件必须分解为适合存储设备内的空闲区域的数据块。当向现有文件中添加另外的数据时,数据也常常存储在完全不同的位置。将存储的数据组合成数据存储设备上的结构化文件被称为形成文件系统。
数据存储系统常常存储当前存储在文件系统中的所有文件的数据的时间点副本或映像。这些映像被称为快照(或克隆或快闪副本)。快照的内容是在捕获快照时存储在现用文件系统内的数据。数据存储系统可以使用快照来将文件系统的状态存储在诸如另一个磁盘驱动器或磁带存储系统之类的辅助存储器系统上。数据存储系统也可以使用文件系统快照来允许重新创建被删除的数据(即,访问已经被删除或更新的文件的以前的版本)。
为最小化创建快照的时间以及用于维护快照的存储空间,拍摄文件系统的快照的某些方法推迟了原始文件系统中的数据实际复制到快照的时间,直到原始系统中的数据被修改(例如,被盖写或删除)。因为直到对原始数据执行写入之前数据不被复制到快照数据中,因此,使用这种方法的系统被称为“写入时复制”系统。“写入时复制”技术常常用于实现文件版本控制,通过维护单个文件的快照,而不是整个系统,可以使文件的多个版本在文件系统中并行地存在。
“写入时复制”系统可以利用由文件系统软件所创建的控制结构,以描述文件的结构以及包含文件系统的磁盘的用途的元数据,以便修改过的文件的未修改的数据块不需复制到快照中。这些系统创建快照元数据集,包括描述了原始文件系统中的原始数据文件的位置的文件索引,以便从原始文件内的元数据以及文件的快照副本中都可以引用未修改的数据块。这会创建多个对原始文件系统中的同一个数据块的多个索引:原始文件系统的元数据中的索引和每一个快照数据集中的索引。
原始文件系统内的多个对单个数据块的索引的存在影响原始文件系统的要求。利用其中每一个快照都存储了对原始数据块的索引的快照的文件系统必须维护每一个对该数据块的索引的指示或映射,以便判断数据块是否正在使用中还是空闲。若没有多个索引,单个比特就可以足以表明数据块是否正在使用中还是空闲。然而,在有多个索引的情况下,可能需要多个比特来跟踪多个索引,确保在声明数据块“空闲”之前不存在对数据块的索引。
由于较高速度的存储设备(如硬盘驱动器阵列)比慢一些的设备(如光盘和磁带驱动器)更加昂贵(每存储字节),因此,某些较大的文件系统使用分层存储管理器(HSM)自动地在高成本和低成本的存储介质之间移动数据。在使用HSM的文件系统(诸如,例如,来自IBM的ADSTAR分布式存储管理器、Tivoli的StorageManager Extended Edition,或Legato的NetWorker)中,大多数文件系统数据被存储在较慢的脱机设备中,并根据需要,复制到更快的联机磁盘驱动器中。HSM监视文件系统中的数据的使用,标识文件系统中的哪些文件长时间没有被访问,并将它们的所有数据或某些数据迁移到较慢的存储设备中。这就释放了更快的联机存储器中的空间,从而允许存储额外的文件和更多的数据。事实上,HSM通过将更快的磁盘驱动器变成较慢的大容量存储设备的高速缓存,提供了存储大量的数据的经济的解决办法。
在典型的HSM情况下,频繁地被使用的数据文件存储在硬盘驱动器上,而在某一时间段内未被使用的数据文件被迁移到磁带驱动器中。当用户尝试访问已经被迁移到磁带的数据文件时,文件自动地并透明地恢复到联机硬盘驱动器,可使操作完成得好像数据从来没有被迁移那样。优点是,尽管存储的数据的总量可以比可用的磁盘存储器的容量大得多,由于只有很少被使用的文件位于磁带上,因此,用户通常不会注意任何速度减慢。
这里发明人认识到,在利用快照的文件系统中,跟踪多个对单个数据块的索引的必要性会大大地使文件系统的操作复杂化,特别是在文件系统也使用HSM的情况下。例如,当HSM将文件迁移到磁带时,希望能够回收由该文件的数据块占用的磁盘空间。然而,在存在快照的情况下,这些数据块仍可以由快照从文件的较旧的版本引用,因此,直到文件的所有其他版本也都被迁移到磁带之前不能被释放。此外,尽管一旦一个文件的所有版本都被迁移HSM就可以回收由该文件占用的所有磁盘空间,被单独地存储并由不同文件版本的快照共享的数据块将作为单独的副本冗余地存储在磁带上。即,可以占据磁盘上的极少空间的快照将占用磁带上整个文件系统所占用的那么大的空间。另外,当HSM将迁移的文件返回到联机存储器时,将为返回的数据分配新的数据块,不能定位其他对初始块的其他联机索引。结果,恢复迁移的文件可能导致不需要的数据复制,并比从来没有被迁移的文件需要更大的联机存储空间。
发明内容
解决了现有技术的各种缺点,通过本发明的示例性实施例可以提供额外的优点,这些示例性实施例与用于管理已经被选择从文件系统内的第一存储级别迁移到第二存储级别的文件的存储的方法相关。选定文件是从多个源文件中选择的,每一个源文件都在文件系统内组织成一个或多个数据块。文件系统具有多个源文件中的每一个源文件的索引节点。每一个索引节点都具有对所述对应的源文件的一个或多个数据块中的每一个的索引。文件系统被配置为定期生成多个源文件中的所述源文件的快照文件。文件系统具有每一个快照文件的索引节点。在生成快照文件时,每一个快照文件的索引节点都具有对所述对应的源文件的所述一个或多个数据块中的每一个数据块的索引。该方法包括将所述选定文件的索引节点的所述对应的索引中维护的物理磁盘地址处所述选定文件的存储在所述第一存储级别中的所述一个或多个数据块中的每一个数据块从所述第一存储级别复制到所述第二存储级别。该方法进一步包括在引用了所述选定文件的被复制到所述第二存储级别的所述一个或多个数据块中的任何一个数据块的所述文件系统中的每一个快照文件的索引节点的每一个索引中维护逻辑照抄地址。每一个逻辑照抄地址都表明,需要另外的处理以获得被所述索引引用的所述数据块的所述物理磁盘地址。该方法进一步包括更新文件系统,以包括用于通过选定的文件的索引节点控制对一个或多个数据块的访问的受管理的区域。
附图说明
现在将参考下面的附图,只作为示例,对本发明的实施例进行描述,其中:
图1是显示了提供分层系统管理的文件系统的一般系统体系结构的示例性实施例的方框图。
图2A是显示了具有索引节点和相关数据块的文件系统数据结构集的示例性实施例的方框图。
图2B是显示了具有索引节点和关联的间接块的和数据块的文件系统数据结构集的示例性实施例的方框图。
图3是显示了文件系统目录和关联的结构的示例性实施例的方框图。
图4是显示了其中一个以上的索引节点包含同一个磁盘地址的文件系统数据结构集的示例性实施例的方框图。
图5A-5B描述了本发明的示例性实施例的总体操作和控制流的流程图,其中,由快照文件系统的分层系统管理器执行数据迁移。
图6是描述了本发明的示例性实施例的总体操作和控制流的流程图,其中,在读取或写入请求期间,由快照文件系统的分层系统管理器执行脱机数据的恢复。
图7是描述了本发明的示例性实施例的总体操作和控制流的流程图,其中,在删除或截断请求期间,由快照文件系统的分层系统管理器执行脱机数据的恢复。
图8A是显示了在文件系统数据结构集的示例性实施例中在生成时快照的结构的方框图。
图8B是显示了在文件系统数据结构集的示例性实施例中在对对应的源文件进行属性修改时阴影索引节点的结构的方框图。
图8C是显示了在文件系统数据结构集的示例性实施例中在对对应的源文件进行盖写时阴影索引节点的结构的方框图。
图9是显示了多处理器计算机系统的示例性实施例的方框图。
图10是显示了计算机系统的示例性实施例的方框图。
具体实施方式
下面的公开描述了用于为维护指出了在特定时间点存储的数据的状态的文件系统提供有效的分层存储管理的技术和机制的示例性实施例。下文旨在提供本发明的示例性实施例的详细描述,不应该理解为对本发明本身的限制。相反,任意数量的其他实施例都可以落在本发明的范围内,本发明的范围在示例性实施例的描述之后的权利要求中进行限定。
本发明的示例性实施例可以在将数据存储在大容量存储设备上的计算机系统上或与其结合实现。这里所描述的大容量存储系统的特征不应该理解为对本发明的限制,应该注意的是,示例性实施例可以在具有与这里所提供的示例特征或结构不同的数据存储设备上或与其结合实现。可以在其上实现本发明的示例性实施例的文件系统的一个示例是IBM的General Parallel File System(GPFS)。GPFS类似于符合Xopen文件系统标准的文件系统,相应地,所有这样的文件系统都适合于与本发明的示例性实施例一起使用。然而,本发明不应该理解为仅限于与这样的文件系统一起使用。示例性实施例可以在各种其他文件系统上或与其结合实现,包括各种磁盘文件系统、网络文件系统,以及特殊用途的文件系统。
这里所描述的本发明的示例性实施例可以被配置为与基于下面的元数据结构实现文件和目录的文件系统一起操作:
文件系统:管理定义的磁盘集(或其他介质)并以有助于一致的添加、修改和删除数据和数据文件的方式提供对数据的访问的软件组件。该术语还用于描述特定磁盘集(或其他介质)内包含的数据集和元数据。文件系统可与能够通过名称被访问的任何数据存储介质一起使用,数据位于不相邻的块中;相应地,其中,这里使用了术语“磁盘”、“磁盘存储器”、“存储器”等等,这是存储介质的比较一般的特征。
数据/文件系统数据:在特定的应用程序的上下文中具有含义的任意的比特串。
文件:可以被计算机应用程序访问的命名的比特串。文件具有某些标准属性,如长度、修改时间,以及最后一次访问的时间。
数据块:文件系统存储器的包含以后被用户或其他应用程序检索和使用的用户数据的区域。在示例性文件系统中,文件的数据可以存储在通过存储在文件的索引节点中的磁盘地址指针引用的一个或多个单独的数据块中。
快照:在给定时间点捕获文件系统的状态的文件或一组文件。
元数据:由文件系统软件所创建的控制结构,以描述文件的结构以及包含文件系统的磁盘的用途。适用于示例性的文件系统的元数据的特定类型特别具有下列特征,并包括:目录、模式、索引节点、分配图,以及日志。
目录:将名称与一组由索引节点表示的数据关联的控制结构。示例性文件系统可以利用以类似于其他文件数据的存储的方式存储在数据块中的目录项,并利用存储了类似于由其他数据文件使用的那些目录信息的目录信息的文件的元数据结构(包含目录块的磁盘地址的索引节点加间接块)。目录能够包含大量的目录项。目录可以包含引用其他目录的项,以便创建分层目录结构,被另一个目录中的一个项引用的目录被称为子目录。本发明不仅限于如这里所描述的示例性文件系统中的目录的格式及其他元数据的细节,替代示例性文件系统可以利用其他目录和元数据存储结构。
索引节点:包含文件的文件属性(例如,所有者、访问权限、修改时间、文件大小),加一系列指向包含构成此文件的数据的磁盘区域(或其他存储介质)的指针的元数据结构。索引节点可以通过间接块来补充,比方说,如果文件比较大的话,间接块用额外的指针补充索引节点。在这里所描述的示例性文件系统中,索引节点的关联的集合被称为“索引节点文件”,而索引节点文件是被作为常规文件存储的(索引节点加间接块)。其他示例性文件系统也可以使用索引节点和索引节点文件中的数据的集合的不同的表示法。在这里所描述的示例性文件系统中,索引节点内包含的某些或全部信息的集合被称为“节点信息”。
分配图:文件系统可以用来表明磁盘的特定区域(或诸如索引节点之类的其他控制结构)是否正在使用中或可用的控制结构。这允许软件向新文件有效地分配可用的块和索引节点。
超级块:包含全局文件系统配置数据的元数据元素。具体来说,它包含用于定位索引节点和分配图的信息。
日志:用于在发生故障的情况下使其他类型元数据保持同步(即,状态一致)以防止损失的一组记录。日志包含描述对多个结构的相关的更新的单一记录。
现在请参看图1,图1显示了其中可以应用本发明的示例性实施例的示例性完整系统体系结构100。系统体系结构包括用于存储一个或多个数据文件的快照文件系统102。这些文件系统捕获和维护一个或多个快照数据集104。这些快照数据集104可以被文件系统102用于许多目的,诸如,例如,有效地进行通信并将备份数据集存储在远程备份系统上,恢复意外删除的文件,以及检索被意外或者故意盖写的数据。
文件系统102包括允许其他应用程序在诸如磁盘驱动器、非易失性存储器之类的存储设备或其他数据存储设备上存储和检索数据的计算机程序。文件系统102中的文件是任意大小的命名的数据对象。文件系统102提供接口,这些接口允许应用程序创建文件并为文件命名,存储文件或向文件中写入数据,从文件中读取数据,删除文件,以及对文件执行其他操作。
文件结构定义了存储设备上的文件系统102中的数据的组织。单个文件可以分为固定大小的多个数据块,用于在存储设备上进行分配。可以根据实际应用程序环境和存储器的可用的类型和大小,设置可以用字节或比特表示的块大小,单个已分配的块可以包含整个文件或单个文件的一部分。
除文件数据其本身之外,文件系统102还可以包含将文件名映射到数据文件的目录,包含有关文件的信息的文件元数据,包括文件数据在存储设备上的位置(即,哪些设备块存放了文件数据),记录了哪些设备块当前正被用来存储元数据和文件数据的分配图,以及包含有关文件结构的总体信息(例如,目录的位置、分配图、及其他元数据结构)的超级块。文件系统102中的每一个文件都通过索引节点表示,该索引节点描述了文件的属性,并包含作为用于查找存储器中的文件的数据的起点的寻址结构。目录将文件名映射到为文件分配的索引节点(例如,使用标识它们驻留在文件系统中何处的文件的索引节点号码),并构成文件的组织层次结构。
可以实现本发明的示例性实施例,以支持快照文件系统(诸如,例如,图1的文件系统102)上包含的数据的有效的分层系统管理。如图所示,在其上文件系统102存在于系统体系结构100中的计算机或处理单元通过网络110和分层系统管理器(HSM)106与脱机存储系统108进行通信。脱机存储单元108是不位于文件系统102的处理单元上或不在其控制下的存储设备。脱机存储设备的示例包括软盘、光盘,以及磁带。HSM 106与脱机存储系统108结合使用,以自动地在被与文件系统102相同的处理使用的联机存储设备和脱机存储设备之间移动在文件系统102内的文件的数据块。
将文件系统102与脱机存储器108连接的网络110,可以是,例如,诸如公众业务电话网络(PSTN)之类的电路交换网。网络110可以是,例如,分组交换网络。分组交换网络可以是,例如,诸如全球因特网之类的广域网(WAN)、专用WAN、局域网(LAN)、电信网络或上文所提及的网络的任何组合。在替代示例中,网络110可以是,例如,有线、无线、广播,或点对点网络。作为另一个示例,文件系统102在与脱机存储器108的计算机系统相同的计算机系统上执行。
文件系统102和脱机存储器108的计算机系统可以是,例如,一个或多个PC(例如,运行Microsoft Windows操作系统的一个版本的IBM或兼容的PC工作站,运行Mac OS操作系统的一个版本的Macintosh计算机,或等效的计算机),个人数字助理(PDA)、游戏控制台,或任何其他计算机处理设备。作为替代,文件系统102和脱机存储器108的计算机系统可以是服务器(例如,执行SunOS、AIX、或Linux操作系统的一个版本的一个或多个计算机)。
图2A显示了与示例性文件系统内存储的数据关联的示例性数据结构集200。数据结构集200包括被分配给一个文件并包含该文件的元数据204的索引节点202。元数据204可以包括,例如,文件的创建时间、大小、访问权限、指向数据块的指针,及其他关联的数据。索引节点202由索引节点号码唯一地进行标识,索引节点内的数据被文件系统用来定位关联的文件。索引节点202进一步包含磁盘地址206,这是指向文件的数据块208的指针。磁盘地址206指定特定磁盘驱动器的标识,以及磁盘驱动器内包含数据块208的扇区或块。
索引节点202可以按顺序存储在用户不可见的固定大小的索引节点的索引节点文件内的文件系统中。可以根据到索引节点文件的偏移量,访问具有特定索引节点号码的索引节点文件中的索引节点;偏移量是通过将索引节点号码乘以每一个索引节点的长度,然后读取偏移了该计算出的值的索引节点文件中的数据结构来确定的。
图2B显示了描述示例性文件系统内存储的数据的第二示例性数据结构集250。尽管数据结构集200适合用于与其中磁盘地址206可以存储在索引节点本身内的小型文件,但是,数据结构集250也可以用于较大的文件。在数据结构集250中,索引节点252的磁盘地址256指向一个或多个间接数据块258,每一个数据块258都包含一个或多个指针,指向实际数据块或者包含进一步的磁盘寻址信息的其他间接块。在图2中,间接数据块258包含第一直接磁盘地址260和第二直接磁盘地址262,分别指向与索引节点252关联的文件的第一数据块264和第二数据块266。
图3显示了示例性文件系统目录结构。目录结构300包括目录文件302,该目录文件302包含两个目录项或记录:第一目录记录304和第二目录记录310。第一目录记录304的数据包含文件名306和索引节点号码308。目录文件302由文件系统进行管理,而目录记录304将用户分配的文件名306映射到唯一地标识与此目录条目关联的文件的索引节点316的索引节点号码308。与目录记录310关联的结构类似于与目录记录304关联的结构。
这种目录项也可以被称为链接。这样的链接可以指向用户文件、其他目录,或其他文件系统对象。在示例性文件系统中,目录可以对文件系统中的文件规定分层的命名结构,其中,层次结构的根是文件系统的根目录。从根目录或根的子目录,可访问文件系统内的文件和目录。一个文件能够具有一个以上的目录条目,如此,一个以上的名称,供用户对它进行访问。
可以实现这里结合本发明的示例性实施例所描述的示例性文件系统,以定义存储在一个或多个大容量存储设备上的数据的结构,支持并行地创建、修改和删除这些存储设备上的多个文件,并使链接和写入一致。如果每个文件具有至少一个目录条目并且每个目录条目链接到当创建链接时它所链接的同一个文件,则可以说文件系统链接一致。写入一致文件系统维护了单个文件内或文件之间的按序写入的顺序。例如,在向第一文件写入之后向第二文件写入并且迫使该第一文件中的被写入的数据写入到非易失性存储器的应用程序,只有在第一文件中有数据的情况下才需要数据存在于第二文件中。保持了此属性的文件系统可以说是写入一致的。
这里所描述的示例性文件系统是快照文件系统。快照文件系统被配置为捕获文件系统的一个或多个快照,以创建数据集,该数据集保持了在捕获快照时数据存储在文件系统内时的数据的状态。使用写入时复制技术,快照只包含自从创建快照以来改变的文件系统数据的副本。快照功能可以允许备份或镜像程序与用户更新并行地运行,到创建快照的时间为止仍能获取文件系统的一致的副本。快照可以提供联机文件备份能力,利用该能力,允许轻松地从诸如偶然的删除之类的常见的问题中恢复,并允许将一个文件与该文件的较旧的版本进行比较。可以实现示例性快照文件系统,以创建和捕获快照,包括文件系统中的所有文件,以保持一致的文件系统图像数据集,并在捕获快照之后进行修改之前有效地复制文件系统中的旧数据。
在示例性快照文件系统中,在捕获快照之后,快照维护处理可以增强对现用文件系统的修改。当在捕获快照之后首次修改现用文件系统内的数据时,在修改原始文件内的该数据之前,此处理可以将该数据的原始版本(即,在捕获快照时存在的数据的版本)复制到快照数据集中。此系统的操作导致当修改现用文件系统内的文件时,快照的内容所需的存储空间随着时间而增大。
在示例性快照文件系统中,文件系统图像数据集中的文件的快照可以包含文件的索引节点的副本以及被该索引节点引用的任何间接块。快照文件中的数据块指针将与原始文件引用相同的数据块,直到写入时复制(copy-on-write)操作创建新的数据块,并删除引用。图4显示了描述了这种快照文件系统内的存储的数据的第三示例性数据结构集400。数据结构集400包含三个索引节点:现用文件系统中的第一索引节点402,快照数据集416中的旧版本的第二索引节点408,以及快照数据集中的另一个旧版本的第三索引节点412,分别包含第一磁盘地址404、第二磁盘地址410,以及第三磁盘地址414,每一个都指向同一个数据块406。如图4所示,具有为其存储了一个以上的版本的文件的快照文件系统可以具有多个对单个数据块的引用。
图5A和5B显示了本发明的示例性实施例的处理和控制流,其中,实现了图1中的示例性系统体系结构100的诸如HSM 106之类的分层系统管理器,以对快照文件系统进行操作。在此示例性实施例中,HSM控制存储在文件系统中的数据块沿着数据迁移和调用路径在原始文件系统中的更快的联机存储器(例如,硬盘驱动器阵列)和连接到HSM的慢一些的脱机存储器(例如,磁带)之间的自动移动的分割的或分层的层次结构。HSM连续地监视文件系统数据和联机存储容量,并包括用于确定何时在存储级别之间迁移数据的策略。这些策略可以基于,例如,诸如大小、自从最后一次访问以来的时间长度之类的文件属性,及如网络或系统管理员所指定的其他标准。HSM自动地调用已经被迁移的如果被用户访问的数据,并将它恢复到文件系统中的其原始位置。一般而言,HSM可以操作,以管理在文件系统内组织的数据的存储,通过将不经常被访问或以别的方式认为不那么关键的数据移动到脱机存储器,而对最终用户来说,呈现此数据仍在磁盘上的效果。
在图5A-5B中所显示的示例性实施例中,控制流500在步骤502中开始,HSM选择一个文件从联机存储器迁移到脱机存储器,流程直接进入步骤504,其中HSM锁定对选定的文件的访问,以防止对文件的并发更新,直到HSM操作完成。在本示例性实施例中,可以通过HSM选择任何文件,无论它是现用版本还是快照副本,以便迁移到脱机存储器,而所有文件都独立地迁移。
在选择要迁移的文件时,HSM,在步骤506中,着手将选定的文件的每一个数据块复制到脱机存储器。被迁移的文件的索引节点作为“存根文件”保留在联机存储器中,对用户应用程序,似乎是原始文件,确保HSM操作的透明性。可选地,在某些示例性实施例中,HSM可以在联机存储器中的存根文件中留下选定的文件的少量的原始数据,如第一数据块。在完成复制之后,然后在步骤508中,HSM检查原始文件系统中的索引节点文件,以判断被迁移的数据块中是否有数据块被文件的一个以上的快照版本引用。在示例性实施例中,此判断可以这样进行,例如,通过检查元数据中维护的相关的状态信息或索引节点文件中的每一个索引节点的磁盘地址指针,或通过扫描可能具有同一个数据块的引用的文件的快照版本。
对于被发现引用迁移的数据块的文件的每一个版本,在步骤510中,HSM更新文件的关联的索引节点的属性,以说明迁移。这是通过更新具有共享的对迁移的数据块的引用的快照文件的索引节点内包含的磁盘地址指针来执行的。更具体地说,被实际迁移到每一个共享数据块的文件的索引节点的磁盘地址指针被保留原样,但是对于具有索引节点并带有对发现的迁移的数据块的共享的引用的每一个随后的快照文件,HSM将指向索引节点中的共享数据块的物理磁盘地址指针替换为这里被称为“逻辑照抄地址”的逻辑“照抄(ditto)”值。
照抄值是预留值,表示磁盘地址值不是真实的磁盘地址,因此,表示需要另外的处理才能访问数据。在示例性实施例中,磁盘地址的“照抄”值可以作为“-1”来存储。索引节点文件仍保留在原始文件系统中,或者如任何其他文件那样被访问,但是由于“-1”不是有效的磁盘块地址,应用程序将能够认识到,这是照抄值。
于在步骤510中做出的任何更新之后,在步骤512中,HSM着手更新文件系统属性以说明迁移,和对迁移的文件的快照版本的磁盘地址做出的任何更新。在本示例性实施例中,HSM是通过设置涵盖了迁移的数据的“受管理的区域”来做到这一点的,这允许它截取随后的对迁移的文件的读取和写入操作,并根据需要恢复迁移的数据。为了当具有共享的引用的文件的快照版本被访问时也可以恢复迁移的数据块,如下面将说明的,HSM也设置每一个快照文件的受管理的区域,指向共享数据块的物理磁盘地址指针被替换为逻辑照抄值。受管理的区域提供应用程序控制对已经从联机存储空间迁移的数据块的访问的机制。在示例性实施例中,可以通过其起始偏移、长度,以及事件生成标记,来描述每一个受管理的区域。例如,在具有offset=0,length=8192以及flags=READ|WRITE|TRUNCATE的受管理的区域中,任何访问偏移0和8191之间的文件数据的尝试都将触发特定的事件,如下文所述。实际事件类型取决于访问类型:例如,写入尝试会生成写入事件。
在更新索引节点和文件系统属性之后,HSM,在步骤514中,可以解除分配每一个迁移的数据块的联机存储器。由于在步骤510中冗余的对每一个数据块的物理引用都被转换为逻辑照抄地址,HSM可以立即回收所有迁移的数据块的文件系统的联机存储空间,不管对任何共享数据块的引用的数量如何。在以此方式删除原始数据块之后,在步骤516中,HSM解除锁定对选定文件的访问,这可使对该文件的任何待办的操作得到处理,原始数据文件的正常的文件系统活动恢复。延迟的更新被处理,应用程序再次能够访问原始文件系统数据。
在文件系统中的文件已经被HSM迁移到脱机存储器之后,HSM可以随后决定迁移具有现在包含指向已经被迁移的共享数据块的逻辑照抄地址指针的索引节点的文件。在本发明的示例性实施例中,可以根据如上文所描述的示例性控制流程500开始这种迁移,只是由选定的文件共享的已经迁移的数据块不被复制到脱机存储器,而是在步骤506中,HSM将检测将数据块标识为已经被迁移的照抄值,从而知道避免复制它和将它冗余地存储起来。在步骤506中,HSM将只将利用索引节点中的物理块地址引用的联机数据块复制到脱机存储器。即,在本示例性实施例中,如果数据块尚未在另一个迁移中被移到脱机存储器,则根据如上文所描述的步骤506-514,它将被复制和解除分配,但是,如果索引节点提供逻辑照抄地址,则HSM不会在脱机存储器中制作数据块的冗余副本。在这样的情况下,HSM将在已迁移的文件内保留照抄地址的偏移,因为此信息是恢复数据和重建对每一个共享数据块的多个共享引用所需的,如下文所述。在示例性实施例中,这可以,例如,通过记录照抄地址的范围,提供表示每一个照抄地址的位图,或保留已迁移的文件的数据块指针,来实现。
在替代示例性实施例中,可以如此实现HSM,以便当将文件迁移到脱机存储器时HSM不立即回收共享磁盘块的磁盘空间,而是等待,直到引用了共享数据块的每个快照文件也都被迁移到脱机存储器。在此示例性实施例中,当生成照抄值时,HSM将保留指向数据块的物理磁盘地址指针,以便读取快照文件时,不会需要从脱机存储器恢复原始文件的操作。尽管在此示例性实施例中文件系统将等待比较长的时间才能回收已迁移的数据块的磁盘空间,但是,当读取快照文件时,可以避免脱机存储器访问。对于其中对快照文件的访问是常见的文件系统操作,即使原始文件长时间没有被访问,此替代实现方式可以就总体工作负荷而言提供较佳的折中。
对于使用分层系统管理和供用户或应用程序访问文件的接口,诸如,例如,标准POSIX文件系统接口,的快照文件系统,可以实现本发明的示例性实施例,以支持用户访问已经从脱机存储器迁移的文件。可以以多种不同的方式处理这些访问,取决于访问类型和文件的位置。
例如,用户或其他进程可以请求读取或修改已经迁移到脱机存储器的数据,结果,数据必须由HSM恢复到联机存储器。在这样的情况下,必须恢复以满足对文件的读取或写入访问的已迁移的数据块可能已经与文件一起或者与文件的另一个快照版本一起迁移,正在被访问的实际文件与文件的另一个快照版本具有共享数据块引用,该共享数据块引用在迁移期间被修改为照抄值。图6显示了本发明的示例性实施例的过程和控制流程,其中,根据上文所描述的示例性控制流程500迁移的数据被HSM恢复,以满足读取或写入请求。
在图6中所显示的示例性实施例中,当在步骤602中做出读取或写入请求时开始控制流程600。然后,过程根据正在被访问的文件引用的数据块的当前存储情况前进。如果做出访问具有表示对其索引节点中的迁移的数据块的引用的逻辑照抄地址的联机文件的请求,则由HSM设置的涵盖正在被访问的文件的逻辑照抄地址的受管理的区域将在步骤604中截取读取或写入请求,并向HSM指出,必须从脱机存储器中恢复已迁移的数据。存储在磁盘地址中的照抄值表示推断的引用,HSM必须使用已迁移的文件的索引节点内的磁盘地址,检索已迁移的数据块的实际磁盘地址。因此,HSM将如此对待请求,好像它是对包含在物理磁盘地址被转换为逻辑照抄地址之前被联机文件的索引节点引用的数据块的已迁移的文件的访问。HSM在步骤606中,将以下面针对直接向脱机文件发出读取或写入请求时所描述的方式将已迁移的文件恢复到联机存储器。
在本示例性实施例中,如果作为替代做出读取或写入请求以访问脱机文件,过程将从步骤602进入步骤610,在该步骤中,由HSM设置的涵盖已迁移的文件受管理的区域将截取请求并向HSM指出,必须从脱机存储器恢复已迁移的数据。然后,HSM将在步骤612中恢复被文件的索引节点中的物理(即,非照抄)磁盘地址引用的已迁移的数据块。对于用照抄值标记的文件的索引节点中的任何磁盘地址,如果读取或写入请求指向由照抄值表示的特定已迁移的数据块,HSM将在步骤614中,如在步骤606中针对向具有逻辑照抄地址的联机文件发出的请求那样,以下面的方式对待请求,即,好像它是对包含在其物理磁盘地址被转换为逻辑照抄地址之前被联机文件的索引节点引用的数据块的已迁移的文件的访问。然而,HSM不会恢复对应于用照抄值标记的最初被访问的文件的索引节点中的任何其他磁盘地址的数据。因此,在某些情况下,恢复操作可以将逻辑照抄地址原封不动地保留在被访问的文件的索引节点中。
在以这样的方式从脱机存储器恢复必要的数据块之后,HSM在步骤608中着手更新对被恢复的共享数据块的磁盘地址索引,然后,在步骤616中,将控制返回到文件系统,以便现在恢复的数据可以被访问,以满足原始文件请求,原始数据文件的正常的文件系统活动可以恢复。在示例性实施例中,对于被多个索引共享的每一个已恢复的数据块,使用当具有照抄值的文件被迁移时保留的逻辑照抄地址的位置,HSM可以在步骤608中,恢复文件中的物理磁盘地址,以便每一个已迁移的数据块只需要一个恢复操作,并只需要在联机存储器中进行一次新的块分配。即,一旦在读取或写入请求中修复了数据块,如果需要,HSM可以将任何或全部对应的逻辑照抄地址替换为已恢复的数据块的物理磁盘地址。
在替代示例性实施例中,可以推迟向对应的逻辑照抄地址的更新,直到进行随后的引用,从而可以避免文件被删除,而无法进行随后的访问。例如,如果对文件进行的访问是盖写整个数据块的写入请求,如果HSM只替换被恢复的文件中的逻辑照抄地址,则当在被更新之前向新的磁盘块复制原始数据时它可以避免在对共享数据块的写入中通常产生的“写入时复制”损失。在此示例中,HSM为正在向其写入的数据分配新的数据块,但是,在脱机存储器中保留数据块的原始共享副本,直到,如果对到共享数据块的其中一个其他逻辑照抄地址进行访问,或直到具有其他逻辑照抄地址的所有文件被删除。即,HSM在已迁移的数据块的磁盘地址和与其他照抄值关联的磁盘地址之间保持关联,并将原始文件的索引节点中的磁盘地址(照抄或物理)替换为联机存储器中的新分配的数据块的地址。这节省了与当原始文件不再需要原始数据时从原始数据块恢复原始数据关联的磁盘I/O,如果或直到原始数据块被访问。
在其他文件访问情况下,用户或进程可以请求删除或截断具有已经被迁移到脱机存储器的一个或多个共享数据块的文件。在这些情况下,HSM必须保留共享数据。图7显示了本发明的示例性实施例的过程和控制流程,其中,根据如上文所描述的示例性控制流程500迁移的数据被HSM恢复,以满足删除或截断请求。
在图7中所显示的示例性实施例中,控制流程700从在步骤702中做出的删除或截断请求时开始。在步骤704中,HSM开始恢复正在被当前请求访问的文件的索引节点在物理上引用的每一个共享数据块。对于被恢复的每一个共享数据块,在步骤706中,HSM将共享对被恢复的数据块的索引的其他文件中的至少一个文件的索引节点内的照抄值替换为对应的物理磁盘地址。然后,HSM在步骤708中将控制返回到文件系统,以便可以解除分配相应的数据空间,以满足原始文件请求,原始数据文件的正常的文件系统活动可以恢复。
在替代示例性实施例中,HSM不必在向具有已经迁移到脱机存储器的一个或多个共享数据块的文件发出删除或截断请求时执行恢复操作。相反,HSM可以向具有对共享数据块的索引的其中一个文件分配脱机共享数据块的所有权。这种所有权变更可以通过更新文件的索引节点内包含的相关元数据来进行,这将使文件系统避免让HSM恢复数据,直到需要改数据例如以满足对数据块的读取或写入访问权限。
现在请参看图8A-8C,显示了与替代示例性文件系统内存储的数据关联的第三种数据结构集的示例。这种文件系统通过创建利用推断的逻辑照抄地址指针的快照数据集来引用文件的最近的版本内的数据,而不是创建多个对联机存储器中的原始数据块的物理索引(即,在数据迁移之前),与上文所描述的其他示例性文件系统不同地实现了快照。
图8A显示了与此替代快照文件系统关联的初始快照数据集结构800的示意图。显示的快照数据集802是空白的,代表当自从捕获快照以来没有更新原始文件系统时的快照。用于从快照数据集检索数据的过程首先检查快照的索引节点文件,以判断正在被检索的数据文件的快照数据集802内是否存在有效索引节点数据。快照数据集802内不存在索引节点数据表示,自从捕获快照以来没有修改被请求的数据,该快照“内”的被请求的数据位于现用文件系统的原始数据文件中。这导致对现用文件系统的索引节点804的推断的索引812访问被请求的数据块。
当进行访问捕获的快照内的数据块810的尝试,并且快照数据集不包含与被请求的数据文件关联的索引节点的数据时,使用现用文件系统的索引节点804内的物理磁盘地址808来访问数据块。类似地,当快照数据集802内没有有效索引节点数据时,使用现用文件系统的索引节点804内的推断的对元数据集806的索引来访问文件的元数据。
图8B显示了与此示例性文件系统关联的已更新的属性数据结构820的示例。在数据结构820中,阴影索引节点822存储在快照数据集802内。阴影索引节点822代表被捕获到快照数据集802中的数据文件的索引节点,其中,自从捕获快照以来,元数据节点824中存储的索引节点的文件属性已经改变。在更新现用文件系统内的索引节点元数据之前,索引节点数据已经从现用文件系统复制到快照数据集802中。此结构导致包含当捕获快照时存在于关联的文件中的属性的元数据节点824。
阴影索引节点822内的磁盘地址826包含“-1”照抄值,表示这是阴影索引节点,实际数据块810的真实的磁盘地址存储在现用文件系统的索引节点804中。存储在磁盘地址826中的照抄值表示推断的索引828,表明应该使用现用文件系统的索引节点804内的磁盘地址808来检索在此情况下仍是原始文件的一部分的数据块810的实际磁盘地址。如此,原始索引节点的文件属性被按原样复制,但是,存储在快照索引节点文件中的阴影索引节点内的磁盘地址被替换为逻辑照抄地址。
图8C显示了与此替代示例性文件系统关联的更新的数据块存储数据结构830的示例。数据块存储数据结构830代表自从捕获快照以来已经更新的数据块810。在更新数据块810之前位于现用文件系统中的数据块810在捕获快照之后已经被移动或复制到快照数据集802。数据块存储数据结构830显示了,快照数据集802内的阴影索引节点822不仅包含有效元数据824,而且现在还包含磁盘地址826中的有效物理索引。现在是快照数据集802的一部分的磁盘地址826表明数据块810的存储位置。
在本发明的示例性实施例中,可以和此替代类型的脱机存储器系统和快照文件系统一起实现HSM,以自动地在联机存储器设备和脱机存储器之间在文件系统内移动数据。在一个示例性实施例中,可以实现HSM,按与上文利用示例性控制流程500、600,以及700所描述的类似的方式,在发出文件访问请求时,执行数据迁移和恢复数据,但有些例外,下面将进行描述。
在本示例性实施例中,不执行示例性控制流程500中的在迁移文件之后将也引用了被迁移的数据的文件的索引节点中的物理磁盘地址转换为照抄值的步骤510。而是在迁移之后立即解除分配由文件占用的磁盘空间。这是因为,正在被迁移的文件引用的任何共享数据块将被其他文件的索引节点内的逻辑照抄地址引用,不管数据块是联机存储还是被迁移脱机。另外,在示例性控制流程500中的步骤512中,HSM不需要设置包含逻辑照抄地址的快照文件版本的受管理的区域,因为这种快照文件系统已经被配置为实现照抄解析。此外,在本示例性实施例中,在向具有逻辑照抄地址的联机文件发送读取或写入请求时,文件系统将把照抄地址解析为被迁移的文件。结果,HSM可以将数据块恢复到该文件,不用转换引用了被恢复的数据块的任何其他照抄值。即,在将共享数据块恢复到联机存储时,HSM不会恢复对数据块的任何物理索引。
通过在联机存储器中创建逻辑块指针来引用正在迁移脱机的被文件的多个快照版本共享的数据,并通过当将共享数据恢复到联机存储器时将引用被文件的多个快照版本共享的脱机数据的逻辑块指针替换为物理磁盘指针,可以以较少的成本实现示例性实施例,以提供存储了表明特定时间点存储的数据的状态的快照的文件系统的有效的分层存储管理。
本发明的示例性实施例可以在一个计算机系统中以集中方式实现,或者以其中不同的元件跨多个互连的计算机系统分布的分布式计算体系结构操作来实现。图9显示了示例性分布式计算环境1600的方框图,包括通过多个网络适配器1604彼此连接在一起的多个节点1602。每一个节点1602都是独立的计算机,有其自己的操作系统映像1608、系统存储器总线1618上的存储器1610,处理器1606。系统输入/输出总线1616连接了I/O适配器1612和网络适配器1604。每一个网络适配器都通过网络交换机1620彼此链接起来。在示例性实施例中,网络可以是带有对应的光纤网络交换机的光纤网络。
示例性实施例可以,例如,被实现为在包括带有一个或多个处理器1606的N个节点1602的分布式计算环境1600中进行操作。在示例性实施例中,每一个处理节点都是运行AIX操作系统的RISC/6000计算机。在替代示例性实施例中,某些或所有处理节点1602可以包括不同类型的计算机和/或不同的操作系统1608。
本发明的示例性实施例可以以硬件、软件或硬件和软件的组合来实现。根据示例性实施例的系统可以使用一个计算机系统以集中方式,或者以其中不同的元件跨多个互连的计算机系统分布的分布式方式来实现。硬件和软件的示例性的组合可以是具有这样的计算机程序的通用计算机系统,当加载并执行该计算机程序时,控制计算机系统以便它执行这里描述的方法。
本发明的示例性实施例还可以嵌入在计算机程序产品中,这种计算机程序产品包括能够实现这里所描述的方法的特征,在加载到计算机系统中时,能够执行这些方法。本上下文中的计算机程序装置或者计算机程序是指以任何语言、代码或注释表达的一组指令的任何表达式,用于导致具有信息处理能力的系统直接或者在下列操作中的任何一种或两种操作都执行之后执行特定的功能:a)转换到另一种语言、代码或注释;以及b)以不同的材料形式再现。
本发明的示例性实施例可以在任何类型的计算机系统上实现,也可以在可以适用于执行这里所描述的方法和/或功能的其他设备上实现。示例性计算机系统可以包括,其中,一个或多个计算机和至少一个计算机可读介质,该介质允许计算机系统从计算机可读介质中读取数据、指令、消息或消息数据包,及其他计算机可读取的信息。计算机可读介质可以包括,例如,诸如ROM、FLASH存储器、磁盘驱动器存储器、CD-ROM之类的非易失性存储器,及其他永久存储器,以及,例如,诸如RAM、缓冲存储器、高速缓冲存储器之类的易失性存储器,以及网络线路。此外,计算机可读介质还可以包括如包括允许计算机读取这样的计算机可读取的信息的有线网络或无线网络的网络链路和/或网络接口之类的暂时状态介质中的计算机可读取的信息。
图10显示了示例性计算机系统1700。计算机系统1700包括诸如处理器1704之类的一个或多个处理器。处理器1704连接到通信基础架构1702(例如,通信总线、跨接棒或网络)。这里利用此示例性计算机系统,描述了本发明的示例性实施例。在阅读此描述之后,如何使用其他计算机系统和/或计算机体系结构来实现示例性本发明的实施例对于本领域的技术人员来说是清楚的。
示例性计算机系统1700包括显示器接口1708,用于转发来自通信基础架构1702或来自未显示的帧缓冲存储器的图形、文本,及其他数据,以便显示在显示单元1710上。计算机系统1700还包括主存储器1706,优选情况下,随机存取存储器(RAM),还可以包括辅助存储器1712。辅助存储器1712可以包括,例如,硬盘驱动器1714和/或可移动存储驱动器1716,代表软盘驱动器、磁带驱动器、光盘驱动器等等。可移动存储驱动器1716从可移动存储单元1718中读取和/或向其中写入。可移动存储单元1718代表可由可移动存储驱动器1716读取并向其中写入的软盘、磁带、光盘等等。可以理解,可移动存储单元1718包括其中存储了计算机软件和/或数据的计算机可用存储介质。
示例性辅助存储器1712可以包括允许计算机程序或其他指令加载到计算机系统1700中的其他类似的装置。这样的装置可以包括,例如,可移动存储单元1722和接口1720。这样的装置的示例包括程序盒和盒式接口(如在视频游戏设备中见到的那些)、可移动的存储器芯片(如EPROM或PROM)和关联的插槽,及允许将软件和数据从可移动存储单元1722传输到计算机系统1700的其他可移动存储单元1722和接口1720。
示例性计算机系统1700还可以包括通信接口1724。通信接口1724允许在计算机系统1700和外部设备之间传输软件和数据。通信接口1724的示例可以包括调制解调器、网络接口(如以太网卡)、通信端口、PCMCIA插槽和卡等等。通过通信接口1724传输软件和数据呈现信号的形式,信号可以是,例如,能够通过通信接口1724接收到的电子、电磁、光学或其他信号。这些信号通过通信路径、或信道1726提供到通信接口1724。信道1726承载信号并可以使用线路或电缆、光纤、电话线、移动电话链路、RF链路,和/或其他通信信道来实现。
这里所使用的术语“计算机程序介质”、“计算机可用介质”以及“计算机可读介质”一般是指诸如主存储器1706和辅助存储器1712、可移动存储驱动器1716、安装在硬盘驱动器1714中的硬盘之类的介质,以及信号。这些计算机程序产品是用于向计算机系统1700提供软件的装置。计算机可读介质允许计算机系统1700从计算机可读介质中读取数据、指令、消息或消息数据包,及其他计算机可读信息。计算机可读介质,例如,可以包括非易失性存储器,如软盘、ROM、FLASH存储器、磁盘驱动器存储器、CD-ROM,及其他永久存储器。例如,在计算机系统1700之间运输诸如数据和计算机指令之类的信息是有用的。此外,计算机可读介质还可以包括如包括允许计算机读取这样的计算机可读取的信息的有线网络或无线网络的网络链路和/或网络接口之类的暂时状态介质中的计算机可读信息。
计算机程序(也叫做“计算机控制逻辑”)存储在主存储器1706和/或辅助存储器1712中。也可以通过通信接口1724接收计算机程序。具体来说,计算机程序,当执行时,使处理器1704能执行计算机系统1700的特征。相应地,这样的计算机程序代表计算机系统1700的控制器。可以实现这样的计算机程序,以便当执行该程序时,使计算机系统1700能执行如这里所讨论的本发明的示例性实施例的特征。
因此,本发明的示例性实施例的一个或多个方面可以包括在具有,例如,计算机可用介质的一件产品中(例如,一个或多个计算机程序产品)。介质中包含了,例如,用于提供和促进本发明的功能的计算机可读程序代码装置。该产品可以作为计算机系统的一部分或单独地销售。此外,还可以提供至少一个由机器可读取的程序存储设备,其中有形地体现由机器可执行的至少一个指令程序以执行上文所描述的本发明的示例性实施例的功能。
可以以对于每一个特定应用程序所希望的任何组合,实现为本发明的示例性实施例描述的变化。如此,可能对于特定应用程序有特定优点的这里所描述的特定局限性,和/或实施例增强,未必用于所有应用程序。此外,并非这里对于本发明的示例性实施例所描述的方面的所有的局限性都需要在方法、系统和/或设备中实现。

Claims (25)

1.一种用于管理已经被选择从文件系统内的第一存储级别迁移到第二存储级别的文件的存储的方法,选定文件是从多个源文件中选择的,每一个源文件都在所述文件系统内组织成一个或多个数据块,所述文件系统具有所述多个源文件中的每一个源文件的索引节点,每一个索引节点都具有对对应的源文件的所述一个或多个数据块中的每一个的索引,所述文件系统被配置为定期生成所述多个源文件中的所述源文件的快照文件,所述文件系统具有每一个快照文件的索引,在生成所述快照文件时,每一个快照文件的索引节点都具有对所述对应的源文件的所述一个或多个数据块中的每一个数据块的索引,所述方法包括:
将所述选定文件的索引节点的对应的索引中维护的物理磁盘地址处所述选定文件的存储在第一存储级别中的所述一个或多个数据块中的每一个数据块从所述第一存储级别复制到第二存储级别;
在引用了所述选定文件的被复制到所述第二存储级别的所述一个或多个数据块中的一个数据块的所述文件系统中的每一个快照文件的索引节点的每一个索引中维护逻辑照抄地址,每一个逻辑照抄地址都表明,需要另外的处理以获得被所述索引引用的所述数据块的所述物理磁盘地址;以及
更新所述文件系统,以包括用于通过所述选定文件的索引节点控制对所述一个或多个数据块的访问的受管理的区域。
2.根据权利要求1所述的方法,进一步包括:
在所述第一存储级别中解除分配所述选定文件的被复制到所述第二存储级别的所述一个或多个数据块。
3.根据权利要求1所述的方法,进一步包括:
在具有对所述选定文件的被复制到所述第二存储级别的所述一个或多个数据块中的每一个数据块的索引的每一个快照文件也都被选择用于迁移之后,在所述第一存储级别中解除分配该数据块。
4.根据权利要求2所述的方法,其中,当所述文件系统生成所述快照文件时,所述文件系统被配置为在引用了所述对应的源文件的所述一个或多个数据块中的一个数据块的每一个快照文件的索引节点的每一个索引中分配逻辑照抄地址。
5.根据权利要求4所述的方法,其中,对于引用了所述对应的源文件的数据块的每一个快照文件的索引节点的每一个索引,所述文件系统被配置为当在所述源文件中修改所述数据块时,将该索引中的所述逻辑照抄地址转换为物理磁盘地址。
6.根据权利要求2所述的方法,进一步包括:
在引用了所述选定文件的被复制到所述第二存储级别的所述一个或多个数据块中的任何一个数据块的所述文件系统中的每一个快照文件的索引节点的每一个索引中分配逻辑照抄地址,以及
更新所述文件系统以包括具有向其分配了逻辑照抄地址的索引的每一个快照文件的受管理的区域,每一个受管理的区域都通过所述对应的快照文件的索引节点,控制对被复制到所述第二存储级别的所述一个或多个数据块的访问。
7.根据权利要求5所述的方法,进一步包括:
在所述选定文件的被复制到所述第二存储级别的所述一个或多个数据块已经在所述第一存储级别中解除分配之后,接收读取或修改所述选定文件的请求;
将所述选定文件的在所述选定文件的索引节点的对应的索引中维护了物理磁盘地址的所述一个或多个数据块中的每一个数据块,从所述第二存储级别复制到所述第一存储级别;以及
满足读取或修改所述选定文件的请求,
其中,如果在所述选定文件的索引节点的被请求读取或修改所述选定文件的请求直接访问的所述一个或多个数据块中的任何一个数据块的所述对应的索引中维护了逻辑照抄地址,则将所述多个源文件的为其在索引节点的到通过请求直接地访问的一个或多个数据块的所述对应的索引中维护了物理磁盘地址,并且为其在所述选定文件的索引节点的所述对应的索引中维护了逻辑照抄地址的每一个源文件的一个或多个数据块中的每一个数据块,从所述第二存储级别复制到所述第一存储级别。
8.根据权利要求5所述的方法,进一步包括:
接收读取或修改具有带有引用了所述选定文件的被复制到所述第二存储级别并在所述第一存储级别中解除分配的所述一个或多个数据块中的一个数据块的索引中的逻辑照抄地址的索引节点的所述文件系统内的第一快照文件的请求;
将所述选定文件的在所述选定文件的索引节点的所述对应的索引中维护了物理磁盘地址的所述一个或多个数据块中的每一个数据块,从所述第二存储级别复制到所述第一存储级别;以及
满足读取或修改所述选定文件的所述请求。
9.根据权利要求6所述的方法,进一步包括:
在所述选定文件的被复制到所述第二存储级别的所述一个或多个数据块已经在所述第一存储级别中解除分配之后,接收读取或修改所述选定文件的请求;
将所述选定文件的在所述选定文件的索引节点的所述对应的索引中维护了物理磁盘地址的所述一个或多个数据块中的每一个数据块,从所述第二存储级别复制到所述第一存储级别;以及
满足读取或修改所述选定文件的请求,
其中,如果在所述选定文件的索引节点的被请求读取或修改所述选定文件的请求直接访问的所述一个或多个数据块中的任何一个数据块的所述对应的索引中维护了逻辑照抄地址,则将所述多个源文件的为其在索引节点的到通过请求直接地访问的一个或多个数据块的所述对应的索引中维护了物理磁盘地址,并且为其在所述选定文件的索引节点的所述对应的索引中维护了逻辑照抄地址的每一个源文件的一个或多个数据块中的每一个数据块,从所述第二存储级别复制到所述第一存储级别。
10.根据权利要求9所述的方法,进一步包括:
将引用了被复制到所述第一存储级别的所述一个或多个数据块中的一个数据块的所述文件系统中的每一个快照文件的索引节点的每一个索引中的每一个逻辑照抄地址转换为在所述第一存储级别中向其复制了所述对应的数据块的所述物理磁盘地址。
11.根据权利要求9所述的方法,进一步包括:
对于引用了被复制到所述第一存储级别的为其接收了随后的访问所述快照文件的请求的所述一个或多个数据块中的一个数据块的所述文件系统中的每一个快照文件,将所述快照文件的索引节点的每一个索引中的每一个逻辑照抄地址转换为在所述第一存储级别中向其复制了所述对应的数据块的所述物理磁盘地址。
12.根据权利要求6所述的方法,进一步包括:
接收读取或修改具有带有引用了所述选定文件的被复制到所述第二存储级别并在所述第一存储级别中解除分配的所述一个或多个数据块中的一个数据块的索引中的逻辑照抄地址的索引节点的所述文件系统内的第一快照文件的请求;
将所述选定文件的为其在所述选定文件的索引节点的所述对应的索引中维护了物理磁盘地址的所述一个或多个数据块中的每一个数据块,从所述第二存储级别复制到所述第一存储级别;以及
满足读取或修改所述选定文件的请求。
13.根据权利要求12所述的方法,进一步包括:
将引用了被复制到所述第一存储级别的所述一个或多个数据块中的一个数据块的所述文件系统中的每一个快照文件的索引节点的每一个索引中的每一个逻辑照抄地址转换为在所述第一存储级别中向其复制了所述对应的数据块的所述物理磁盘地址。
14.根据权利要求12所述的方法,进一步包括:
对于引用了被复制到所述第一存储级别的为其接收了随后的访问所述快照文件的请求的所述一个或多个数据块中的一个数据块的所述文件系统中的每一个快照文件,将所述快照文件的索引节点的每一个索引中的每一个逻辑照抄地址转换为在所述第一存储级别中向其复制了所述对应的数据块的所述物理磁盘地址。
15.根据权利要求5所述的方法,进一步包括:
在所述选定文件的被复制到所述第二存储级别的所述一个或多个数据块已经在所述第一存储级别中解除分配之后,接收删除或截断所述选定文件的请求;以及
将所述选定文件的为其在引用了所述选定文件的所述一个或多个数据块中的一个数据块的文件系统中的每一个快照文件的索引节点的所述对应的索引中维护了逻辑照抄地址的所述一个或多个数据块中的每一个数据块,从所述第二存储级别复制到所述第一存储级别。
16.根据权利要求6所述的方法,进一步包括:
在所述选定文件的被复制到所述第二存储级别的所述一个或多个数据块已经在所述第一存储级别中解除分配之后,接收删除或截断所述选定文件的请求;
将所述选定文件的为其在引用了所述选定文件的所述一个或多个数据块中的一个数据块的文件系统中的每一个快照文件的索引节点的所述对应的索引中维护了逻辑照抄地址的所述一个或多个数据块中的每一个数据块,从所述第二存储级别复制到所述第一存储级别;以及
将引用了被复制到所述第一存储级别的所述一个或多个数据块中的每一个数据块的所述文件系统中的所述快照文件的索引节点的所述索引中的至少一个逻辑照抄地址转换为在所述第一存储级别中向其复制了所述对应的数据块的所述物理磁盘地址。
17.根据权利要求1所述的方法,其中,所述多个源文件的每一个源文件的索引节点具有指向一个或多个间接数据块的磁盘地址指针,所述一个或多个间接数据块包含对所述源文件的所述一个或多个数据块的索引。
18.根据权利要求1所述的方法,其中,所述第一存储级别是在处理单元控制下的联机存储器设备,在所述处理单元上执行了所述文件系统。
19.根据权利要求18所述的方法,其中,所述联机存储器设备包括硬盘驱动器阵列。
20.根据权利要求18所述的方法,其中,所述第二存储级别包括通过网络与所述文件系统进行通信的脱机存储器设备。
21.根据权利要求20所述的方法,其中,所述脱机存储器设备包括从软盘、光盘以及磁带中选择的存储介质。
22.根据权利要求1所述的方法,其中,所述选定文件是基于由文件系统管理员指定的标准确定的。
23.根据权利要求1所述的方法,其中,所述文件系统符合Xopen文件系统标准。
24.一种在其上存储了计算机可读指令的计算机可用介质,该计算机可读指令供处理器执行,以执行根据权利要求1到23中任一权利要求所述的方法。
25.一种数据处理系统,包括:
中央处理单元;
用于存储数据和被中央处理单元执行的程序的随机存取存储器;
包括非易失性存储设备的第一存储级别;以及
存储在随机存取存储器中的计算机可读指令,供中央处理单元执行,以执行根据权利要求1到23中任一权利要求所述的方法。
CN2008800248298A 2007-08-06 2008-07-21 用于提供快照的文件系统的分层存储管理 Expired - Fee Related CN101743546B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/834,338 2007-08-06
US11/834,338 US8055864B2 (en) 2007-08-06 2007-08-06 Efficient hierarchical storage management of a file system with snapshots
PCT/EP2008/059545 WO2009019128A1 (en) 2007-08-06 2008-07-21 Hierarchical storage management for a file system providing snapshots

Publications (2)

Publication Number Publication Date
CN101743546A true CN101743546A (zh) 2010-06-16
CN101743546B CN101743546B (zh) 2013-03-27

Family

ID=39791020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800248298A Expired - Fee Related CN101743546B (zh) 2007-08-06 2008-07-21 用于提供快照的文件系统的分层存储管理

Country Status (6)

Country Link
US (1) US8055864B2 (zh)
EP (1) EP2176795B1 (zh)
JP (1) JP5464554B2 (zh)
KR (1) KR101137299B1 (zh)
CN (1) CN101743546B (zh)
WO (1) WO2009019128A1 (zh)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955861A (zh) * 2012-11-30 2013-03-06 华为技术有限公司 一种基于备份文件的索引文件生成方法和装置
CN103038767A (zh) * 2010-07-30 2013-04-10 国际商业机器公司 用于文件克隆的数据共享
CN103049349A (zh) * 2012-11-29 2013-04-17 记忆科技(深圳)有限公司 基于分层存储的快照方法及系统
WO2013091244A1 (zh) * 2011-12-23 2013-06-27 华为技术有限公司 文件系统中数据的存储方法、访问方法及装置
CN103365744A (zh) * 2012-04-04 2013-10-23 国际商业机器公司 用于混合元数据图像备份和备份的系统和方法
CN103455389A (zh) * 2012-06-04 2013-12-18 三星电子株式会社 内容备份方法及其电子设备
CN105843905A (zh) * 2010-11-22 2016-08-10 日立数据系统工程英国有限公司 用于管理文件系统中的文件系统对象的设备和方法
CN106227587A (zh) * 2016-07-19 2016-12-14 浪潮(北京)电子信息产业有限公司 一种带快照虚拟机整机动态迁移方法及装置
CN106575309A (zh) * 2014-08-29 2017-04-19 微软技术许可有限责任公司 具有数据块共享的文件系统
CN106682003A (zh) * 2015-11-06 2017-05-17 中国电信股份有限公司 分布式存储命名空间的路径分割映射方法和装置
WO2017092016A1 (en) * 2015-12-03 2017-06-08 Huawei Technologies Co., Ltd. A method a source storage device to send a source file and a clone file of the source file to a backup storage device, a source storage device and a backup storage device
CN106909317A (zh) * 2011-01-20 2017-06-30 谷歌公司 在存储节点上存储数据
CN108021336A (zh) * 2016-10-31 2018-05-11 甲骨文国际公司 用于无缝数据迁移的数据布局方案
CN109416617A (zh) * 2016-03-31 2019-03-01 华睿泰科技有限责任公司 异构存储系统之间的复制
CN109542672A (zh) * 2015-09-25 2019-03-29 伊姆西公司 用于回收快照存储空间中的存储块的方法和装置
CN109725851A (zh) * 2017-10-27 2019-05-07 Netapp股份有限公司 智能快照分层
CN109960517A (zh) * 2019-03-14 2019-07-02 龙芯中科技术有限公司 镜像文件的制作方法、装置、系统及存储介质
CN110019073A (zh) * 2017-12-29 2019-07-16 北京忆恒创源科技有限公司 使用kv存储设备提供文件系统的方法及其文件系统
CN110109868A (zh) * 2018-01-18 2019-08-09 伊姆西Ip控股有限责任公司 用于索引文件的方法、装置和计算机程序产品
CN110235118A (zh) * 2017-02-13 2019-09-13 日立数据管理有限公司 通过存根化优化内容存储
CN110659162A (zh) * 2019-09-27 2020-01-07 厦门市美亚柏科信息股份有限公司 一种tpsfs文件系统的数据恢复方法、装置、系统及存储介质
CN111007990A (zh) * 2019-12-24 2020-04-14 曙光信息产业(北京)有限公司 一种对快照系统中数据块引用进行快速定位的定位方法
CN111522621A (zh) * 2019-02-01 2020-08-11 阿里巴巴集团控股有限公司 快照缓存创建方法、装置、电子设备及计算机存储介质
CN113836116A (zh) * 2021-09-29 2021-12-24 济南浪潮数据技术有限公司 数据迁移方法、装置、电子设备及可读存储介质
US11599504B2 (en) 2016-10-27 2023-03-07 Oracle International Corporation Executing a conditional command on an object stored in a storage system
CN116048562A (zh) * 2022-05-30 2023-05-02 荣耀终端有限公司 一种数据更新方法、电子设备及存储介质
US11726979B2 (en) 2016-09-13 2023-08-15 Oracle International Corporation Determining a chronological order of transactions executed in relation to an object stored in a storage system

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055864B2 (en) * 2007-08-06 2011-11-08 International Business Machines Corporation Efficient hierarchical storage management of a file system with snapshots
US7865475B1 (en) * 2007-09-12 2011-01-04 Netapp, Inc. Mechanism for converting one type of mirror to another type of mirror on a storage system without transferring data
US8407448B1 (en) * 2008-05-06 2013-03-26 Emc Corporation Shared storage I/O elimination through mapping client integration into a hypervisor
US9442960B2 (en) * 2008-05-16 2016-09-13 Lawrence Livermore National Security, Llc High performance data layout and processing
US8024354B2 (en) * 2008-06-30 2011-09-20 International Business Machines Corporation System and method for managing data using a hierarchical metadata management system
US8190655B2 (en) * 2009-07-02 2012-05-29 Quantum Corporation Method for reliable and efficient filesystem metadata conversion
US8244679B1 (en) * 2009-08-31 2012-08-14 Symantec Corporation Systems and methods for using single-instance-storage information to reclaim storage space occupied by archived data elements
US8386731B2 (en) * 2009-09-14 2013-02-26 Vmware, Inc. Method and system for optimizing live migration of persistent data of virtual machine using disk I/O heuristics
US8862848B2 (en) 2009-09-24 2014-10-14 International Business Machines Corporation Data storage using bitmaps
WO2011036020A1 (en) 2009-09-25 2011-03-31 International Business Machines Corporation Data storage
US8484164B1 (en) 2009-10-23 2013-07-09 Netapp, Inc. Method and system for providing substantially constant-time execution of a copy operation
US8627004B2 (en) * 2010-01-07 2014-01-07 International Business Machines Corporation Extent migration for tiered storage architecture
WO2011117461A1 (en) * 2010-03-23 2011-09-29 Nokia Corporation Method and apparatus for managing files in an online account
EP2569710A4 (en) * 2010-05-13 2014-01-22 Hewlett Packard Development Co MIGRATION OF A FILE SYSTEM
US8352426B2 (en) 2010-05-17 2013-01-08 Hitachi, Ltd. Computing system and data management method
US8954688B2 (en) 2010-10-06 2015-02-10 International Business Machines Corporation Handling storage pages in a database system
US8836714B2 (en) 2010-10-29 2014-09-16 The University Of Utah Research Foundation Rapid, interactive editing of massive imagery data
US8762797B2 (en) * 2011-04-29 2014-06-24 Google Inc. Method and apparatus for detecting memory access faults
US9069780B2 (en) * 2011-05-23 2015-06-30 Hewlett-Packard Development Company, L.P. Propagating a snapshot attribute in a distributed file system
US9330009B1 (en) * 2011-06-14 2016-05-03 Emc Corporation Managing data storage
US8538924B2 (en) * 2011-08-31 2013-09-17 Hitachi, Ltd. Computer system and data access control method for recalling the stubbed file on snapshot
JP2013125437A (ja) * 2011-12-15 2013-06-24 Fujitsu Ltd 制御装置、プログラムおよびストレージ装置
WO2013093957A1 (en) * 2011-12-19 2013-06-27 Hitachi, Ltd. Computer system and reclamation control method
EP2791831B1 (en) * 2012-01-25 2020-03-11 Hitachi, Ltd. Single instantiation method using file clone and file storage system utilizing the same
US11347443B2 (en) * 2012-04-13 2022-05-31 Veritas Technologies Llc Multi-tier storage using multiple file sets
US9116913B2 (en) 2012-04-25 2015-08-25 Hitachi, Ltd. File storage system and file cloning method
US9113164B1 (en) 2012-05-15 2015-08-18 Google Inc. Constant bit rate control using implicit quantization values
CN103513956B (zh) * 2012-06-26 2016-04-06 阿里巴巴集团控股有限公司 一种处理器处理数据的方法以及装置
US9223500B1 (en) * 2012-06-29 2015-12-29 Emc Corporation File clones in a distributed file system
US9020903B1 (en) * 2012-06-29 2015-04-28 Emc Corporation Recovering duplicate blocks in file systems
US9510019B2 (en) 2012-08-09 2016-11-29 Google Inc. Two-step quantization and coding method and apparatus
US8935495B2 (en) 2012-08-21 2015-01-13 International Business Machines Corporation Storage management in a virtual environment
KR102050723B1 (ko) 2012-09-28 2019-12-02 삼성전자 주식회사 컴퓨팅 시스템 및 그 데이터 관리 방법
US9407915B2 (en) 2012-10-08 2016-08-02 Google Inc. Lossless video coding with sub-frame level optimal quantization values
US10484474B2 (en) * 2013-08-29 2019-11-19 Pure Storage, Inc. Rotating offline DS units
JP2015079409A (ja) 2013-10-18 2015-04-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 階層管理下の論理ボリュームのスナップショットの作成及び管理
CN104714792B (zh) * 2013-12-17 2019-02-26 腾讯科技(深圳)有限公司 多进程共享数据处理方法和装置
CN103793666A (zh) * 2014-01-24 2014-05-14 中经云数据存储科技(北京)有限公司 一种数据文件的保护方法及系统
US20150355977A1 (en) * 2014-06-10 2015-12-10 Bradley C. Kuszmaul System and Method for Making a Backup Copy of Live Data
US10387369B1 (en) * 2014-06-30 2019-08-20 EMC IP Holding Company LLC Managing file deletions of files and versions of files in storage systems
US9886447B2 (en) 2014-08-22 2018-02-06 International Business Machines Corporation Performance of asynchronous replication in HSM integrated storage systems
US20170083630A1 (en) * 2015-09-21 2017-03-23 Egemen Tas Method to virtualize large files in a sandbox
JP5991701B2 (ja) 2014-10-28 2016-09-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ストレージ管理方法、ストレージ管理システム、コンピュータ・システムおよびプログラム
US9778845B2 (en) 2015-02-02 2017-10-03 Western Digital Technologies, Inc. File management system
US9928144B2 (en) 2015-03-30 2018-03-27 Commvault Systems, Inc. Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage
US20180210950A1 (en) * 2015-07-16 2018-07-26 Hewlett Packard Enterprise Development Lp Distributed file system with tenant file system entity
US9760305B2 (en) 2015-11-09 2017-09-12 International Business Machines Corporation Migration of data to sequential access medium
US9423962B1 (en) * 2015-11-16 2016-08-23 International Business Machines Corporation Intelligent snapshot point-in-time management in object storage
US11119978B2 (en) 2016-06-08 2021-09-14 Red Hat Israel, Ltd. Snapshot version control
US10824589B2 (en) 2016-10-28 2020-11-03 Netapp, Inc. Snapshot metadata arrangement for efficient cloud integrated data management
US10346354B2 (en) 2016-10-28 2019-07-09 Netapp, Inc. Reducing stable data eviction with synthetic baseline snapshot and eviction state refresh
US10659531B2 (en) * 2017-10-06 2020-05-19 International Business Machines Corporation Initiator aware data migration
US10635548B2 (en) 2017-10-27 2020-04-28 Netapp, Inc. Data block name based efficient restore of multiple files from deduplicated storage
US10742735B2 (en) 2017-12-12 2020-08-11 Commvault Systems, Inc. Enhanced network attached storage (NAS) services interfacing to cloud storage
US10769117B2 (en) 2018-01-18 2020-09-08 International Business Machines Corporation Effective handling of HSM migrated files and snapshots
KR102106689B1 (ko) * 2018-03-09 2020-05-04 한국과학기술원 사용자 데이터 보호를 제공하는 데이터 가용성 ssd 아키텍처
US11645237B2 (en) * 2018-05-10 2023-05-09 International Business Machines Corporation Replicating data utilizing a virtual file system and cloud storage
US11947799B1 (en) 2019-10-11 2024-04-02 Amzetta Technologies, Llc Systems and methods for using the TRIM command with solid state devices
CN113419667A (zh) * 2020-05-29 2021-09-21 阿里巴巴集团控股有限公司 快照容量计算方法和装置、电子设备以及计算机可读存储介质
KR102402709B1 (ko) 2020-11-02 2022-05-27 주식회사 나눔기술 컨테이너 클러스터 기반 백업 복구를 위한 스냅샷 콘트롤러 및 동작 방법
CN113742290B (zh) * 2021-11-04 2022-03-15 上海闪马智能科技有限公司 一种数据存储方法、装置、存储介质及电子装置
CN114077680B (zh) * 2022-01-07 2022-05-17 支付宝(杭州)信息技术有限公司 一种图数据的存储方法、系统及装置
US12026123B2 (en) * 2022-01-13 2024-07-02 Cyera, Ltd. System and method for data discovery in cloud environments
US11762603B2 (en) 2022-02-10 2023-09-19 International Business Machines Corporation Storing modified or unmodified portions of a file based on tape loading
CN114281791B (zh) * 2022-03-07 2022-07-22 阿里云计算有限公司 数据访问方法、系统、设备及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040053142A (ko) * 2001-09-26 2004-06-23 이엠씨 코포레이션 대형 파일들의 효율적 관리
US6829617B2 (en) * 2002-02-15 2004-12-07 International Business Machines Corporation Providing a snapshot of a subset of a file system
US7216135B2 (en) * 2002-02-15 2007-05-08 International Business Machines Corporation File system for providing access to a snapshot dataset where disk address in the inode is equal to a ditto address for indicating that the disk address is invalid disk address
US7085785B2 (en) * 2002-02-15 2006-08-01 International Business Machines Corporation Writable file system snapshot with ditto address feature
EP1349088B1 (en) * 2002-03-19 2010-11-03 Network Appliance, Inc. System and method for determining and transmitting changes in snapshots
US6792518B2 (en) * 2002-08-06 2004-09-14 Emc Corporation Data storage system having mata bit maps for indicating whether data blocks are invalid in snapshot copies
US7092976B2 (en) * 2003-06-24 2006-08-15 International Business Machines Corporation Parallel high speed backup for a storage area network (SAN) file system
US7555504B2 (en) * 2003-09-23 2009-06-30 Emc Corporation Maintenance of a file version set including read-only and read-write snapshot copies of a production file
JP4349301B2 (ja) * 2004-11-12 2009-10-21 日本電気株式会社 ストレージ管理システムと方法並びにプログラム
US7546431B2 (en) 2005-03-21 2009-06-09 Emc Corporation Distributed open writable snapshot copy facility using file migration policies
US7467282B2 (en) * 2005-04-05 2008-12-16 Network Appliance, Inc. Migrating a traditional volume to a virtual volume in a storage system
US20070027936A1 (en) * 2005-07-28 2007-02-01 Stakutis Christopher J Determining changes made to a source file to transmit to a target location providing a mirror copy of the source file
JP4704161B2 (ja) * 2005-09-13 2011-06-15 株式会社日立製作所 ファイルシステムの構築方法
EP1974296B8 (en) 2005-12-19 2016-09-21 Commvault Systems, Inc. Systems and methods for performing data replication
US7865462B2 (en) * 2006-01-03 2011-01-04 Hitachi, Ltd. Apparatus and method for replicating data in file system
US7546432B2 (en) * 2006-05-09 2009-06-09 Emc Corporation Pass-through write policies of files in distributed storage management
US8055864B2 (en) * 2007-08-06 2011-11-08 International Business Machines Corporation Efficient hierarchical storage management of a file system with snapshots

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103038767A (zh) * 2010-07-30 2013-04-10 国际商业机器公司 用于文件克隆的数据共享
CN103038767B (zh) * 2010-07-30 2016-01-27 国际商业机器公司 用于文件克隆的数据共享的方法和系统
CN105843905B (zh) * 2010-11-22 2019-06-11 日立数据管理有限公司 用于管理文件系统中的文件系统对象的设备和方法
CN105843905A (zh) * 2010-11-22 2016-08-10 日立数据系统工程英国有限公司 用于管理文件系统中的文件系统对象的设备和方法
CN106909317A (zh) * 2011-01-20 2017-06-30 谷歌公司 在存储节点上存储数据
CN106909317B (zh) * 2011-01-20 2020-05-19 谷歌有限责任公司 在存储节点上存储数据
WO2013091244A1 (zh) * 2011-12-23 2013-06-27 华为技术有限公司 文件系统中数据的存储方法、访问方法及装置
CN103365744A (zh) * 2012-04-04 2013-10-23 国际商业机器公司 用于混合元数据图像备份和备份的系统和方法
CN103365744B (zh) * 2012-04-04 2015-12-23 国际商业机器公司 用于混合元数据图像备份和备份的系统和方法
CN103455389A (zh) * 2012-06-04 2013-12-18 三星电子株式会社 内容备份方法及其电子设备
CN103049349B (zh) * 2012-11-29 2016-02-24 记忆科技(深圳)有限公司 基于分层存储的快照方法及系统
CN103049349A (zh) * 2012-11-29 2013-04-17 记忆科技(深圳)有限公司 基于分层存储的快照方法及系统
CN102955861B (zh) * 2012-11-30 2017-04-12 华为技术有限公司 一种基于备份文件的索引文件生成方法和装置
CN102955861A (zh) * 2012-11-30 2013-03-06 华为技术有限公司 一种基于备份文件的索引文件生成方法和装置
CN106575309A (zh) * 2014-08-29 2017-04-19 微软技术许可有限责任公司 具有数据块共享的文件系统
CN109542672B (zh) * 2015-09-25 2023-05-05 伊姆西Ip控股有限责任公司 用于回收快照存储空间中的存储块的方法和装置
CN109542672A (zh) * 2015-09-25 2019-03-29 伊姆西公司 用于回收快照存储空间中的存储块的方法和装置
CN106682003A (zh) * 2015-11-06 2017-05-17 中国电信股份有限公司 分布式存储命名空间的路径分割映射方法和装置
CN106682003B (zh) * 2015-11-06 2019-09-20 中国电信股份有限公司 分布式存储命名空间的路径分割映射方法和装置
US11030048B2 (en) 2015-12-03 2021-06-08 Huawei Technologies Co., Ltd. Method a source storage device to send a source file and a clone file of the source file to a backup storage device, a source storage device and a backup storage device
WO2017092016A1 (en) * 2015-12-03 2017-06-08 Huawei Technologies Co., Ltd. A method a source storage device to send a source file and a clone file of the source file to a backup storage device, a source storage device and a backup storage device
CN109416617A (zh) * 2016-03-31 2019-03-01 华睿泰科技有限责任公司 异构存储系统之间的复制
CN109416617B (zh) * 2016-03-31 2022-07-01 华睿泰科技有限责任公司 异构存储系统之间的复制
CN106227587A (zh) * 2016-07-19 2016-12-14 浪潮(北京)电子信息产业有限公司 一种带快照虚拟机整机动态迁移方法及装置
US11726979B2 (en) 2016-09-13 2023-08-15 Oracle International Corporation Determining a chronological order of transactions executed in relation to an object stored in a storage system
US11599504B2 (en) 2016-10-27 2023-03-07 Oracle International Corporation Executing a conditional command on an object stored in a storage system
CN108021336A (zh) * 2016-10-31 2018-05-11 甲骨文国际公司 用于无缝数据迁移的数据布局方案
CN110235118B (zh) * 2017-02-13 2023-09-19 日立数据管理有限公司 通过存根化优化内容存储
CN110235118A (zh) * 2017-02-13 2019-09-13 日立数据管理有限公司 通过存根化优化内容存储
CN109725851A (zh) * 2017-10-27 2019-05-07 Netapp股份有限公司 智能快照分层
CN109725851B (zh) * 2017-10-27 2022-04-22 Netapp股份有限公司 智能快照分层
CN110019073A (zh) * 2017-12-29 2019-07-16 北京忆恒创源科技有限公司 使用kv存储设备提供文件系统的方法及其文件系统
CN110109868A (zh) * 2018-01-18 2019-08-09 伊姆西Ip控股有限责任公司 用于索引文件的方法、装置和计算机程序产品
CN111522621A (zh) * 2019-02-01 2020-08-11 阿里巴巴集团控股有限公司 快照缓存创建方法、装置、电子设备及计算机存储介质
CN109960517A (zh) * 2019-03-14 2019-07-02 龙芯中科技术有限公司 镜像文件的制作方法、装置、系统及存储介质
CN109960517B (zh) * 2019-03-14 2022-11-22 龙芯中科技术股份有限公司 镜像文件的制作方法、装置、系统及存储介质
CN110659162A (zh) * 2019-09-27 2020-01-07 厦门市美亚柏科信息股份有限公司 一种tpsfs文件系统的数据恢复方法、装置、系统及存储介质
CN110659162B (zh) * 2019-09-27 2022-10-25 厦门市美亚柏科信息股份有限公司 一种tpsfs文件系统的数据恢复方法、装置、系统及存储介质
CN111007990A (zh) * 2019-12-24 2020-04-14 曙光信息产业(北京)有限公司 一种对快照系统中数据块引用进行快速定位的定位方法
CN111007990B (zh) * 2019-12-24 2023-09-19 曙光信息产业(北京)有限公司 一种对快照系统中数据块引用进行快速定位的定位方法
CN113836116A (zh) * 2021-09-29 2021-12-24 济南浪潮数据技术有限公司 数据迁移方法、装置、电子设备及可读存储介质
CN116048562A (zh) * 2022-05-30 2023-05-02 荣耀终端有限公司 一种数据更新方法、电子设备及存储介质
CN116048562B (zh) * 2022-05-30 2023-10-27 荣耀终端有限公司 一种数据更新方法、电子设备及存储介质

Also Published As

Publication number Publication date
EP2176795A1 (en) 2010-04-21
WO2009019128A1 (en) 2009-02-12
US20090043978A1 (en) 2009-02-12
KR20100045974A (ko) 2010-05-04
JP5464554B2 (ja) 2014-04-09
CN101743546B (zh) 2013-03-27
EP2176795B1 (en) 2015-03-25
JP2010536079A (ja) 2010-11-25
US8055864B2 (en) 2011-11-08
KR101137299B1 (ko) 2012-04-19

Similar Documents

Publication Publication Date Title
CN101743546B (zh) 用于提供快照的文件系统的分层存储管理
JP4568115B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
US10198451B2 (en) Systems and methods for using metadata to enhance data identification operations
US11023318B1 (en) System and method for fast random access erasure encoded storage
CN109725851B (zh) 智能快照分层
CN110062925A (zh) 用于云集成的快照元数据布置
US20070185917A1 (en) Systems and methods for classifying and transferring information in a storage network
CN102696010A (zh) 用于将数据高速缓存在固态存储设备上的装置、系统和方法
US9063656B2 (en) System and methods for digest-based storage
US20240028566A1 (en) Efficient append-only file system for high-performance key-value stores
Feng Rewriting Algorithms
JP2008544397A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130327

CF01 Termination of patent right due to non-payment of annual fee