@@ -10,25 +10,35 @@ type: "docs"
10
10
11
11
## Storage Related Terms
12
12
13
+ ### Storage Cluster
14
+
15
+ A simplyblock storage cluster is a group of interconnected storage nodes that work together to provide a scalable, fault-tolerant,
16
+ and high-performance storage system. Unlike traditional single-node storage solutions, storage clusters distribute data
17
+ across multiple nodes, ensuring redundancy, load balancing, and resilience against hardware failures. To optimize data
18
+ availability and efficiency, these clusters can be configured using different architectures, including replication and
19
+ erasure coding. Storage clusters are commonly used in cloud storage, high-performance
20
+ computing (HPC), and enterprise data centers, enabling seamless scalability and improved data accessibility across
21
+ distributed environments.
22
+
23
+ ### Storage Node
24
+
25
+ A storage node in a simplyblock distributed storage cluster is a physical or virtual machine that contributes storage resources to
26
+ the cluster, providing a portion of the overall storage capacity and participating in data distribution, redundancy, and
27
+ retrieval processes. In simplyblock, each logical volume is attached to particular primary and secondary storage nodes via nmvf. The nodes
28
+ run the in-memory data services for this volume on the hot data path and provide access to underlying data.
29
+ The data stored on such a volume is distributed within the cluster following a defined placement logic.
30
+
13
31
### Storage Pool
14
32
15
- A storage pool is a logical aggregation of multiple physical storage devices that provides a flexible and scalable
16
- foundation for managing storage resources. By pooling storage from different drives or nodes, a storage pool enables
17
- efficient capacity management, redundancy, and performance optimization through techniques such as thin provisioning,
18
- replication, and erasure coding. Storage pools are commonly used in software-defined storage (SDS), hyper-converged
19
- infrastructure (HCI), and enterprise storage systems to simplify storage provisioning and dynamically allocate space
20
- based on workload demands. This abstraction layer improves fault tolerance, scalability, and resource utilization in
21
- modern storage architectures.
33
+ A storage pool in simplyblock groups logical volumes and assigns them optional quotas (caps) of capacity, IOPS and
34
+ read-write throughput. Storage pools are defined on a cluster-level and can span logical volumes across multiple
35
+ storage nodes. Therefore, storage pools implement a tenant-concept.
22
36
23
37
### Storage Device
24
38
25
- A storage device is a hardware component or system that stores and retrieves digital data in computing environments.
26
- Storage devices can be classified into different types based on technology and access speed, including hard disk
27
- drives (HDDs), solid-state drives (SSDs), NVMe drives, and optical or tape storage. They can be locally attached to a
28
- single machine or shared across multiple systems in networked storage architectures such as Storage Area Networks (SANs)
29
- and Network-Attached Storage (NAS). Modern distributed and cloud environments leverage software-defined storage (SDS) to
30
- manage multiple storage devices efficiently, ensuring scalability, redundancy, and optimized data access for various
31
- applications.
39
+ A storage device is a physical or virtualized nvme drive in simplyblock, but not a partition.
40
+ It is identified by its PCIe address. Simplyblock currently supports different a wide range of different
41
+ types of nvme drives with different performance characteristics, features and capacity.
32
42
33
43
### NVMe (Non-Volatile Memory Express)
34
44
@@ -77,15 +87,6 @@ reliability by using multiple connections, ensuring continuous access to storage
77
87
implemented in Fibre Channel (FC), iSCSI, and NVMe-oF (including NVMe/TCP and NVMe/RoCE) environments, where high
78
88
availability and optimized data transfer are critical.
79
89
80
- ### Storage Node
81
-
82
- A storage node in a distributed storage cluster is a physical or virtual machine that contributes storage resources to
83
- the cluster, providing a portion of the overall storage capacity and participating in data distribution, redundancy, and
84
- retrieval processes. Each storage node typically runs specialized storage software to manage data placement,
85
- replication, and access, ensuring high availability and fault tolerance. In modern distributed storage architectures,
86
- storage nodes communicate with one another to maintain data consistency, balance workloads, and optimize performance,
87
- often using techniques such as erasure coding or replication to safeguard against node failures.
88
-
89
90
### Management Node
90
91
91
92
A management node is a containerized component that orchestrates, monitors, and controls the distributed storage
@@ -95,26 +96,19 @@ storage nodes and client applications, enforcing policies such as access control
95
96
They also provide an interface for administrators to interact with the storage system via the Simplyblock CLI or API,
96
97
enabling seamless deployment, scaling, and maintenance of the storage infrastructure.
97
98
98
- ### Storage Cluster
99
+ ### Distributed Erasure Coding
99
100
100
- A storage cluster is a group of interconnected storage nodes that work together to provide a scalable, fault-tolerant,
101
- and high-performance storage system. Unlike traditional single-node storage solutions, storage clusters distribute data
102
- across multiple nodes, ensuring redundancy, load balancing, and resilience against hardware failures. To optimize data
103
- availability and efficiency, these clusters can be configured using different architectures, such as replication,
104
- erasure coding, or software-defined storage (SDS). Storage clusters are commonly used in cloud storage, high-performance
105
- computing (HPC), and enterprise data centers, enabling seamless scalability and improved data accessibility across
106
- distributed environments.
107
-
108
- ### Erasure Coding
109
-
110
- Erasure coding is a data protection technique used in distributed storage systems to provide fault tolerance and
101
+ Distributed Erasure coding is a data protection technique used in distributed storage systems to provide fault tolerance and
111
102
redundancy while minimizing storage overhead. It works by breaking data into k data fragments and generating m parity
112
103
fragments using mathematical algorithms. These k + m fragments are then distributed across multiple storage nodes,
113
104
allowing the system to reconstruct lost or corrupted data from any k available fragments. Compared to traditional
114
105
replication, erasure coding offers greater storage efficiency while maintaining high availability, making it ideal for
115
106
cloud storage, object storage, and high-performance computing (HPC) environments where durability and cost-effectiveness
116
107
are critical.
117
108
109
+ Simplyblock supports all combinations of k = 1,2,4 and m = 1,2. The erasure coding implementation uses highly
110
+ performance-optimized algorithms specific to the selected schema.
111
+
118
112
### Replication
119
113
120
114
Replication in storage is the process of creating and maintaining identical copies of data across multiple storage
@@ -123,6 +117,7 @@ synchronously, where data is copied in real-time to ensure consistency, or async
123
117
optimize performance. It is commonly used in distributed storage systems, cloud storage, and database management to
124
118
protect against hardware failures and data loss. By maintaining redundant copies, replication enhances data resilience,
125
119
load balancing, and accessibility, making it a fundamental technique for enterprise and cloud-scale storage solutions.
120
+ Simplyblock supports synchronous replication.
126
121
127
122
### RAID (Redundant Array of Independent Disks)
128
123
@@ -142,7 +137,9 @@ different applications receive appropriate levels of performance, preventing res
142
137
environments. By setting limits and priorities for Logical Volumes (LVs), Simplyblock allows administrators to allocate
143
138
storage resources efficiently, ensuring critical workloads maintain consistent performance even under high demand.
144
139
This capability is essential for optimizing storage operations, improving reliability, and meeting service-level
145
- agreements (SLAs) in distributed cloud-native environments.
140
+ agreements (SLAs) in distributed cloud-native environments. In simplyblock it is possible to limit (cap) IOPS or throughput
141
+ of individual logical volumes or entire storage pools and additionally to create QoS classes and provide a fair
142
+ relative resource allocation (IOPS and/or throughput) to each class. Logical volumes can be assigned to classes.
146
143
147
144
### SPDK (Storage Performance Development Kit)
148
145
0 commit comments