Thin-Provisioned Block Storage for Bootloader-Compatible Volume Concatenation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing block storage volumes in computer systems is challenging due to inefficient resource allocation and the lack of thin provisioning support in boot volumes, leading to over-provisioning and wasted space, especially in cloud environments.
Innovation Solution
A driver or software code allocates a thin-provisioned data volume and logically concatenates it with a non-thin-provisioned boot volume, translating logical addresses to physical addresses using an indirection layer, allowing efficient use of resources without modifying the bootloader.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a standard boot volume is used without thin provisioning, then the bootloader can operate without modification, but storage resources are over-provisioned and wasted space occurs
Solution Approach 1:
The storage system is segmented into two distinct volumes: a boot volume for system booting and a data volume for data storage. This segmentation allows the boot volume to be small and non-thin-provisioned (maintaining bootloader compatibility) while the data volume can be large and thin-provisioned (reducing storage waste). The virtual file system presents a unified view to applications while internally routing operations to the appropriate volume.
Solution Approach 2:
A virtual file system acts as an intermediary layer between the bootloader and the storage volumes. It provides a unified namespace that maps to both the boot volume and data volume, allowing the bootloader to operate on the boot volume without modification while enabling thin provisioning on the data volume. The virtual file system translates file paths into appropriate volume operations.
2Loss of substance
If thin provisioning is applied to the boot volume, then storage efficiency improves, but the bootloader must be modified which increases complexity
Solution Approach 1:
The storage system is segmented into two distinct volumes: a boot volume for system booting and a data volume for data storage. This segmentation allows the boot volume to be small and non-thin-provisioned (maintaining bootloader compatibility) while the data volume can be large and thin-provisioned (reducing storage waste). The virtual file system presents a unified view to applications while internally routing operations to the appropriate volume.
Solution Approach 2:
A virtual file system acts as an intermediary layer between the bootloader and the storage volumes. It provides a unified namespace that maps to both the boot volume and data volume, allowing the bootloader to operate on the boot volume without modification while enabling thin provisioning on the data volume. The virtual file system translates file paths into appropriate volume operations.
3Loss of substance
If separate boot volume and data volume are used, then storage efficiency improves, but system complexity increases due to additional volume management
Solution Approach 1:
The virtual file system merges the boot volume and data volume into a unified namespace that appears as a single file system to applications. This combining approach allows efficient storage allocation (with thin provisioning on the data volume) while simplifying volume management from the user perspective. The virtual file system handles the complexity of multi-volume management internally.
Solution Approach 2:
A virtual file system acts as an intermediary layer between the bootloader and the storage volumes. It provides a unified namespace that maps to both the boot volume and data volume, allowing the bootloader to operate on the boot volume without modification while enabling thin provisioning on the data volume. The virtual file system translates file paths into appropriate volume operations.
4Reliability
If over-provisioning is used to ensure sufficient storage space, then storage availability improves, but resource utilization efficiency deteriorates
Solution Approach 1:
The data volume uses dynamic thin provisioning, where storage capacity is allocated on-demand rather than being statically pre-allocated. This dynamic approach ensures storage availability when needed while improving resource utilization efficiency by not allocating unused capacity. The system automatically manages capacity allocation based on actual data storage requirements.
Solution Approach 2:
The storage system is segmented into two distinct volumes: a boot volume for system booting and a data volume for data storage. This segmentation allows the boot volume to be small and non-thin-provisioned (maintaining bootloader compatibility) while the data volume can be large and thin-provisioned (reducing storage waste). The virtual file system presents a unified view to applications while internally routing operations to the appropriate volume.
Data Source
AI summary
A method for use with a boot volume, which is not thin-provisioned, on at least one remote device includes, using a processor of a local device, allocating, for storage of data, a thin-provisioned block storage volume on the at least one remote device, and using the processor, logically concatenating the thin-provisioned block storage volume with the boot volume with respect to read and write operations by a file system running on the local device, by mapping any logical address provided by the file system and less than a size of the boot volume to an equivalent physical address in the boot volume, and mapping other logical addresses provided by the file system to provisioned physical addresses in the thin-provisioned block storage volume. Other embodiments are also described.


