ScyllaDB University Live | Free Virtual Training Event
Learn more
ScyllaDB Documentation Logo Documentation
  • Deployments
    • Cloud
    • Server
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
    • Supported Driver Versions
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Install
Ask AI
ScyllaDB Docs Scylla Operator Resources ScyllaClusters Node operations using Scylla Operator Resizing storage in ScyllaCluster

Resizing storage in ScyllaCluster¶

Caution

The StorageClass used for your PersistentVolumeClaims must support volume expansion. To verify if your StorageClass supports resizing, run:

kubectl get storageclass

Check the allowVolumeExpansion column. It should be set to true for StorageClass used by ScyllaCluster.

Let’s use the following ScyllaCluster as an example.

kubectl get scyllacluster

NAME     READY   MEMBERS   RACKS   AVAILABLE   PROGRESSING   DEGRADED   AGE
scylla   3       3         1       True        False         False      62m

Increasing the storage size¶

  1. Since we are going to delete the ScyllaCluster object, make sure to have a copy of the existing one.

    kubectl get scyllacluster scylla -o yaml | yq 'del(
     .metadata.creationTimestamp,
     .metadata.generation,
     .metadata.uid,
     .metadata.resourceVersion,
     .status
    )' > scyllaClusterDefinition.yaml
    
  2. Orphan delete ScyllaCluster, to delete the object, but preserve dependant objects.

    kubectl delete scyllacluster/scylla --cascade='orphan'
    
    scyllacluster.scylla.scylladb.com "scylla" deleted
    
  3. Orphan delete the underlying ScyllaDBDatacenter. It has the same name as ScyllaCluster.

    kubectl delete scylladbdatacenter/scylla --cascade='orphan'
    
    scylladbdatacenter.scylla.scylladb.com "scylla" deleted
    
  4. Orphan delete the underlying StatefulSets to remove objects but preserve underlying Pods.

    kubectl delete statefulset --selector scylla/cluster=scylla --cascade='orphan'
    
    statefulset.apps "scylla-us-east-1-us-east-1a" deleted
    
  5. List PVCs belonging to ScyllaCluster

    kubectl get pvc --selector scylla/cluster=scylla
    
    NAME                                 STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS         VOLUMEATTRIBUTESCLASS   AGE
    data-scylla-us-east-1-a-0            Bound    pvc-b96d6314-cd29-4f04-b86f-62a99634d62f   100Gi      RWO            scylladb-local-xfs   <unset>                 62m
    data-scylla-us-east-1-a-1            Bound    pvc-a13b1123-4f04-b86f-cd29-77b00534f63a   100Gi      RWO            scylladb-local-xfs   <unset>                 62m
    data-scylla-us-east-1-a-2            Bound    pvc-cd31cf0f-9daa-44c2-a0d9-8056780545cd   100Gi      RWO            scylladb-local-xfs   <unset>                 62m
    
  6. For each PVC from the list, patch it by providing the desired volume size.

    Caution

    PVC’s cannot be shrinked. Figure out the expected volume size, ensuring Nodes hosting them have enough disk capacity.

    kubectl patch pvc/data-scylla-us-east-1-a-0 -p '{"spec":{"resources":{"requests":{"storage":"300Gi"}}}}'
    
    persistentvolumeclaim/data-scylla-us-east-1-a-0 patched
    
  7. Update saved ScyllaCluster definition with the new storage size spec.datacenter.racks[*].storage.capacity field, and apply it:

    kubectl apply --server-side -f scyllaClusterDefinition.yaml 
    

    The ScyllaDBDatacenter and StatefulSets will be recreated by the Scylla Operator with the new storage size.

  8. Depending on your storage provisioner, affected Pods may or may not require a restart. Verify if storage was resized by checking volume size from within the affected Pod.

    kubectl exec scylla-us-east-1-a-0 -c scylla -- df -h /var/lib/scylla
    

Was this page helpful?

PREVIOUS
Restore from backup
NEXT
Deploying multi-datacenter ScyllaDB clusters in Kubernetes
  • Create an issue
  • Edit this page

On this page

  • Resizing storage in ScyllaCluster
    • Increasing the storage size
Scylla Operator
  • v1.19
    • v1.19
    • v1.18
    • v1.17
    • master
  • Architecture
    • Overview
    • Storage
      • Overview
      • Local CSI Driver
    • Tuning
    • ScyllaDB Manager
  • Installation
    • Overview
    • Kubernetes prerequisites
    • GitOps (kubectl)
    • Helm
  • Management
    • Configuring kernel parameters (sysctls)
    • Synchronising bootstrap operations in ScyllaDB clusters
    • Upgrading
      • Upgrading Scylla Operator
      • Upgrading ScyllaDB clusters
    • Monitoring
      • ScyllaDB Monitoring overview
      • Setting up ScyllaDB Monitoring
      • Exposing Grafana
      • Setting up ScyllaDB Monitoring on OpenShift
  • Resources
    • Overview
    • ScyllaClusters
      • ScyllaClusters
      • ScyllaDB clients
        • Discovering ScyllaDB Nodes
        • Using CQL
        • Using Alternator (DynamoDB)
      • Node operations using Scylla Operator
        • Upgrading version of Scylla
        • Replacing a Scylla node
        • Automatic cleanup and replacement in case when k8s node is lost
        • Maintenance mode
        • Restore from backup
        • Resizing storage in ScyllaCluster
      • Deploying multi-datacenter ScyllaDB clusters in Kubernetes
        • Build multiple Amazon EKS clusters with inter-Kubernetes networking
        • Build multiple GKE clusters with inter-Kubernetes networking
        • Deploy a multi-datacenter ScyllaDB cluster in multiple interconnected Kubernetes clusters
      • Exposing ScyllaDB cluster
    • ScyllaDBClusters
      • ScyllaDBClusters
      • Exposing ScyllaDB cluster
    • NodeConfigs
    • ScyllaOperatorConfigs
    • RemoteKubernetesCluster
  • Quickstarts
    • Deploying ScyllaDB on GKE
    • Deploying ScyllaDB on EKS
  • Support
    • Support overview
    • Known issues
    • Troubleshooting
      • Troubleshooting installation issues
    • Gathering data with must-gather
    • Releases
  • Reference
    • API Reference
      • scylla.scylladb.com
        • NodeConfig (scylla.scylladb.com/v1alpha1)
        • RemoteKubernetesCluster (scylla.scylladb.com/v1alpha1)
        • RemoteOwner (scylla.scylladb.com/v1alpha1)
        • ScyllaCluster (scylla.scylladb.com/v1)
        • ScyllaDBCluster (scylla.scylladb.com/v1alpha1)
        • ScyllaDBDatacenterNodesStatusReport (scylla.scylladb.com/v1alpha1)
        • ScyllaDBDatacenter (scylla.scylladb.com/v1alpha1)
        • ScyllaDBManagerClusterRegistration (scylla.scylladb.com/v1alpha1)
        • ScyllaDBManagerTask (scylla.scylladb.com/v1alpha1)
        • ScyllaDBMonitoring (scylla.scylladb.com/v1alpha1)
        • ScyllaOperatorConfig (scylla.scylladb.com/v1alpha1)
    • Feature Gates
Docs Tutorials University Contact Us About Us
© 2025, ScyllaDB. All rights reserved. | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 27 November 2025.
Powered by Sphinx 8.1.3 & ScyllaDB Theme 1.8.9
Ask AI