Filehandle Cache Migration for Distributed File Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data migration approaches in distributed file systems, such as NFS version 4, face inefficiencies due to the expiration of volatile filehandles during file system migrations, leading to resource-intensive path lookups and incomplete filehandle preservation, especially when files are opened and then deleted or renamed.
Innovation Solution
A cache system is implemented to store recently accessed filehandles on a server, which is migrated to the destination server and updated to link expired volatile filehandles to the corresponding files on the new system, reducing the expiration rate and maintaining filehandle validity through a least recently used scheme.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a low level copy of the filing system is performed to maintain filehandle validity during migration, then filehandle consistency is preserved, but the migration process becomes extremely resource-intensive and time-consuming
Solution Approach 1:
The system performs preliminary actions by creating a mapping table before migration that associates source inode numbers with destination inode numbers. This allows filehandles to be translated after migration rather than requiring a complete file system copy, significantly reducing migration resources while maintaining filehandle validity.
Solution Approach 2:
The invention introduces a mapping table as an intermediary structure that bridges source and destination file systems. This mapping table stores the correspondence between source inodes and destination inodes, enabling filehandle translation without requiring identical inode assignments or complete system copying.
2Adaptability or versatility
If a mapping table is used to translate inode values during migration, then filehandle translation is enabled, but extensive memory resources are consumed to store entries for every migrated file
Solution Approach 1:
The system extracts only the essential mapping information needed for filehandle translation into a compact mapping table structure. Rather than storing complete file system states, only the critical inode-to-inode correspondence is maintained, reducing memory consumption while preserving translation capability.
3Adaptability or versatility
If volatile filehandles are used to facilitate file migration in NFS version 4, then file migration becomes possible, but extensive path lookups are required after migration which degrades system performance
Solution Approach 1:
The mapping table is prepared in advance before migration occurs, storing the correspondence between source and destination inodes. When migration happens, filehandles can be quickly translated using this pre-computed mapping rather than requiring expensive path lookups, thus maintaining system performance while enabling migration.
Data Source
AI summary
The present invention provides for a method and a computer system for preserving filehandles after a file system migration on a distributed file system. One embodiment of the invention includes maintaining a cache of each filehandle provided to a client from a source file server. When files are migrated from the source file server to the destination file server, the cache entries are transferred from the source file server to the destination file server. The cache entries are then updated to link the source file server filehandle of each cached data object to the file attributes of the data object now existing on the destination file server. When a client subsequently attempts to access a file by using a previously valid filehandle, the cache will translate the source file server filehandle into the file attributes of the object on the destination file server, allowing the file to be located without receiving a filehandle expiration error.


