Resizing NSF persistent volumes
Resize storage space used on a persistent volume used with Component Pack for IBM Connections™.
Before you begin
Resizing the NFS persistent volumes requires you to delete the existing configuration and install it with new settings. Complete the following requirements before you start the process:
- Ensure there is sufficient disk space on the server hosting the persistent storage to accommodate the additional space.
- Schedule at least 1 hour of down-time to allow you to complete the manual update required for adding storage space.
About this task
When you deployed persistent volumes for Component Pack, you specified the capacity of each unit and the amount of storage that each service claims. For example, by default Elasticsearch configures 3 PVs with 10 GB of storage on each, and each pod makes a claim for 10 GB of the space.
During the lifecycle of your deployment, you might need to resize the volumes to provide additional space. For example, your Elasticsearch deployment might consume more storage space for logs and metrics data than you expected. For some types of persistent volumes, you can dynamically expand the storage as described on the Kubernetes documentation: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims.
You cannot resize NFS volumes dynamically because this task is a manual process and requires you to schedule down-time to complete it. This task typically takes about 1 hour.
- Back up the stored data.
- Validate that the Reclaim Policy on the persistent volumes is set to
Retain
(update it if needed). - Perform a helm delete operation on Component Pack applications that are associated with the volumes that you will resize.
- Delete the volumes.
- Install the volumes, and the persistent volume claims, with the additional storage.
- Install the applications associated with the persistent volumes.
Procedure
-
Back up the stored data.
This step ensures that you don't lose your stored data when you delete the persistent volumes in a later step. Run the following commands to copy data to a back-up directory; in this example, the data is stored in the pv-connections directory so the back-up directory is called pv-connections-backup:
mkdir -p /pv-connections-backup cd /pv-connections cp -avr . /pv-connections-backup cd / zip -r /pv-connections-backup/pv-connections-backup.zip pv-connections-backup/
-
Validate that the Reclaim policy on the persistent volumes is set to
Retain
(update it if needed).When you install persistent volumes, the Reclaim policy defaults to
Retain
. Verify the setting and if necessary, change it by completing the following steps.Note: For information on Reclaim policies, see the Kubernetes documentation: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#reclaiming -
Perform a helm delete operation to remove the applications that are associated with the volumes
that you will resize.
This step removes the persistent volumes from service; expect approximately 1 hour of down-time.
As part of the resizing procedure, you must delete the persistent volumes and persistent volume claims (in this example, the ones that are associated with Elasticsearch), and then recreate them with additional storage. The deletion of the persistent volumes and persistent volume claims will not terminate successfully if there are running pods that are using them, so you must delete the applications by completing the following steps.
-
Delete the volumes that you will resize by running a helm upgrade with the
connections-volumes
helm chart. -
Run another helm upgrade to install the persistent volumes and the persistent volume claims
with the additional storage.
-
Install the Component Pack applications that are associated with the persistent volumes that
you just resized.
Following the instructions in the appropriate topic for the Component you are working with:
- Elasticsearch: Installing Elasticsearch
- Orient Me (Zookeeper or Solr volumes): Installing Orient Me
- Customizer: Installing Customizer (mw-proxy)
- Infrastructure (MongoDB volumes): Installing the Component Pack infrastructure