Longhorn - Block-based Software Defined Storage for Kubernetes
Use Cases and Deployment Scope
We use Longhorn Block Storage as primary Persistent Storage in our Kubernetes platform based on Rancher. Before changing to Longhorn we used file-based solutions NFS and GlusterFS, which were incapable of hosting databases especially NoSQL blob storage used in ElasticSearch, Redis, ETCD, RabbitMQ and similar products, what resulted in common data corruption issues. Longhorn Block Storage gave us what we needed: secure, replicated and reasonably fast persistent storage.
Pros
- Leverages industry standard protocol (iSCSI)
- Is block-based storage instead of file-based
- Is truly software defined storage (SDS)
- Can use commodity hardware to build redundant SDS
- Is open-source software
- Is one of the CNCF projects
- Provides enterprise functionalities like snapshots or backups
Cons
- ReadWriteMany Longhorn volumes are still using NFS (file-based) protocol in the core.
- Using iSCSI as main protocol instead of FC ties Longhorn to Ethernet-based LAN which is in most architectures much slower that FC-based SAN.
- Longhorn could implement S3 as alternative access protocol to its volumes.
- Backups, and snapshots configuration could be configured at each volume-level by administrators (maybe from additional CRD object?), because currently is configured at storage-class level which is not granular enough.
Return on Investment
- Longhorn is fully open source. One can try and/or use Longhorn for free even in enterprise and buy subscriptions only for environments that must be fully supported. We started with Longhorn in our lab environment and followed on through reference platform to non-production and production environments.
- Longhorn subscriptions are not cheap, but its biggest advantage is that price-to-functionality ratio is very reasonable.
- We have volumes with hundreds of gigabytes of data and these on Longhorn perform well in solutions where file-based GlusterFS volumes were corrupting data.
Usability
Alternatives Considered
Red Hat Gluster Storage, Red Hat Ceph Storage and Dell PowerScale
Other Software Used
SUSE Rancher, VMware vCenter, VMware ESXi, SUSE NeuVector, OpenSearch
