The devicemapper basesize changes will take effect only for containers created after the change. Existing containers will keep using the basesize that was originally present. Follow according to the type of host on which commands are being run.

For Controllers Without Any Co-Located SE

Follow the step-by-step procedure and run the commands from follower nodes to the leader node. Wait for the cluster to become active after each node is configured:

  1. $ systemctl stop avicontroller.

  2. Check if docker thinpool has more space to increase from 10GB to 30GB (more if devicemapper volume has the capacity).

  3. Edit /etc/docker/daemon.json to have basesize set to at least 30G:

     {
        
     "storage-driver": "devicemapper",
        
     "storage-opts": [
        
     "dm.thinpooldev=/dev/mapper/docker-thinpool",
        
     "dm.use_deferred_removal=true",
        
     "dm.use_deferred_deletion=true",
        
     "dm.basesize=30G" # <-- Add this
        
     ]
    
  4. Run the following commands:

    $ sudo systemctl daemon-reload and $ reboot #, for both kernel and devicemapper changes to take effect.

  5. Verification:

    $ docker info # pool base device size should show as 30GB (won’t reflect inside container yet, new container needs to be created for that).

  6. Verify cluster is in active state (from controller CLI: show cluster nodes).

For Controllers With Co-Located SE

Follow the step-by-step procedure and run the commands from follower nodes to the leader node:

  1. $ systemctl stop avicontroller.

  2. Check if docker thinpool has more space to increase from 10GB to 30GB (more if devicemapper volume has the capacity).

     [root@vzn-ctrl-1 ~]# lvs -a # LSize is 37G
        
     LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync
        
     thinpool docker twi-aot--- <37.11g 20.08 4.30
  3. Edit /etc/docker/daemon.json to have basesize set to at least 30G:

     {
        
     "storage-driver": "devicemapper",
        
     "storage-opts": [
        
     "dm.thinpooldev=/dev/mapper/docker-thinpool",
        
     "dm.use_deferred_removal=true",
        
     "dm.use_deferred_deletion=true",
        
     "dm.basesize=30G" # <-- Add this
        
     ]
        
     }
  4. Run the following commands for both kernel and devicemapper changes to take effect:

    $ sudo systemctl daemon-reload

    $ reboot #

  5. Verification:

    $ docker info # pool base device size should show as 30GB (wont reflect inside container yet, new container needs to be created for that).

  6. Verify cluster is in the active state (from controller CLI: show cluster nodes), SE is OPER_UP (show servicengine </code>), VLANs if any are still present on SE, basic traffic validation.

For SE Hosts

Follow the step-by-step procedure and run the commands from follower nodes to the leader node. Wait for the SE to become OPER_UP after each host is configured:

  1. $ systemctl stop avise.

  2. Verify SE is OPER_UP (from controller CLI: show servicengine </code>), VLANs if any are still present on SE, basic traffic validation.

Note:
  • The above changes will take effect for the Docker Container (controller/SE) on the next upgrade.

  • You must rebuild the controller container if the upgrade is not being performed. As a result, the cluster will take effect for the above changes.

For more information on deleting and re-adding the cluster nodes, see Changing NSX Advanced Load Balancer Controller Cluster Configuration.