Internally consistent file system image in distributed object-based data storage
First Claim
1. A method of initiating an internally-consistent system-wide file system image in an object-based distributed data storage system comprising:
- providing a plurality of management entities each of which maintains a record representing a configuration of a portion of said data storage system; and
using a Distributed Consensus Algorithm (DCA) to elect one of said plurality of management entities to serve as a first image master to coordinate execution of said system-wide file system image.
9 Assignments
0 Petitions
Accused Products
Abstract
A system and method to perform a system-wide file system image without time smear in a distributed object-based data storage system. A realm manager is elected as an image master using the Distributed Consensus Algorithm to execute image-taking. All pending write capabilities are invalidated prior to taking the system-wide file system image so as to quiesce the realm and prepare the storage system for the system-wide image. Once the system is quiesced, the image master instructs each storage manager in the system to clone each live object group contained therein without explicitly cloning any objects contained in such object group. In one embodiment, a file manager copies an object in the system before a write operation is performed on that object after the image is taken. Neither the cloning operation nor the copying operation update any directory objects in the system. At run time, a client application may use a mapping scheme to access objects contained in the system-wide image.
98 Citations
69 Claims
-
1. A method of initiating an internally-consistent system-wide file system image in an object-based distributed data storage system comprising:
-
providing a plurality of management entities each of which maintains a record representing a configuration of a portion of said data storage system; and
using a Distributed Consensus Algorithm (DCA) to elect one of said plurality of management entities to serve as a first image master to coordinate execution of said system-wide file system image. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-readable storage medium containing a program code, which, upon execution by a processor in an object-based distributed data storage system, causes said processor to perform the following:
-
provide a plurality of management entities each of which maintains a record representing a configuration of a portion of said data storage system; and
use a Distributed Consensus Algorithm (DCA) to elect one of said plurality of management entities to serve as an image master to coordinate execution of a system-wide file system image in said data storage system.
-
-
8. An object-based data storage system comprising:
-
means for maintaining a record representing a configuration of a portion of said data storage system; and
means for electing one of said record maintaining means as an image master using a Distributed Consensus Algorithm (DCA), wherein said image master is configured to coordinate execution of an internally-consistent system-wide file system image.
-
-
9. A method of achieving a quiescent state in a storage system having a plurality of object-based secure disks (OBDs) and a plurality of executable client applications, wherein each client application, upon execution, is configured to access one or more of said plurality of object-based secure disks, said method comprising:
-
defining a plurality of capabilities required to perform a data write operation on corresponding one or more of said plurality of object-based secure disks;
granting one or more of said plurality of capabilities to each of said plurality of client applications; and
invalidating each of said plurality of capabilities so long as said quiescent state is to be maintained, thereby preventing each client application from accessing one or more of corresponding object-based secure disks to perform said data write operation thereon during said quiescent state. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium containing a program code, which, upon execution by a processor in an object-based distributed data storage system, causes said processor to perform the following:
-
define a plurality of capabilities required to perform a data write operation on corresponding one or more of a plurality of object-based secure disks in said data storage system;
grant one or more of said plurality of capabilities to each of a plurality of client applications configured to access one or more of said plurality of object-based secure disks; and
invalidate each of said plurality of capabilities so long as a quiescent state is to be maintained, thereby preventing each client application from accessing one or more of corresponding object-based secure disks to perform said data write operation thereon during said quiescent state.
-
-
17. An object-based data storage system comprising:
-
a plurality of object-based secure disks (OBDs);
a plurality of executable client applications, wherein each client application, upon execution, is configured to access one or more of said plurality of OBDs to perform a data write operation thereon;
means for generating a plurality of capabilities required to perform said data write operation;
means for receiving a corresponding request from each of said plurality of client applications for one or more of said plurality of capabilities;
means for issuing one or more of said plurality of capabilities to each of said plurality of client applications in response to said request received therefrom; and
means for preventing recognition of each of said plurality of capabilities so long as a quiescent state is to be maintained for said storage system, thereby preventing each said client application from performing said data write operation during said quiescent state.
-
-
18. A method of performing an internally-consistent system-wide file system image in an object-based data storage system comprising:
-
receiving a request for said system-wide file system image;
quiescing said object-based data storage system in response to said request for said image;
cloning each live object group stored in said data storage system after said data storage system is quiesced without cloning any object contained in each said object group during said system-wide file system image; and
responding to said request for said system-wide file system image. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. An object-based data storage system comprising:
-
means for receiving a request for an internally-consistent system-wide file system image;
means for quiescing said object-based data storage system in response to said request for said image;
means for cloning each object group stored in said data storage system after said data storage system is quiesced without primarily cloning any object contained in each said object group during said system-wide file system image; and
means for responding to said request for said system-wide file system image.
-
-
33. A computer-readable storage medium containing a program code, which, upon execution by a processor in an object-based distributed data storage system, causes said processor to perform the following:
-
receive a request for a system-wide file system image in said data storage system;
quiesce said object-based data storage system in response to said request for said image;
clone each object group stored in said data storage system after said data storage system is quiesced without cloning any object contained in each said object group during said system-wide file system image; and
respond to said request for said system-wide file system image.
-
-
34. A method of performing an internally-consistent system-wide file system image in an object-based data storage system comprising:
-
receiving a request for said system-wide file system image;
placing a dummy image directory in a root directory object in said object-based data storage system;
quiescing said object-based data storage system in response to said request for said image;
informing each file manager in said data storage system about a timing of said system-wide file system image;
indicating completion of said system-wide file system image; and
configuring each said file manager to copy each corresponding object managed thereby prior to authorizing a write operation to said object after said completion of said system-wide file system image. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. An object-based data storage system comprising:
-
means for receiving a request for an internally-consistent system-wide file system image;
means for placing a dummy image directory in a root directory object in said object-based data storage system;
means for quiescing said object-based data storage system in response to said request for said image;
means for informing each file manager in said data storage system about a timing of said system-wide file system image;
means for indicating completion of said system-wide file system image; and
means for configuring a file manager to copy an object managed thereby prior to authorizing a write operation to said object after said completion of said system-wide file system image.
-
-
49. A computer-readable storage medium containing a program code, which, upon execution by a processor in an object-based distributed data storage system, causes said processor to perform the following:
-
receive a request for a system-wide file system image in said object-based data storage system;
place a dummy image directory in a root directory object in said object-based data storage system;
quiesce said object-based data storage system in response to said request for said image;
inform each file manager in said data storage system about a timing of said system-wide file system image;
indicate completion of said system-wide file system image; and
configure each said file manager to copy each corresponding object managed thereby prior to authorizing a write operation to said object after said completion of said system-wide file system image.
-
-
50. A method of performing an internally-consistent system-wide file system image in an object-based data storage system comprising:
-
preparing said object-based data storage system for said system-wide file system image; and
performing said system-wide file system image without updating any directory objects stored in said object-based data storage system during said system-wide file system image. - View Dependent Claims (51, 52, 53, 54, 55, 56, 57, 58, 59)
-
-
60. A computer-readable storage medium containing a program code, which, upon execution by a processor in an object-based distributed data storage system, causes said processor to perform the following:
-
prepare said object-based data storage system for an internally-consistent system-wide file system image; and
perform said system-wide file system image without updating any directory objects stored in said object-based data storage system during said system-wide file system image.
-
-
61. An object-based data storage system comprising:
-
means for receiving a request for a system-wide file system image;
means for quiescing said object-based data storage system in response to said request; and
means for performing said system-wide file system image without updating any directory objects stored in said object-based data storage system during said system-wide file system image.
-
-
62. In an object-based data storage system having a plurality of object-based secure disks (OBDs) and a storage manager facilitating data storage in one or more of said plurality of OBDs, a method of avoiding a need to rewrite metadata for an object, stored by said storage manager on one of said plurality of OBDs, when a system-wide file system image in said object-based data storage system is taken, said method comprising:
-
obtaining information identifying said file system image;
using said image identifying information, dynamically obtaining a mapping of a non-image identity of each object group appearing in a file path for said object into a corresponding identity of each said object group in said file system image; and
for each said object group in said file path for said object, dynamically substituting said corresponding identity in said file system image in place of respective non-image identity therefor when accessing a version of said object in said file system image. - View Dependent Claims (63, 64, 65, 66, 67)
-
-
68. An object-based data storage system comprising:
-
a plurality of object-based secure disks (OBDs);
a storage manager facilitating data storage in one or more of said plurality of OBDs;
a realm manager configured to maintain a record of a file storage configuration for the files stored by said storage manager; and
an executable client application, wherein said client application, upon execution, is configured to perform the following at run time;
access a first OBD to obtain identity of a system-wide file system image from an image directory object stored thereon, and obtain a mapping from said realm manager of each object group corresponding to a respective file directory object in a file path for an object stored by said storage manager on a second OBD, wherein said realm manager maps a non-image identity of each said object group into a corresponding identity of each said object group in said file system image.
-
-
69. A computer-readable storage medium containing a program code, which, upon execution by a processor in an object-based distributed data storage system, causes said processor to perform the following at run time to access an image version of an object stored in said data storage system:
-
obtain information identifying a system-wide file system image in said data storage system;
using said image identifying information, obtain a mapping of a non-image identity of each object group appearing in a file path for an object stored in said data storage system into a corresponding identity of each said object group in said file system image; and
for each said object group in said file path for said object, substitute said corresponding identity in said file system image in place of respective non-image identity therefor when accessing said image version of said object in said file system image.
-
Specification