Skip to main content

Increasing the size of the CBS pool

This section covers the steps required to increase the sizes of the CBS pool and of the CBS pool data.

Ensure that the size of the VDO data is properly increased accoring to the Increasing the size of the VDO section.

Procedure performed by: Customer or field service

To increase the sizes of the CBS pool and the CBS pool data, follow these steps:

  1. Get the current size of the CBS pool and CBS pool data:

    # dmsetup table CBS_POOL

    0 93066911448 thin-pool 253:11 253:8 8192 0 0

    # dmsetup table CBS_POOL_data

    0 93066911448 linear 253:10 67608872

  2. Get the size of the VDO data:

    blockdev --getsize /dev/mapper/vdo

    186287915008

    The size of the ThinkAgile CP superblock is 67,608,872.

  3. Calculate the new size for the CBS pool and CBS pool data according to the following formula:

    new CBS pool and CBS pool data size = (size of VDO data) (size of ThinkAgile CP superblock)

    In our example, this becomes:

    new CBS pool and CBS pool data size = 186,287,915,008 67,608,872 = 186,220,306,136

  4. Increase the size of the CBS pool data:
    Note

    All CBS pool input/output halts while the CBS pool data device is suspended until the device is resumed, so make sure these operations are as fast as possible. You can do this by stringing the commands together with semicolons and then executing them as one.

    # dmsetup suspend CBS_POOL_data# dmsetup reload CBS_POOL_data --table '0 186220306136 linear /dev/mapper/vdo 67608872'# dmsetup resume CBS_POOL_data

  5. Check the size of the CBS pool data:

    # lsblk /dev/md/md50 | head -n 100 | grep -v DISK

    NAME                                                              MAJ:MIN RM SIZE   RO TYPE  MOUNTPOINT

    └─md124 9:124 0 8.7T 0 raid0
    └─vdo_data 253:9 0 8.7T 0 dm
    └─vdo 253:10 0 86.8T 0 vdo
    ├─CBS_POOL_data 253:8 0 86.7T 0 dm
    │└─CBS_POOL 253:12 0 43.3T 0 dm
    │ ├─SPECIAL_METADATA_STORE_a0528f49b71948aa8be9d7f4d490b97f 253:13 0 1G 0 dm
    │ └─SPECIAL_TEMPLATE_STORE_0657a4c083b44d8bb0d22cb4e6d0d750 253:14 0 43.3T 0 dm
    └─CBS_POOL_meta 253:11 0 16G 0 dm
    └─CBS_POOL 253:12 0 43.3T 0 dm
    ├─SPECIAL_METADATA_STORE_a0528f49b71948aa8be9d7f4d490b97f 253:13 0 1G 0 dm
    └─SPECIAL_TEMPLATE_STORE_0657a4c083b44d8bb0d22cb4e6d0d750 253:14 0 43.3T 0 dm

    # dmsetup table CBS_POOL_data

    0 186220306136 linear 253:10 67608872

  6. Increase the size of the CBS pool:
    Note

    All CBS pool input/output halts while the CBS pool device is suspended until the device is resumed, so make sure these operations are as fast as possible. You can do this by stringing the commands together with semicolons and then executing them as one.

    # dmsetup suspend CBS_POOL# dmsetup reload CBS_POOL --table '0 186220306136 thin-pool /dev/mapper/CBS_POOL_meta /dev/mapper/CBS_POOL_data 8192 0 0'# dmsetup resume CBS_POOL

  7. Check the size of the CBS pool:

    # lsblk /dev/md/md50 | head -n 100 | grep -v DISK

    NAME                                                              MAJ:MIN RM SIZE   RO TYPE  MOUNTPOINT

    └─md124 9:124 0 8.7T 0 raid0
    └─vdo_data 253:9 0 8.7T 0 dm
    └─vdo 253:10 0 86.8T 0 vdo
    ├─CBS_POOL_data 253:8 0 86.7T 0 dm
    │└─CBS_POOL 253:12 0 86.7T 0 dm
    │ ├─SPECIAL_METADATA_STORE_a0528f49b71948aa8be9d7f4d490b97f 253:13 0 1G 0 dm
    │ └─SPECIAL_TEMPLATE_STORE_0657a4c083b44d8bb0d22cb4e6d0d750 253:14 0 43.3T 0 dm
    └─CBS_POOL_meta 253:11 0 16G 0 dm
    └─CBS_POOL 253:12 0 86.7T 0 dm
    ├─SPECIAL_METADATA_STORE_a0528f49b71948aa8be9d7f4d490b97f 253:13 0 1G 0 dm
    └─SPECIAL_TEMPLATE_STORE_0657a4c083b44d8bb0d22cb4e6d0d750 253:14 0 43.3T 0 dm

    # dmsetup table CBS_POOL

    0 186220306136 thin-pool 253:11 253:8 8192 0 0

The sizes of the CBS pool and CBS pool data are now increased.

After increasing the sizes of the CBS pool and CBS pool data, update the CBS superblock. See Updating the CBS superblock.