Persistent Block Reservation for Hybrid Thick-Thin Filesystems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Thickly-provisioned filesystems utilizing shared blocks are difficult to provision correctly, especially when creating hybrid thick/thin filesystems using Persistent Block Reservation (PBR), often leading to over-provisioning of storage.
Innovation Solution
A method is provided to efficiently provision storage by partitioning files into thick and thin subsets, calculating a reservation size by summing the block filesize of thick files and the number of filesystem blocks of thin files that store active data, or by determining the number of blocks actually used by all files combined and the file liability of thick files, ensuring the provisioned space is minimally reserved.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If thick provisioning is used for filesystems with shared blocks, then storage reliability is improved, but storage space is wasted due to over-provisioning
Solution Approach 1:
The patent changes the provisioning parameter from fixed thick provisioning to dynamic hybrid provisioning, where each file can be independently marked as thick or thin. This allows the system to adapt the provisioning mode per file based on requirements, resolving the contradiction between reliability (thick) and space efficiency (thin).
Solution Approach 2:
The patent segments the filesystem into individual files, each of which can be independently provisioned. By marking specific files as thick or thin, the system applies different provisioning strategies to different segments, avoiding blanket over-provisioning while maintaining reliability where needed.
2Loss of substance
If hybrid thick/thin filesystem is created using Persistent Block Reservation, then storage efficiency is improved, but provisioning complexity increases
Solution Approach 1:
The patent performs preliminary action by marking files as thick or thin at creation time or during initialization. This upfront classification simplifies subsequent provisioning operations, as the system only needs to apply the appropriate provisioning strategy based on the pre-established mark, reducing overall complexity.
Solution Approach 2:
The system implements self-service through automatic calculation of reservation sizes based on file marks and actual usage. The provisioning logic automatically determines the appropriate reservation amount without requiring manual intervention, reducing operational complexity while maintaining efficiency.
3Reliability
If reservation size is calculated by summing block filesize of all thick files, then storage reliability is improved, but storage space is over-allocated
Solution Approach 1:
The patent changes the reservation calculation parameter from static block filesize summation to a hybrid approach that considers both thick file guarantees and thin file actual usage. This dynamic parameter adjustment reduces over-allocation while maintaining reliability guarantees for thick files.
Solution Approach 2:
Instead of fully provisioning all files at maximum capacity, the patent applies partial provisioning to thin files based on actual usage. This partial action approach allocates only the necessary storage space for thin files while maintaining full provisioning for thick files, optimizing the balance between reliability and space efficiency.
Data Source
AI summary
A method of operating a data storage system to provision space on a volume on which a set of filesystems rest includes (a) storing data in a set of files of the set of filesystems, files of a first subset being marked as thick files and files of a second subset being marked as thin files, and (b) reserving backing store for the volume. Reserving backing store includes (1) summing, over all the files of the first subset, a block representation of the filesize of each file, yielding a first sum, (2) summing, over all files of the second subset, a number of filesystem blocks of each file that store active file data, yielding a second sum, (3) calculating a reservation size by summing the first and sums, and (4) providing a number of blocks of backing store for the volume equal to at least the calculated reservation size.


