Shadow Directory Structure for Distributed File System Maintenance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed storage systems, accessing files or directories becomes challenging when a server is offline, as existing technologies lack efficient methods to maintain file system consistency and perform maintenance operations without freezing other segments or replicating entire directory chains.
Innovation Solution
The creation of shadow trees for orphan files or directories allows access and consistency checks even when the parent directory's server is inaccessible, enabling partial file system consistency checks and maintenance operations on segmented systems without freezing other segments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional file system access methods are used in distributed storage systems, then file access is straightforward when servers are online, but file system consistency cannot be maintained and maintenance operations cannot be performed when a server is offline
Solution Approach 1:
The file system is divided into multiple segments distributed across different servers. Each server manages specific segments independently, allowing maintenance operations on one segment without affecting others. This segmentation enables partial file system consistency checks and maintenance on individual segments while other segments remain accessible.
Solution Approach 2:
Shadow copies of directory structures are created and maintained on servers that have access to the files. These shadow directory structures serve as replicas that allow file access and consistency verification even when the primary server is offline, eliminating the need to freeze entire file systems for maintenance.
2Reliability
If traditional file system consistency checks are performed, then consistency is verified, but the entire file system must be frozen during the check, reducing system availability
Solution Approach 1:
Consistency checks are performed on individual segments rather than the entire file system. Each segment can be checked independently while other segments remain operational, allowing continuous system availability during maintenance operations.
Solution Approach 2:
Instead of performing complete file system consistency checks that require freezing all segments, partial consistency checks are performed on specific segments or directories. This partial action approach verifies consistency where needed while maintaining overall system availability.
3Ease of operation
If shadow trees are created for all files and directories, then access is possible when parent servers are offline, but system complexity increases
Solution Approach 1:
Shadow directory structures are created selectively based on local needs rather than universally. Each server creates shadow copies for files and directories that are locally accessible, while relying on other servers' shadow structures for remote files. This local quality approach reduces overall system complexity.
Solution Approach 2:
Instead of creating complete shadow trees for all files and directories in the distributed system, shadow structures are created only for the subset of files and directories that are locally accessible on each server. This partial action reduces the complexity burden while maintaining sufficient access capability.
Data Source
AI summary
A file server is provided for use in an association of devices that implements a distributed-file system, the association of devices including file servers that each are configured to control separate segments of the distributed-file system. The file server includes a memory interface configured to communicate with a memory storing at least one of the segments of the distributed file system, and a processor coupled to the memory interface and configured to: identify a file system object that resides on a first segment in the distributed file system and that is directly pointed to by a first remote ancestor directory that resides on a second segment separate from the first segment; and store a first shadow tree entry in a selected segment other than the second segment, the first shadow tree entry providing a pointer to the file system object and being disposed in a shadow tree, where the first shadow tree entry provides an alternative to the first remote ancestor directory to access the file system object in the distributed file system.


