System and method for multi-tiered meta-data caching and distribution in a clustered computer environment
First Claim
1. A computer-implemented method for distributing meta-data of a data container, comprising:
- striping a first data volume across a plurality of logical volumes configured to form a striped volume set, wherein each logical volume is a logical arrangement of a plurality of storage devices coupled to a computer, and wherein the first data volume includes the data container;
storing a copy of the meta-data of the data container in a meta-data volume of the plurality of logical volumes,designating a second data volume of the plurality of logical volumes as a container attribute volume for the data container, wherein the container attribute volume serves as a first tier caching and distribution point within the striped volume set for the meta-data in the meta-data volume in response to receiving a data access request, and wherein the data container and container attribute volume are stored on different data volumes;
invalidating a cached copy of the meta-data stored on the container attribute volume in response to receiving the data access request, wherein invalidating the cached copy of the meta-data comprises setting a meta-data invalidation flag of a data structure of the data container to identify that the cached copy of the meta-data is invalid; and
updating the cached copy of the meta-data stored on the container attribute volume, wherein the data access request is one of a request to modify and to create the meta-data.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method caches and distributes meta-data for one or more data containers stored on a plurality of volumes configured as a striped volume set (SVS) and served by a plurality of nodes interconnected as a cluster. The SVS comprises one meta-data volume (MDV) configured to store a canonical copy of certain meta-data, including access control lists and directories, associated with all data containers stored on the SVS, and one or more data volumes (DV) configured to store, at least, data content of those containers. In addition, for each data container stored on the SVS, one volume is designated a container attribute volume (CAV) and, as such, is configured to store (“cache”) a canonical copy of certain, rapidly-changing attribute meta-data, including time stamps and container length, associated with that container.
88 Citations
21 Claims
-
1. A computer-implemented method for distributing meta-data of a data container, comprising:
-
striping a first data volume across a plurality of logical volumes configured to form a striped volume set, wherein each logical volume is a logical arrangement of a plurality of storage devices coupled to a computer, and wherein the first data volume includes the data container; storing a copy of the meta-data of the data container in a meta-data volume of the plurality of logical volumes, designating a second data volume of the plurality of logical volumes as a container attribute volume for the data container, wherein the container attribute volume serves as a first tier caching and distribution point within the striped volume set for the meta-data in the meta-data volume in response to receiving a data access request, and wherein the data container and container attribute volume are stored on different data volumes; invalidating a cached copy of the meta-data stored on the container attribute volume in response to receiving the data access request, wherein invalidating the cached copy of the meta-data comprises setting a meta-data invalidation flag of a data structure of the data container to identify that the cached copy of the meta-data is invalid; and updating the cached copy of the meta-data stored on the container attribute volume, wherein the data access request is one of a request to modify and to create the meta-data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented system for distributing meta-data of a data container, comprising:
-
a hardware processor operatively connected to a computer configured to execute a storage operating system to stripe the data container across a plurality of logical volumes to form a striped volume set, wherein each logical volume is a logical arrangement of a plurality of storage devices coupled to the computer; a meta-data volume of the plurality of logical volumes configured to store a copy of meta-data of the data container; one or more data volumes of the plurality of logical volumes configured as a container attribute volume for the data container, wherein the container attribute volume is configured to serve as a first tier caching and distribution point within the striped volume set for the meta-data in the meta-data volume in response to receiving a data access request, and wherein the data container and container attribute volume are stored on different data volumes; and a module of the storage operating system serving the meta-data volume configured to invalidate a cached copy of the meta-data stored on the container attribute volume, a data structure of the data container comprising a meta-data invalidation flag to identify that the cached copy of the meta-data is invalid, the module of the storage operating system serving the meta-data volume configured to update the copy of the meta-data stored on the container attribute volume. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable storage medium containing executable program instructions executed by a processor, comprising:
-
program instructions that stripe a data container across a plurality of logical volumes configured to form a striped volume set, wherein each logical volume is a logical arrangement of a plurality of storage devices coupled to a computer; program instructions that store a copy of meta-data of the data container in a meta-data volume of the plurality of logical volumes, wherein the meta-data is organized into a plurality of categories based on a frequency that meta-data changes in response to receiving a data access request directed to the data container, wherein a first category of the plurality of categories includes an access control list; program instructions that designate a container attribute volume for the data container, wherein the container attribute volume is formed from the stripe volume set, wherein the container attribute volume serves as a first tier caching and distribution point within the striped volume set for the meta-data in the meta-data volume in response to receiving the data access request directed to the data container, and wherein the data container and container attribute volume are stored on different logical volumes; and program instructions that invalidate a cached copy of the meta-data stored on the container attribute volume in response to receiving the data access request.
-
-
20. A computer-implemented method, comprising:
-
striping a data container across a plurality of logical volumes, wherein each logical volume is a logical arrangement of a plurality of storage devices; organizing meta-data of the data container into a plurality of categories based on a frequency that meta-data changes in response to receiving a data access request directed to the data container, wherein a first category of the plurality of categories includes an access control list; storing a copy of meta-data in the first category of the plurality of categories at a meta-data volume, a data volume, and a container attribute volume, wherein the container attribute volume is striped across the plurality of logical volumes, wherein the container attribute volume serves as a first tier caching and distribution point for the meta-data in the meta-data volume in response to receiving the data access request directed to the data container, wherein the data container and container attribute volume are stored on different logical volumes; determining that a first local copy of the meta-data stored at the container attribute volume is invalid; querying the meta-data volume for a valid copy of the meta-data in response to determining the first local copy is invalid; and storing the valid copy of the meta-data at the container attribute volume. - View Dependent Claims (21)
-
Specification