Distributed Storage
ZSphere supports various distributed storage systems. This section uses ZStone as an example. It manages resources such as servers, physical disks, data disks, block storage volumes, storage pools, and buckets. You can create storage pools with different redundancy schemes and configure storage policies and access permissions for buckets, providing a stable, secure, and cost-effective storage infrastructure.
Functional advantages of ZStone:
- Elastic Scalability: Expands storage capacity and processing capability horizontally by adding nodes to the cluster, accommodating continued data growth without replacing the existing system.
- High Availability: Supports multiple data redundancy schemes, including replication and erasure coding. The replica count of a storage pool can be adjusted online. Because data is distributed across multiple nodes, it remains accessible when one or more nodes fail. Flexible fault-domain policies further maintain storage availability during hardware failures and network interruptions.
- Performance Optimization: Optimizes data processing performance through proprietary cache acceleration technology. It utilizes enterprise-grade NVMe SSDs and SATA SSDs to accelerate read and write operations for backend HDD devices, effectively reducing latency and improving the I/O performance of the storage cluster. Furthermore, it employs load balancing technology to evenly distribute storage I/O loads across all nodes, ensuring optimal utilization of system resources.
- Easy Management: Provides a unified management interface and standard RESTful APIs for physical-resource lifecycle management, maintenance, data operations, and recovery.
- High Cost-Effectiveness: Runs on standard hardware and allows storage resources to scale with service requirements, reducing hardware costs and avoiding overprovisioning.
Architecture of ZStone:
- Hardware Layer: Supports standard x86 servers and integrating existing equipment into a shared pool, helping organizations maximize the value of their current IT assets.
- Platform Layer: Extends consistent hashing with physical deployment and cluster-state information through a fault-domain algorithm. During data migration, the algorithm considers the hardware topology to minimize data movement. For example, it can keep migrations within a server or within the same rack or core-switch domain, reducing the resources consumed by migration. It also distributes data according to cluster state to accommodate different storage devices.
- Data Layer: Uses enterprise-grade NVMe SSDs and SATA SSDs as read and write caches for backend HDDs. Frequently accessed data remains on high-speed SSDs, while an intelligent destaging policy moves cold data to HDDs. This design improves overall cluster performance while providing high-capacity storage for upper-layer services.
- Interface Layer: Provides virtual volume devices to operating systems, ZSphere, and databases through the RBD interface.
- Service Layer: Integrates with ZSphere to provide a cloud infrastructure foundation for workloads.
