KB10024 How to extend VDO volume size

KB ID: 10024

Product: vProtect

Version: 4.0.0 +

Published: 2021-03-12

Last modified: 2021-03-12

Problem

Hypothetically, let's assume that the backup space is slowly running out and we need to increase the physical and logical size of our backup destination

Note: Remember that deduplicated storage has two kinds of size:
Physical - Real space for use on block device (If you attach 100GB disk to VM - this is it)
Logical - The projected size of data that can be achieved after deduplication. This value may change during use.


Solution

Note:  If your backup destination only run out of logical space, and you still have free physical space, vProtect will automatically expand the logical volume.

In backup destination settings, you can set up a threshold when you want to take an action.

As you can see in these examples screenshots, we got an extra 4GB of logical volume size.


But if the backup destination is running out of physical space, you have to deal with manually expanding volumes.


To do this, follow the steps below:


  1. Grow the physical device if it hasn’t been done already. This process will depend on the storage product being used and is not covered in this document.
    For this article, we will show the most popular option, a singular disk device assigned to the vProtect Node virtual machine.
  2. Shutdown vProtect VM and extend disk device

  3. Power on VM and confirm new size by running the command

     fdisk -l

    [root@localhost ~]# fdisk -l

    Disk /dev/sda: 17.2 GB, 17179869184 bytes, 33554432 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x000ec8b4

    Device Boot Start End Blocks Id System
    /dev/sda1 * 2048 2099199 1048576 83 Linux
    /dev/sda2 2099200 33554431 15727616 8e Linux LVM


    <Output omitted>


    Disk /dev/sde: 16.1 GB, 16106127360 bytes, 31457280 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

  4. Stop the vProtect Node service to ensure that scheduled tasks do not run

     systemctl stop vprotect-node

    [root@localhost ~]# systemctl stop vprotect-node

  5. Grow the physical size of vdo volume

     vdo growPhysical --name=<vdo volume name>

    [root@localhost ~]# vdo growPhysical --name=small_vdo

    # Check if physical size was changed

    [root@localhost ~]# vdostats --human-readable
    Device Size Used Available Use% Space saving%
    /dev/mapper/small_vdo 15.0G 3.0G 12.0G 20% 99%

  6. Increase the logical size of the vdo volume.
    You must enter a new logical size. We recommend starting with a compression ratio of 3 or 4 : 1
    So in our example, for 15 GB of physical space, we will provide 60 GB of logical space.

     vdo growLogical --name=<vdo volume name> --vdoLogicalSize=<size>

    [root@localhost ~]# vdo growLogical --name=small_vdo --vdoLogicalSize=60G
    [root@localhost ~]# vdo status --name=small_vdo|grep "Logical size"
    Logical size: 60G

  7. Increase file system space

     xfs_growfs /dev/mapper/small_vdo

    [root@localhost backups]# xfs_growfs /dev/mapper/small_vdo
    meta-data=/dev/mapper/small_vdo isize=512 agcount=22, agsize=983040 blks
    = sectsz=4096 attr=2, projid32bit=1
    = crc=1 finobt=0 spinodes=0
    data = bsize=4096 blocks=20971520, imaxpct=25
    = sunit=0 swidth=0 blks
    naming =version 2 bsize=4096 ascii-ci=0 ftype=1
    log =internal bsize=4096 blocks=2560, version=2
    = sectsz=4096 sunit=1 blks, lazy-count=1
    realtime =none extsz=4096 blocks=0, rtextents=0

  8. That's all, start the vProtect Node service and check the statistics of the backup destination space.