Simplyblock Operations Manual
Introduction
Simplyblock is a high-performance, highly scalable, storage-efficient distributed block storage system based on NVMe over TCP (also known as NVMe/TCP).
Storage performance is measured by performance density (measured as random IOPS per TiB) and access latency (measured as the average time it takes to access the storage for IO operations) in microseconds.
By these indicators, simplyblock is up to thousands times faster than many object stores and file storage (file shares and distributed file systems) and it is even multiple times faster than most best-in-class SAN systems or high-performance, cloud-based block storage services such as AWS EBS.
It is important to note that simplyblock can deliver this performance advantage with very little hunger for compute resources - it is possible to deliver up to 500,000 IOPS per CPU core.
Based on distributed and highly scalable architecture, simplyblock scales from relatively small amounts of storage (such as multiple TiB on a single node) to hundreds of nodes and thousands of devices.
And even more importantly, performance scales linearly with the capacity, keeping the performance density (IOPS per TiB) constant even for large clusters! The scale-out mechanism is fully transparent and adding storage capacity and nodes without downtime. It is accompanied by a fast and fully automated re-balancing of the cluster.
So far, users had the choice between storage systems with high performance density, usually high-end SAN systems, and storage systems with high scalability, such as ceph (block, file, object) or lustre (distributed file system). Simplyblock is the first storage solution to combine these characteristics into a single system.
This documentation covers the simplyblock release 1.0 beta
for self-hosters consisting of management plane, storage plane (clusters) and Kubernetes CSI driver components.
It has been extensively tested on Amazon EC2 and Amazon EKS, but is available for use on other platforms as well. It provides storage for stateful Kubernetes services, Linux, Microsoft Windows©, and VMware vSphere©.
The release is ready for piloting and will soon be followed by a production-ready release 1.0 GA
.
Managed service customers on AWS using storage for Amazon EKS, please refer to the README.
For AWS SaaS customers, documentation is not released yet.
Important Facts
Simplyblock protects data by erasure coding and currently supports k+1 and k+2 protection schemas, which can be chosen individually per logical volume. Therefore, a typical ratio of effective to raw storage is around 1:1.5, compared to 1:3 in replicated systems (assuming the best-practice of 3 replicas). In case of a temporary outage of nodes or the removal of devices, a simplyblock cluster re-balances itself without impact on IO. In case of permanent device failure, the cluster automatically excludes the failed unit and rebuilds data redundancy in the background.
Simplyblock is a fully containerized, cloud-native solution, but has been built for deployment into different clouds, virtualized and bare metal environments. It is tightly integrated into Kubernetes and provides all k8s storage lifecycle operations via its own CSI driver.
Simplyblock is fully NVMe over TCP based solution. NVMe/TCP clients (called initiators) are built-in primitives of current iterations of kernels for Linux, VMware and Windows Server. They also support high-availability (HA) via NVMe multipath. No proprietary drivers or administration software is required on the hosts from which a logical volume in a simplyblock storage cluster is connected. Simplyblock uses the nvmf (or NVMe-oF / NVMe over Fabrics) protocol for all external and internal data transfers to and within a cluster respectively.
Simplyblock provides a multi-tenant capable control plane that supports connections from one or more storage clusters. The control plane can be deployed as a single or HA (multi-node) service and provides:
- TLS-secured API
- CLI
- Statistics collection and aggregation
- Dashboarding
- Monitoring and alerting services (Grafana, Prometheus)
- Logfile management (Graylog)
- Ongoing health-checks and
- Automated incidence repair after failure
All services can be deployed in a fully automatic high-availability mode with multiple active nodes.
Simplyblock supports:
- Snapshots and snapshot management
- Copy-on-write clones
- Thin provisioning
- Volume encryption (also e2e using user-managed keys)
- Cross-site replication of storage1 (synchronous and asynchronous)
- Snapshot backup to S31
- Online cluster expansion (with automated re-balancing) and
- Full cluster-backup to S31
Individual logical volumes can be grouped into logical pools, which are limited by maximum provisioned capacity, IOPS and throughput. Additionally, simplyblock supports QOS for logical volumes. Using QOS logical volumes can be limited by IOPS and throughput individually.
Deployment of simplyblock clusters and CSI drivers is fully automated and API-driven.