Journaling File System Log Redundancy via Vault Area
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional journaling file systems with log files stored on redundant physical storage devices are vulnerable to data loss, as the log file can be lost even with redundant physical storage, leading to a single point of failure.
Innovation Solution
The log file is redundantly stored on multiple logical devices, with dirty metadata objects stored in the cache's vault area and applied to underlying persistent storage, and a secondary storage device group is mapped to ensure continued processing in case of primary device failure, allowing reconstruction of the file system from a new slice when both primary and secondary groups fail.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the log file is stored on redundant physical storage devices, then the availability of the log file is improved, but the log file can still be lost due to single point of failure
Solution Approach 1:
The log file is segmented into multiple distributed copies across different storage device groups. Instead of having a single log file location, the system creates multiple log file instances distributed across primary and secondary storage device groups, eliminating the single point of failure while maintaining log file availability.
Solution Approach 2:
Different storage device groups are assigned different roles (primary vs. secondary) with specific quality characteristics. The primary storage device group provides fast access to the log file, while the secondary storage device group provides redundancy and failover capability, allowing each location to have optimized local qualities for its specific function.
2Reliability
If the log file is placed within a slice of a logical persistent storage device on a storage device group, then the log file is protected against physical storage device failure, but the entire storage device group failure still causes data loss
Solution Approach 1:
The redundancy strategy moves from a single-dimension approach (redundant physical devices within one storage device group) to a multi-dimensional approach by distributing log file copies across multiple storage device groups. This adds the dimension of group-level distribution, protecting against complete group failure while maintaining physical redundancy within each group.
3Reliability
If a secondary storage device group is mapped to provide redundant slice, then the file system availability is improved, but the complexity of storage management increases
Solution Approach 1:
The storage processor acts as an intermediary that manages the complexity of mapping logical slices to physical storage locations across multiple storage device groups. It handles the redundant mapping of slices to both primary and secondary storage device groups, abstracting away the complexity from the file system while ensuring high availability through coordinated access to multiple storage locations.
4Loss of time
If dirty metadata is held in cache and written to vault area upon failure, then the recovery time is reduced, but the cache management complexity increases
Solution Approach 1:
The system performs preliminary actions by maintaining dirty metadata in the cache and having a pre-configured vault area ready for emergency writes. When failure is detected, the system immediately writes cached metadata to the vault area without needing to perform complex recovery decisions, significantly reducing recovery time by having the recovery mechanism pre-prepared and ready to execute.
Data Source
AI summary
A storage processor includes storage for redundantly storing a log file of a journaling file system on a separate logical device from a primary copy of the log file and further provides for recovery of the file system upon failure of both the primary storage and the redundant storage storing the log file of the journaling file system by storing dirtied metadata objects in the cache of the storage processor to a vault area and then applying the stored dirtied metadata objects against the underlying persistent storage.


