DEFS Allocation Areas for Elastic Node Growth and Shrinkage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed storage systems suffer from sub-optimal infrastructure architectures that do not effectively utilize compute, network, and storage resources, leading to storage silos and inefficient management of storage space.
Innovation Solution
Implementing a disaggregated storage architecture using a storage pod with dynamically extensible file systems (DEFS) that allow all nodes in a cluster to access a global physical volume block number (PVBN) space, partitioned into allocation areas (AAs), enabling dynamic ownership changes and independent file system operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If each node is associated with a dedicated pool of storage space (node-level aggregate), then storage space is isolated and manageable per node, but storage silos are created and storage utilization becomes inefficient
Solution Approach 1:
The storage system is segmented into multiple allocation areas (AAs), each owned by a specific node's DEFS, while the entire storage pod is accessible by all nodes. This segmentation allows per-node management control while enabling cluster-wide accessibility, eliminating storage silos without sacrificing operational simplicity.
2Adaptability or versatility
If storage space is dedicated to each node, then per-node control is maintained, but the system cannot effectively utilize all three vectors of infrastructure (compute, network, and storage)
Solution Approach 1:
The DEFS architecture provides universality by allowing each node to have its own file system instance that can access any allocation area in the storage pod. This multi-functionality enables the system to maintain per-node control while simultaneously allowing any node to access any storage resource, effectively utilizing compute, network, and storage infrastructure.
3Adaptability or versatility
If nodes are added or removed from the cluster, then cluster scalability is achieved, but storage space reassignment and management become complex
Solution Approach 1:
The DEFS architecture implements dynamics by allowing allocation area ownership to be dynamically changed when nodes are added or removed. When a node joins, new DEFS instances are created and AAs are donated from existing nodes. When a node leaves, its DEFS are parked in other nodes. This dynamic reassignment simplifies scalability management compared to static storage allocation.
4Productivity
If a global PVBN space is made visible and accessible to all nodes via DEFS, then storage silos are eliminated and storage utilization improves, but system complexity increases
Solution Approach 1:
The DEFS architecture introduces an intermediary layer between nodes and the global PVBN space. Each node runs its own DEFS instance that manages allocation areas and handles access to the global storage pod. This intermediary simplifies the complexity by abstracting the global storage management, allowing nodes to access any AA through their local DEFS without direct complex coordination.
Data Source
AI summary
Systems and methods are provided for implementation and use of disaggregated storage by a distributed storage system. In various examples described herein, the association of blocks of storage space within a storage pod with a given dynamically extensible file system (DEFS) may be in large chunks of one or more gigabytes (GB), which may be referred to herein as “allocation areas” (AAs) that each include multiple RAID stripes. The use of large, multi-GB chunks, as the unit of space allocation/assignment to DEFSs of a distributed storage system facilitates ease of management and independence of write allocation. The use of AAs described herein further allows disk space to be used more fluidly across individual (nodes) storage systems of a distributed storage system (cluster of nodes working together), thereby eliminating silos of storage; and processing resource (e.g., CPU) load may be distributed across the cluster.


