Resizing Persistent Volumes (CSI volume expansion)

Last published : Jun 12, 2026
Using the persistent volume expansion feature, you can easily expand the storage capacity of a persistent volume by just updating the Persistent Volume Claim storage specification. However, to use this feature, you must set the allowVolumeExpansion attribute to true in their StorageClass object. Only the PVCs created by using such Storage Class allow volume expansion. When the storage attribute of such a PVC object is updated, Container Orchestrator interprets it as a change request and triggers automatic volume resizing.
The following sample Storage Class yaml shows the allowVolumeExpansion attribute definition.
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: csi-infoscale-sc
  annotations:
    storageclass.kubernetes.io/is-default-class: "false"
provisioner: org.veritas.infoscale
reclaimPolicy: Delete
allowVolumeExpansion: true
parameters:
  fstype: vxfs
  layout: "mirror"
While performing the volume expansion operation, you must note the following:
  • Ensure that the PVC is in use by some application pod while performing resize operation. InfoScale supports dynamic volume expansion in 'Online' mode.
  • Do not perform the volume expansion operation from InfoScale SDS pods. In such case, OpenShift is not aware of these changes and updated volume size is not reflected in the PV and PVC objects.
  • InfoScale does not support the shrinking of persistent volume as OpenShift does not support it.
  • If this PVC is a part of any Disaster Recovery (DR) configuration, DR controller automatically detects this change and underlying Arctera Volume is expanded on the secondary cluster also. If PVC is resized on a primary cluster and if PVC with an identical name is available on secondary cluster, you must manually update the PVC size on the secondary cluster. Volume is resized automatically on the secondary cluster.
  • When a volume is used in any InfoScale configuration, make sure that you use only InfoScale commands to resize it. Do not use any other methods - like OS-specific commands - to resize such volumes. Doing so may disrupt the functioning of your InfoScale configuration.
After the volume is provisioned, create the container application pod, run the application, and access the volume. If the volume is full and must be resized, use one of the following ways:
  • Edit the Persistent Volume Claim
  • Use the oc patch pvc command
    Note: Resize operation on volume is not supported when it is provisioned in ReadOnlyMany mode.
Resizing a Persistent Volume by editing the Persistent Volume Claim
  1. Find the Persistent Volume Claim to resize.
    oc get pvc
    Output similar to this is displayed:
    NAME              STATUS  VOLUME   CAPACITY
    csi-infoscale-pvc Bound   pvc-<id> 5Gi
ACCESS MODES STORAGECLASS     AGE
RWX          csi-infoscale-sc 32m
  1. To resize the storage capacity, edit the PVC.
    oc edit pvc csi-infoscale-pvc
    1. From your text editor, change the storage capacity to the required larger value. For example, from 5Gi to 10Gi .
    2. Check the status of the Persistent Volume Claim and Persistent Volume to verify if the size is updated.
    oc get pvc
Output similar to this is displayed:
NAME               STATUS VOLUME
csi-infoscale-pvc  Bound  pvc-<id>
CAPACITY ACCESS MODES STORAGECLASS     AGE
10Gi     RWX          csi-infoscale-sc 32m
Resizing a Persistent Volume using the 'patch pvc' command
  1. Find the Persistent Volume Claim to resize.
    oc get pvc
    Output similar to this is displayed:
    NAME              STATUS VOLUME   CAPACITY
    csi-infoscale-pvc Bound  pvc-\<id\> 5Gi
ACCESS MODES STORAGECLASS     AGE
RWX          csi-infoscale-sc 32m
  1. To resize the storage capacity to the required larger value, for example, from 5Gi to 10Gi, run the following command.
     oc patch pvc csi-infoscale-pvc --patch
    '{"spec": {"resources": {"requests": {"storage": "10Gi"}}}}'
    1. Check the status of the Persistent Volume Claim and Persistent Volume to verify if the size is updated.
    oc get pvc
Output similar to this is displayed:
NAME                 STATUS   VOLUME
csi-infoscale-pvc    Bound    pvc-\<id\>
CAPACITY   ACCESS MODES STORAGECLASS     AGE
10Gi       RWX          csi-infoscale-sc 32m