Easiest way to decrease Persistent Volume size?


I am trying to decrease the storage size of our Persistent Volumes in a particular cluster while still retaining all the data that is currently on the existing Persistent Volumes. The storage is currently over-provisioned.

Is there an easy way to do this? We have dynamic storage working to go up in storage but if I am not mistaken this does not work for going down in size.

I thought of two potential approaches:

  1. Add underlying VMs then update the data node count in our helm config and update the storage request in the helm config. The thought here would be the existing PVCs would be untouched and the new ones would be created with the new smaller value? I could continue this process by phasing out the existing nodes/PVCs. Is this valid?

  2. Add underlying VMs then add a second data node nodeSets in the config with the smaller storage request. Can you even have two data node nodeSets in one cluster? This approach seems much more cumbersome

Any advice is appreciated

As stated in the documentation the storage size of existing volumeClaimTemplates can only be increased.
I think the easiest way is to create new nodeSets (you can rename the existing ones) with an adjusted volume size. The operator will create new nodes and migrate the data from the existing ones automatically.

Thanks @michael.morello for the response. If I had say 20 VMs with taints for data nodes and add another new 20 VMs (different size), do you know if I renamed the existing node sets if the new pods would be created on the new VMs?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.