Skip to content

StorageClass Examples

Ready-to-use StorageClass configurations for common deployment patterns. All examples use the io.meshstor.csi.mesh provisioner.

Two copies across two nodes. Survives a single node failure.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: mesh-2copy-tcp
provisioner: io.meshstor.csi.mesh
parameters:
  numberOfCopies: "2"
  drivesPerCopy: "1"
reclaimPolicy: Delete
allowVolumeExpansion: true

Use for: Most workloads. Databases, application state, logs.

3-Copy High Availability

Three copies across three nodes. Survives two simultaneous node failures.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: mesh-3copy-tcp
provisioner: io.meshstor.csi.mesh
parameters:
  numberOfCopies: "3"
  drivesPerCopy: "1"
reclaimPolicy: Delete
allowVolumeExpansion: true

Use for: Critical data where maximum redundancy justifies 3x storage overhead.

RAID10 (Striped + Replicated)

Two copies, each striped across two drives. Higher throughput for sequential I/O.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: mesh-raid10
provisioner: io.meshstor.csi.mesh
parameters:
  numberOfCopies: "2"
  drivesPerCopy: "2"
reclaimPolicy: Delete
allowVolumeExpansion: false

Use for: High-throughput workloads. Requires 4 NVMe drives across 4 nodes.

Expansion not supported

Volume expansion is not supported when drivesPerCopy > 1. Set allowVolumeExpansion: false to prevent resize requests.

Single Copy (Non-Replicated)

One copy with a placeholder for relocation. No fault tolerance — data is on a single drive.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: mesh-single
provisioner: io.meshstor.csi.mesh
parameters:
  numberOfCopies: "1"
  drivesPerCopy: "1"
reclaimPolicy: Delete
allowVolumeExpansion: true

Use for: Ephemeral data, caches, or scratch space where performance matters more than durability.

Aggressive Replacement Timeout

Standard 2-copy replication with a shorter replacement timeout. Missing members are replaced after 2 minutes instead of the default 15 minutes.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: mesh-fast-replace
provisioner: io.meshstor.csi.mesh
parameters:
  numberOfCopies: "2"
  drivesPerCopy: "1"
  memberMissingTimeout: "120"
reclaimPolicy: Delete
allowVolumeExpansion: true

Use for: Environments where node failures are permanent (cloud-like disposable nodes) and fast recovery matters more than avoiding unnecessary rebuilds.

What's Next