Tenant Storage Management Trees for Fault Containment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current global namespace-based storage systems for managing storage capacity in multi-tenant environments face inefficiencies in capacity utilization and lack sufficient fault resilience, leading to potential data unavailability due to hardware or software failures, and do not support thin provisioning effectively.
Innovation Solution
Implementing a storage architecture that uses management trees and storage trees within a global namespace, allowing for flexible allocation and mapping of storage domains, with each tenant having unique data management policies and storage attributes for fault containment and efficient capacity management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hard partitioning of storage capacity is used for each tenant, then data isolation and security are improved, but storage capacity utilization efficiency deteriorates
Solution Approach 1:
The system segments storage capacity into logical units called storage domains, which are then dynamically allocated to tenants through a global namespace. This allows the storage system to be divided into manageable segments that can be flexibly assigned and reassigned based on demand, rather than permanently partitioned.
Solution Approach 2:
The global namespace provides a universal interface that allows multiple tenants to access and manage storage domains simultaneously. The same storage infrastructure serves multiple tenants with different requirements, enabling the system to function as both a secure isolated environment for each tenant and a shared resource pool for efficient utilization.
2Adaptability or versatility
If additional storage capacity is deployed in anticipation of growing demand, then future scalability is improved, but current storage capacity utilization deteriorates
Solution Approach 1:
The system performs preliminary actions by pre-configuring storage domains and organizing them into storage pools in advance, but does not allocate them to specific tenants until needed. This allows the infrastructure to be prepared for future growth while keeping capacity available for current tenants, avoiding both over-provisioning and under-utilization.
Solution Approach 2:
The storage capacity allocation is made dynamic through the global namespace, which allows storage domains to be moved, expanded, or reassigned between tenants in real-time based on actual demand. This dynamic approach replaces static pre-allocation with flexible on-demand provisioning.
3Ease of operation
If a global namespace is used for managing storage capacity, then storage management flexibility is improved, but fault containment and resilience deteriorate
Solution Approach 1:
The global namespace is segmented into separate storage domains that can be independently managed and isolated. When a fault occurs in one domain, it does not propagate to other domains, providing natural fault containment while maintaining the flexibility of global namespace management.
Solution Approach 2:
The system introduces an intermediary layer between the global namespace and physical storage resources through storage domains. This intermediary provides fault isolation by acting as a buffer that prevents errors from propagating, while still allowing flexible management through the global namespace interface.
Data Source
AI summary
Examples of data management for tenants are described herein. In an example, a storage system includes a management tree for each of a plurality of tenants associated with the storage system. The management tree includes data management policies defined by the tenant. Further, the management tree includes a storage tree, which is mapped to a storage domain. The storage domain may hold data pertaining to the tenant. The data may be managed based on the data management policies defined by one of the management tree and the storage tree.


