**Longhorn** is a lightweight, cloud-native distributed block storage system for [[Kubernetes]], built by Rancher Labs (now SUSE). It provides persistent volumes for stateful Kubernetes workloads — databases, message queues, stateful applications — without requiring an external storage system like [[Ceph]].
---
### First Principle: Kubernetes-native storage should be manageable from within Kubernetes, not as a separate external system.
Longhorn runs entirely inside the Kubernetes cluster. Each volume is a Longhorn Engine process, and data is replicated across nodes using the cluster's own storage. Storage management happens via Kubernetes CRDs and the Longhorn UI — no separate storage cluster to operate.
---
### Key Considerations
- **Architecture**: Each Longhorn volume has a dedicated controller (engine) and one or more replicas on different nodes. Replication happens over the network, providing HA with configurable replica counts.
- **CSI Driver**: Longhorn integrates with Kubernetes via the Container Storage Interface (CSI), working with standard `PersistentVolume` and `StorageClass` resources — no application changes needed.
- **Incremental Snapshots & Backups**: Supports incremental snapshots stored on S3-compatible storage ([[MinIO]] or AWS S3). This provides a complete backup/restore workflow for stateful workloads.
- **Disaster Recovery**: Longhorn supports cross-cluster DR — creating a standby volume in a secondary cluster that can be promoted if the primary fails.
- **vs Ceph**: [[Ceph]] is the right choice for large-scale, multi-protocol storage. Longhorn is the right choice for smaller Kubernetes deployments where operational simplicity is the priority.
---
### How It Fits
```
Kubernetes stateful workloads (databases, queues)
→ Longhorn CSI driver (persistent volumes)
→ Longhorn Engine (per-volume controller)
→ Local NVMe/SSD storage on [[Bare Metal]] nodes
```
[[Kubernetes]] | [[Ceph]] | [[MinIO]] | [[Rancher]] | [[Open Source Hyperscaler MoC]]