Skip to main content
Version: 3.1

Scale

As your cluster's data storage demands grow, you might face capacity limitations. To address this, you have two primary methods to scale your storage capacity.

A. Expanding Portworx Storage Pools

When storage demands increase, expanding your Portworx storage pools is essential. Portworx provides two methods for this, allowing online expansion (with certain exceptions):

Methods to Expand Storage Pools

  1. resize-drive: Using this method, you can vertically expand the storage pool size by increasing the size of the existing drives. All drives in the pool need to be resized to the same size for this operation. If the underlying infrastructure or the cloud provider supports resizing drives, this is the preferred option, as resizing disks involves no data movement and ensures zero downtime.

  2. add-drive: Using this mode, you can horizontally expand the storage pool by adding drives. The new drive(s) will need to match the existing drives in size and IOPS properties (if available). This operation might involve a significant amount of data movement, since the existing data needs to be restriped. This operation can also be performed online and requires no downtime. Note that the pool runs in degraded mode during the add-drive operation.

    Limitations:

    • If the pool is at or greater than 90% of its capacity, this operation can only be performed in pool maintenance mode.
note
  • If a pool to be resized contains an auto journal device, Portworx automatically performs data partition resizing as part of the expansion operation.
  • If you have installed Portworx with the PX-StoreV2 datastore, you can increase the size of the pool up to 15 TB. When expanding the pool size using the add-drive operation beyond 15 TB, Portworx will create a new pool.

Expansion Process

  1. Identify the storage pool to expand by listing all pools.

  2. Use the pxctl service pool expand command with these details:

    • UUID: Found in the POOL column when listing pools.
    • SIZE: The minimum new required size of the storage pool in GiB.
    • OPERATION-TYPE: Either resize-drive (resizing existing VMDKs) or add-drive (adding and rebalancing onto new VMDKs).
    pxctl service pool expand -u <UUID> -s <SIZE> -o <OPERATION-TYPE>
  3. Once you submit the command, Portworx will expand the storage pool in the background. You can list the storage pools periodically to check if they have finished expansion.

    pxctl cluster provision-status
  4. When invoked on the Portworx node where the storage pool resides, the following command provides detailed information about the status of the pool expand process.

    pxctl service pool show

B. Expanding ESXi Datastore(s) or Datastore Cluster(s)

When do I need this?

You would need this when the existing datastores being used by Portworx are filling up and there is no space left to increase storage capacity of individual nodes.

Understanding ESXi Datastores and Datastore Clusters

  • Datastore: A VMFS-formatted storage unit in ESXi for virtual machines, compatible with SAN and NAS systems.
  • Datastore Cluster: A group of datastores managed together, utilizing Storage DRS for balanced storage space and I/O distribution.

Expansion Methods

This can be done in one of 2 ways. Once the datastore(s) or datastore cluster(s) are expanded, Portworx can use the increased capacity to provision new VMDKs or resize existing VMDKs.

1. Resize existing ESXi datatores: You can expand the drives backing the datastore in your storage array and then increase datastore capacity from the vSphere web client.

2. Add new datastore(s) to the Datastore cluster: If you provided the prefix of a datastore cluster names to Portworx during installation, you can dynamically add new datastores to the datastore cluster. This will increase the capacity of the datastore cluster.

Detailed Instructions

Was this page helpful?