> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rafftechnologies.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Kubernetes storage

> Longhorn block volumes on dedicated storage nodes

<sub>Updated August 24, 2026</sub>

Persistent volumes are served by **Longhorn** running on dedicated storage nodes — enable them at cluster creation (2 or 3 nodes, 10–1000 GB data disk each, \$0.08/GB/month).

* PVCs using the default `longhorn` storage class get replicated block volumes; every volume is kept in **2 copies**, so a storage-node failure keeps your data available from the remaining replica. Because of the 2 copies, **usable capacity is half the raw capacity you provision** (2 nodes × 100 GB = 100 GB usable; 3 × 100 GB = 150 GB usable).
* Worker root disks are **ephemeral** — anything a pod writes outside a PVC is lost when the node is replaced or scaled away.
* Apps from App Hub that need persistence (PostgreSQL, WordPress, NextCloud, …) require storage nodes to be present.
* Choose **3 storage nodes** for production data; 2 is the minimum for replication.

Without storage nodes, the cluster has no default storage class and PVCs stay `Pending`. For object storage (S3), use [Raff Object Storage](/products/store/object-storage) from inside the cluster instead.
