Distributed Write Journal Copying for Fast File System Snapshotting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file systems experience delays during snapshot operations due to the need to flush outstanding data from write journals to disk before capturing a snapshot, which consumes time and processing power.
Innovation Solution
A method that generates a copy of the write journal with outstanding updates and associates it with the snapshot, allowing the snapshot to be created quickly without flushing the data to disk initially, with a background process handling the flush later.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the file system flushes the write journal to disk before performing a snapshot operation, then consistency between snapshots is maintained, but the snapshot operation experiences delay
Solution Approach 1:
The patent creates a copy of the write journal at the time of snapshot creation, rather than flushing the original journal to disk. This copy is then associated with the snapshot, allowing the snapshot to be created immediately without waiting for the flush operation. The copy mechanism enables the snapshot to capture the journal state without the time penalty of flushing, while still maintaining consistency through the copy's association with the snapshot metadata.
2Productivity
If the file system writes to the journal sequentially instead of directly to disk location, then I/O performance improves, but the actual data location remains undetermined until journal flush
Solution Approach 1:
The patent performs preliminary actions by creating a copy of the write journal and associating it with the snapshot at the time of snapshot creation. This preliminary copying action captures all necessary data before the journal is flushed to disk, eliminating the need to wait for the flush operation to determine the actual data location. The snapshot operation is completed in advance of the journal flush, achieving both high I/O performance and immediate snapshot availability.
Data Source
AI summary
Embodiments presented herein disclose techniques for capturing a snapshot of a file system object (e.g., a file or a directory) that is associated with a write journal having outstanding data. A bridge process in a storage server receives a request to capture a snapshot of a file system object. The snapshot is a backup of a state of the file system object in a given point in time. Upon determining that the file system object has one or more outstanding updates recorded in a write journal, the bridge process generates a copy of the write journal. The bridge process captures the snapshot of the file system object. The bridge process also associates the copy of the write journal with the snapshot of the file system object.


