Systems and methods for data migration in a clustered file system
First Claim
1. A method for coordinating access to data in a storage management system, the method comprising:
- storing in a shared file system on a primary storage device a plurality of files comprising a first plurality of regular files not having been migrated to secondary storage and a plurality of stub files, the plurality of stub files being associated with a second plurality of regular files having been migrated to secondary storage;
maintaining in a first driver cache of a first computer a first indication of first inodes associated with at least one of the first plurality of regular files on the primary storage device;
maintaining in a second driver cache of a second computer a second indication of second inodes associated with at least one of the first plurality of regular files on the primary storage device;
requesting with each of the first and second computers a read-only lock on a signal file on the shared file system to determine whether or not a migration operation is about to occur with respect to at least one of the first plurality of regular files on the primary storage device;
when the request for the read-only lock on the signal file is denied of at least one of the first and second computers, where the denial indicates that a migration operation is about to occur and that the consistency of the first and/or second driver caches can no longer be trusted;
clearing the respective first and/or second indications from the respective first and/or second driver caches of the at least one of the first and second computers; and
operating in a first locking mode associated with requests to access the plurality of files, andwhen the request for the read-only lock on the signal file is granted to at least one of the first and second computers, where the grant indicates that a migration operation is not about to occur and that the consistency of the first and/or second driver caches can be trusted;
preserving the respective first and/or second indications in the respective first and/or second driver caches of the at least one of the first and second computers;
unlocking the signal file and re-requesting the read-only lock on the signal file after a predetermined period of time; and
operating in a second locking mode associated with requests to access the plurality of files, the second locking mode less strict than the first locking mode.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for providing more efficient handling of I/O requests for clustered file system data subject to data migration or the like. For instance, exemplary systems can more quickly determine if certain files on primary storage represent actual file data or stub data for recalling file data from secondary storage. Certain embodiments utilize a driver cache on each cluster node to maintain a record of recently accessed files that represent regular files (as opposed to stubs). A dual-locking process, using both strict locking and relaxed locking, maintains consistency between driver caches on different nodes and the data of the underlying clustered file system, while providing improved access to the data by the different nodes. Moreover, a signaling process can be used, such as with zero-length files, for alerting drivers on different nodes that data migration is to be performed and/or that the driver caches should be flushed.
122 Citations
20 Claims
-
1. A method for coordinating access to data in a storage management system, the method comprising:
-
storing in a shared file system on a primary storage device a plurality of files comprising a first plurality of regular files not having been migrated to secondary storage and a plurality of stub files, the plurality of stub files being associated with a second plurality of regular files having been migrated to secondary storage; maintaining in a first driver cache of a first computer a first indication of first inodes associated with at least one of the first plurality of regular files on the primary storage device; maintaining in a second driver cache of a second computer a second indication of second inodes associated with at least one of the first plurality of regular files on the primary storage device; requesting with each of the first and second computers a read-only lock on a signal file on the shared file system to determine whether or not a migration operation is about to occur with respect to at least one of the first plurality of regular files on the primary storage device; when the request for the read-only lock on the signal file is denied of at least one of the first and second computers, where the denial indicates that a migration operation is about to occur and that the consistency of the first and/or second driver caches can no longer be trusted; clearing the respective first and/or second indications from the respective first and/or second driver caches of the at least one of the first and second computers; and operating in a first locking mode associated with requests to access the plurality of files, and when the request for the read-only lock on the signal file is granted to at least one of the first and second computers, where the grant indicates that a migration operation is not about to occur and that the consistency of the first and/or second driver caches can be trusted; preserving the respective first and/or second indications in the respective first and/or second driver caches of the at least one of the first and second computers; unlocking the signal file and re-requesting the read-only lock on the signal file after a predetermined period of time; and operating in a second locking mode associated with requests to access the plurality of files, the second locking mode less strict than the first locking mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for coordinating access to data in a shared storage environment, the system comprising:
-
a first computer comprising one or more computer processors and a first memory storing copies of first inodes in a shared file system that represent first data files that have not been migrated from primary storage to secondary storage; a second computer comprising one or more computer processors and a second memory storing copies of second inodes in the shared file system that represent second data files that have not been migrated from primary storage to secondary storage, the first and second memories not storing copies of inodes that represent stub files; first and second file system drivers executing on said one or more computer processors, respectively, of said first and second computers, each of the first and second file system drivers being configured to request a shared lock on a signal file on the shared file system; and
whereinwhen the request for the shared lock on the signal file is denied of at least one of the first and second file system drivers, where the denial indicates that a migration operation is about to occur and that the consistency of the copies of the first and/or second inodes can no longer be trusted, the respective copies of the first and/or second inodes from the respective first and/or second memories are cleared, and the first and/or second computers operate in a first locking mode associated with file access requests, and when the request for the shared lock on the signal file is granted to at least one of the first and second file system drivers, where the grant indicates that a migration operation is not about to occur and that the consistency of the copies of the first and/or second inodes can be trusted, the respective copies of the first and/or second inodes from the respective first and/or second memories are preserved, the signal file is unlocked and the shared lock on the signal file is re-requested after a predetermined period of time, and the first and second computers operate in a second locking mode associated with file access requests, the second locking mode less strict than the first locking mode. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for coordinating access to data in a shared storage environment, the system comprising:
-
first means for storing on a first computing device a first indication of first inodes in a shared file system that represent first data files that have not been migrated from primary storage to secondary storage; second means for storing on a second computing device a second indication of second inodes in the shared file system that represent second data files that have not been migrated from primary storage to secondary storage, the first and second means for storing not storing indications of inodes that represent stub files; third means, executing in one or more processors of the first computing device, for requesting a non-exclusive lock on a signal file on the shared file system to determine whether or not a migration operation is about to occur, and for, when the request for the non-exclusive lock on the signal file is granted to the third means, unlocking the signal file and re-requesting the non-exclusive lock on the signal file after a predetermined period of time; fourth means, executing in one or more processors of the second computing device, for requesting a non-exclusive lock on the signal file on the shared file system to determine whether or not a migration operation is about to occur, and for, when the request for the non-exclusive lock on the signal file is granted to the fourth means, unlocking the signal file and re-requesting the non-exclusive lock on the signal file after a predetermined period of time; and fifth means for; when the request for the non-exclusive lock on the signal file is denied of at least one of the third and fourth means for requesting, where the denial indicates that a migration operation is about to occur and that the consistency of the first and/or second indications can no longer be trusted; clearing the first and/or second indications of the, respective, first and/or second means for storing, operating in a first locking mode associated with requests to access files in the shared file system, and when the request for the non-exclusive lock on the signal file is granted to at least one of the third and fourth means for requesting, where the grant indicates that a migration operation is not about to occur and that the consistency of the first and/or second indications can be trusted; preserving the respective first and/or second indications, and operating in a second locking mode associated with requests to access files in the shared file system, the second locking mode less strict than the first locking mode. - View Dependent Claims (20)
-
Specification