Claims
- 1. A method of migrating data from at least one original host storage system to a replacement host storage system on a network, comprising:
connecting a replacement host storage system to a network, and connecting an original host storage system to the replacement host storage system; migrating data from the original host storage system to the replacement host storage system; receiving at the replacement host storage system at least one request from a client on the network concerning data stored in at least one of the replacement host storage system and the original host storage system; determining if the data requested has been migrated from the original host storage system to the replacement host storage system; and if the data requested has been migrated, acting on the client request, and if the data has not been migrated, searching for the data on the original host storage system, copying the data to the replacement host storage system and acting on the client request.
- 2. The method of claim 1, wherein the original host system is connected to the network, and further comprising disconnecting the host system from the network.
- 3. The method of claim 1, wherein the original host system is connected to the network, and further comprising changing the identity of the original host system.
- 4. The method of claim 1, further comprising:
building a database at the replacement host storage system indicative of what data has been migrated from the original host storage system; and if the data has been migrated, having the replacement host storage system file system act on the request.
- 5. The method of claim 1, further comprising:
building a database in the replacement host storage system indicative of what data has been migrated from the original host storage system; and if the data has not been migrated, determining original host storage system information about the file and sending the request to the original host storage system for further processing.
- 6. The method of claim 5, further comprising:
determining if the data subject to the request is a file or a directory; if the data is a file, storing the data in the replacement host storage system file system, and updating data migration information in the database of the replacement host storage system to indicate more data has been migrated and stored; if the data is a directory, creating files and subdirectories in the replacement host storage system based on information returned from the original host storage system, creating new records in the database in the replacement host storage system for all newly created files and directories based on information from the original host storage system, and updating information in the replacement host storage system database to indicate that the data has been fully copied; and having the replacement host storage system file system act on the request.
- 7. The method of claim 1, wherein said at least one original host storage system comprises multiple host storage systems.
- 8. The method of claim 1, further comprising:
determining whether additional files or directories data to be migrated exist on the original host storage system; and if there are no additional files or directory data existing which require migration, terminating data migration.
- 9. The method of claim 1, further comprising:
(a) determining whether additional files or directories data to be migrated exist on the original host storage system; (b) if additional files or directories data exist, determining which file or directory data is next to be retrieved; (c) retrieving the information about the file or directory from the database; (d) determining whether the file or directory data is already stored locally; (e) if the file or directory data is already stored on the replacement host storage system, returning to step (a); and (f) if there are no additional files or directory data existing which require migration, terminating data migration.
- 10. The method of claim 9, further comprising:
if at step (d) it is determined the file or directory data is not already stored in the replacement host storage system; determining if the data subject to the request is a file or a directory; if the data is a file, storing the data in the replacement host storage system file system, and updating data migration information in the database of the replacement host storage system to indicate more data has been migrated and stored; if the data is a directory, creating files and subdirectories in the replacement host storage system based on information returned from the original host storage system, creating new records in the database in the replacement host storage system for all newly created files and directories based on information from the original host storage system, and updating information in the replacement host storage system database to indicate that the data has been fully copied; and forwarding the request to the replacement host storage system file system.
- 11. The method of claim 1, wherein said request from a client is at least one of an NFS request, a CIFS request, an FTP request, and another protocol request made of the original host storage system.
- 12. The method of claim 1, further comprising:
retrieving the Access Control Lists for directories and files on the original host storage system file system to be migrated to the replacement host storage system; and for directories and files that are moved or renamed on the replacement host storage system, storing the original location on the original host storage system during data migration.
- 13. The method of claim 1 further comprising:
retrieving the attributes of a remote file having data to be migrated from the original host storage system to the replacement host storage system, and storing the attributes in a database in the replacement host storage system; determining if the data in the file is linked to only one file or more than one file; and if the data is linked to only one file, creating the file in the replacement host storage system and migrating the data.
- 14. The method of claim 11, wherein:
if the data in the file is linked to more than one file, looking up the file id and file system id from the from the retrieved attributes in the database in the replacement host system; determining if the file id and file system id are found in the database; if the file id and file system id are found in the database, retrieving the replacement host storage system identifier for the file and creating a hard link to the file associated with the file system identifier retrieved; and if the file id and file system id are not found in the database, creating the file in the replacement host storage system, retrieving the identifier for the file from the replacement host storage system file system, and storing the retrieved identifier for the file in the database keyed by the file id and file system id retrieved from the file attributes.
- 15. The method of claim 1, further comprising:
in the event of multiple client responses, processing client responses in accordance with a queue and processing threads; for a thread processing a response, instruct the thread to notify the next thread if it pends; if the thread processing a response pends, terminate processing by that thread and begin processing the next thread in the queue; and return the thread that pended to the end of the queue to later process responses.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to co-pending application serial number (Attorney Docket No. 40921/264452A) entitled “Method and System for Migrating Data while Maintaining Access to Data with Use of the Same Pathname,” and co-pending application serial number (Attorney Docket No. 40521/264452B) entitled “Method and System for Migrating Data While Maintaining Hard Links,” both concurrently filed herewith.