Similiar to the vCenter Server Appliance (VCSA) 6.0 release, the new VCSA 6.5 is also composed of multiple virtual machine disks (VMDKs). Each VMDK maps to a specific function and OS partition within the VCSA. There are now a total of 12 VMDKs, two of which are new in vSphere 6.5: vSphere Update Manager (VUM) and Image Builder. The following table provides a break down of the VMDKs in VCSA 6.5 compared to VCSA 6.0:

Disk 6.0 Size 6.5 Size Purpose Mount Point
VMDK1 12GB 12GB / and Boot  / and Boot
VMDK2 1.2GB 1.8GB VCSA's RPM packages N/A as it is not mounted after install
VMDK3 25GB 25GB Swap SWAP
VMDK4 25GB 25GB Core  /storage/core
VMDK5 10GB 10GB Log  /storage/log
VMDK6 10GB 10GB DB  /storage/db
VMDK7 5GB 15GB DBLog  /storage/dblog
VMDK8 10GB 10GB SEAT (Stats Events and Tasks)  /storage/seat
VMDK9 1GB 1GB Net Dumper  /storage/netdump
VMDK10 10GB 10GB Auto Deploy  /storage/autodeploy
VMDK11 N/A (Previously InvSrvc 5GB) 10GB Image Builder /storage/imagebuilder
VMDK12 N/A 100GB Update Manager  /storage/updatemgr

In addition to the VMDK/partition changes, there are a couple of enhancements when needing to increase disk capacity in the VCSA. Just like in VCSA 6.0, you will still be able to hot-extend any one of the VMDKs while the system is still running.

  • The first change is that instead of the old vpxd_servicecfg command which is used expand the logical volume(s) making the new storage capacity available the OS/application, it has been replaced with the following command: /usr/lib/applmgmt/support/scripts/autogrow.sh 
  • The second change is that instead of having to perform the above command using only SSH which may be disabled by default. There is now a new Virtual Appliance Management Interface (VAMI) REST API that can be called remotely: POST /appliance/system/storage/resize
  • The final difference is that in previous releases, you could only resize the Embedded VCSA or External VCSA node, but not the Platform Services Controller (PSC) node. In 6.5, this has changed and you can apply this method on any one of the VCSA nodes. Thanks to Blair for reminding me on this one!

Lets walk through an example of increasing the Net Dumper partition (VMDK9) and exercising this new VAMI API.

Step 1 - Login to VCSA using SSH to run a quick "df -h" to check the current size of your Net Dumper partition which by default will be 1GB as seen in the screenshot below.

increase-disk-capacity-vcsa-6-5-0
Step 2 - Next, we will increase the VMDK to 5GB. In this example, I am using the vSphere Web Client but if you wanted to completely automate this process end-to-end, you can use the vSphere API/PowerCLI to perform this operation.

increase-disk-capacity-vcsa-6-5-1
Step 3 - To quickly try out the new VAMI API, we will use the new vSphere API Explorer that is included in the VSCA 6.5. Simply open a web browser and enter the following URL: https://[VCSA-HOSTNAME]/apiexplorer Select the "appliance" API and then click on the login button and enter your vCenter Server credentials.

increase-disk-capacity-vcsa-6-5-2
Step 4 - Scroll down to the POST /appliance/system/storage/resize operation and expand it. To call this API, just click on the "Try it out" button. If the operation completely successfully, you should see a  200 response as shown in the screenshot below.

increase-disk-capacity-vcsa-6-5-3
Step 3 and 4 can also be called directly through PowerCLI using the new CIS cmdlets (Connect-CisServer & Get-CisService) which exposes the new VAMI APIs. Below is a quick snippet that performs the exact same operation:

Connect-CisServer -Server 192.168.1.150 -User administrator@vghetto.local -Password VMware1!
$diskResize = Get-CisService -Name 'com.vmware.appliance.system.storage'
$diskResize.resize()

Step 5 - Lastly, we can now log back into the VCSA and re-run the "df -h" command to verify we can see the new storage capacity.

increase-disk-capacity-vcsa-6-5-4

8 thoughts on “Updates to VMDK partitions & disk resizing in VCSA 6.5

  1. I’m looking to extent the partitiion size of “VMDK5 10GB 10GB Log /storage/log ” as we are keep growing the logs?

  2. I’m seeing lots of this in /var/log/vmware/applmgmt/StatsMonitor.log (on vCSA 6.5.0.12000 Build Number 7119157)

    2017-12-19T10:53:45.451+01:00 error StatsMonitor[7FD04F4AA700] [[email protected] sub=LinuxStorageStatsProvider(200148195552)] statvfs(/storage/invsvc) failed with errno 2

    Seems there is a check on a directory that is not there anymore. I see in your blog it used to be “VMDK11 and N/A (Previously InvSrvc 5GB)” but now is used for ImageBuilder (/storage/imagebuilder)

    So is this maybe a bug in the StatsMonitor that it still tries to check it? Should I just create an empty folder?

    • I dug a bit deeper, and found the config file for StatsMonitor (/etc/vmware/statsmonitor/statsMonitor.xml) and it contains config for /storage/invsvc


      invsvc
      /storage/invsvc

      Maybe this should have been removed from the vCSA65?

      According to the 6.5U1 release notes it seems some alerts, like for invsvc, should have been removed..

      :

      Alarm definitions for deprecated services are still visible in the user interface

      Alarm definitions for certain deprecated services have not been updated. As a result, you can still see alarm definitions for deprecated services in the vSphere user interface.

      This issue is resolved in this release.
      Alarms have been deprecated for the following services: ts, vws, vmware-syslog, invsvc
      Alarms have been updated for the following services: content-library, vpxd-svcs

      So would anyone recommend I create this directory or should I update the configuration?

  3. Good morning Willian,

    We want to update when we update 1 on 6.5 but we have detected a full file system, / storage / log. When calling the API I get the error: Answer 403. From what I have seen is because of permissions problems.

    I have also done it through powershell and the same thing:

    Unable to authorize the user (server error ID:
    ‘vapi.security.authorization.invalid’). Check $ Error [0] .Exception.ServerError for more details.

    He did the tests with root and administrator.

    That could be happening?

    I wait for your help.

    Thank you.

  4. Similar to some of the other comments here. TRY IT OUT did not work. It would be helpful to see what steps are required to get this functionality working, particularly because I was expecting the APIExplorer option to provide the code to execute but I noticed it is different. I received a 401 error on execution.
    Thanks for the PowerCli code which worked a teat. I did receive a popup message “Object reference not set to an instance of an object”. Checking before and after changes, it did work though and I am now looking into 1) How to gt the try it out option working and 2) Why the popup notification. If anyone has any ideas, please let me know.

    I see a lot of potential with APIExplorer, if I can get it working.

    • API Explorer worked after all (doh!). It must have timed out and I simply logged in again and ran it!

      William, pls remover my post.

      As usual. Excellent post from William.

Thanks for the comment!

This site uses Akismet to reduce spam. Learn how your comment data is processed.