Storage Group Allocation for Failure Tolerance in Composable Infrastructure
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data center architectures, particularly composable infrastructures, face challenges in ensuring data durability and availability while maintaining performance, cost-effectiveness, and flexibility, as they lack effective mechanisms to prevent data loss due to device failures and resource silos.
Innovation Solution
Organizing disk drives into storage groups based on coupled failure mechanisms and allocating them to servers in a way that ensures data redundancy across distinct groups, allowing for flexible resource allocation and failure tolerance, thereby preventing data loss and optimizing resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If disk drives are organized into storage groups based on coupled failure mechanisms and allocated to servers in accordance with storage group membership, then data durability and availability are improved, but device complexity increases
Solution Approach 1:
The system segments disk drives into distinct storage groups based on coupled failure mechanisms (e.g., JBODs, racks). Each storage group represents a independent failure domain, allowing the system to manage complexity by dividing the storage infrastructure into manageable, failure-isolated units rather than treating all drives as a single pool.
Solution Approach 2:
Storage group membership acts as an intermediary layer between physical disk drives and server allocation. This intermediary structure enables automated allocation decisions by providing clear rules (drives from different storage groups must be allocated together) that prevent data loss while simplifying the allocation process through standardized grouping criteria.
2Reliability
If drives are allocated to servers in accordance with storage group membership to prevent data loss, then data availability is improved, but resource utilization flexibility deteriorates
Solution Approach 1:
The system implements dynamic resource allocation within the constraints of storage group membership. While the storage group structure provides static failure domain boundaries, the allocation of specific drives from these groups to servers can dynamically adjust to changing workload requirements, allowing servers to access drives from any storage group as long as the cross-group allocation rule is maintained.
Solution Approach 2:
Each storage group serves multiple functions: it acts as a failure domain boundary, a pool of allocable drives, and a unit for enforcing data protection policies. This multi-functionality allows the same storage group structure to simultaneously provide failure isolation, resource pooling, and allocation control without requiring separate mechanisms for each function.
3Loss of information
If data is distributed across multiple storage groups to ensure redundancy, then loss of information is reduced, but device complexity increases
Solution Approach 1:
The system performs preliminary organization of drives into storage groups based on failure mechanisms before data allocation occurs. This pre-establishment of failure domains and allocation rules enables automated data placement decisions that ensure cross-group redundancy without requiring complex real-time analysis during data operations.
Solution Approach 2:
The invention changes the parameter of drive organization from individual drive management to storage group management. By shifting the unit of allocation from individual drives to groups of drives with shared failure characteristics, the system simplifies data placement logic while maintaining redundancy requirements.
Data Source
AI summary
Systems (e.g. data centers) having composable infrastructure, in which computing devices (e.g., servers) access disk drives organized into storage groups over a network or other communications mechanism, devices for implementing such systems, methods for configuring and operating such systems, and a computer readable medium which stores (in non-transitory fashion) code for performing any embodiment of the inventive method or steps thereof. Typically, the storage groups are determined such that the drives in each storage group have at least one coupled failure mechanism, and the drives are allocated to servers (and typically also, data items are placed in the servers) in accordance with storage group membership of the drives. In some embodiments, data from a server is stored in redundant fashion on at least two of the drives, e.g., in accordance a RAID technique.
