Storage Volume Dismount via Handle Extraction and Buffer Flushing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In clustered networks, forcefully dismounting a storage volume due to secondary applications' access can lead to inconsistent data and increased downtime, as conventional methods fail to acquire an exclusive lock, resulting in incomplete failover and file system corruption.
Innovation Solution
Accessing the internal handle table to identify and close active handles of secondary applications, flushing the volume file buffer, and repeatedly attempting to acquire an exclusive lock to ensure the storage volume can be dismounted and remounted without corruption, allowing for seamless failover and disaster recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If forceful dismounting is performed when secondary applications are accessing the storage volume, then the storage volume can be dismounted, but file system inconsistency occurs and data corruption results
Solution Approach 1:
The system performs preliminary actions by flushing the file buffer before attempting to dismount the storage volume. This ensures all cached data is written to the storage medium, preventing data loss and file system inconsistency when the volume is subsequently dismounted forcefully.
Solution Approach 2:
The system extracts and closes active handles to files on the storage volume before dismounting. By identifying and closing these handles, the system removes the blocking secondary applications' access, enabling forceful dismounting without causing file system corruption.
2Reliability
If waiting for secondary applications to voluntarily dismount the storage volume, then file system consistency is maintained, but downtime increases and failover is delayed
Solution Approach 1:
Instead of waiting for secondary applications to voluntarily dismount, the system extracts and closes their active file handles programmatically. This removes the blocking condition immediately, allowing the dismount operation to proceed without delay while maintaining file system consistency through prior buffer flushing.
Solution Approach 2:
The system introduces an intermediary mechanism that mediates between the dismount operation and secondary applications. By closing handles through the operating system's handle table rather than requiring application cooperation, the system bypasses the voluntary dismount waiting period while maintaining data integrity.
3Reliability
If multiple attempts are made to acquire exclusive lock, then the storage volume can be dismounted successfully, but the process complexity increases
Solution Approach 1:
The system performs preliminary actions (flushing buffers and closing handles) before attempting to acquire the exclusive lock. This preparation ensures that subsequent lock acquisition attempts are more likely to succeed, reducing the need for repeated complex retry sequences.
Solution Approach 2:
The system implements a feedback mechanism that monitors whether the exclusive lock was successfully acquired. Based on this feedback, it determines whether to proceed with dismounting or to retry the process, creating a controlled loop that balances success rate with process simplicity.
Data Source
Figure 1
Figure 2
Figure 3A~3B
AI summary
In response to an instruction to dismount a storage volume, for example, an object in the storage volume is identified and a handle that references the object is closed. Once an exclusive lock on the storage volume is acquired, the storage volume can be dismounted. The storage volume can then be remounted.