vSAN Disk Balance

In this blog, I will let you know about the vSAN Disk Balance in the VMware vSAN cluster. Let’s understand about vSAN, VMware vSAN aggregates local or direct-attached data storage devices, to create a single storage pool shared across all hosts in a vSAN cluster. vSAN is very much similar to SAN storage with some special features. To know more about VMware vSAN visit the link here.

Each and every disk in an ESXi host has a total storage capacity and also the percentage of used space. Disk usage is calculated by (actual physical disk usage)/(physical disk capacity). vSAN cluster tries to balance the load between disks and gets a summary of average disk usage, maximum disk usage, average load variance, and maximum load. Let’s suppose for some of the disk’s load exceeds the threshold, it is unbalanced. This can be seen in the vSAN cluster health and services tab with detailed information.

Balance The Disk Use in the vSAN Cluster

vSAN will reactively load balance the cluster. But you can also trigger a proactive rebalance by clicking the Rebalance Disks button if it is available.
When you click the Rebalance Disks button, vSAN begins to execute the rebalancing process. If proactive rebalancing is in process, you can click the Stop Rebalance button to stop the rebalancing process. Let’s see the steps for the same.

  1. Navigate to the vSAN cluster in the vSphere Web Client.
  2. Click the Monitor tab and click vSAN.
  3. Click Health and Services.
  4. In the vSAN health service table, select Warning: Virtual SAN Disk Balance. You can review the disk balance of the hosts.
  5. Click the Rebalance Disks button to rebalance your cluster.

There are two types to perform a disk balance task depending on the vSAN versions.

  • Proactive Rebalance: This manually initiates a rebalance of the objects in a vSAN cluster through the vSAN Health plugin on the vSphere web client or through the RVC console. This is only supported in vSAN 6.7 U2  and older. 
  •  Automatic Rebalance: Manually triggering proactive rebalance is not required from vSAN 6.7 U3 later. You can automate all rebalancing activities with cluster-wide configuration and threshold settings.

We prefer the manual/proactive rebalance because it is related to I/O. It generates substantial I/O operation during the rebalance. This task is time consuming also impacting VMs performance. So normally we do it in out of business hours to avoid any operation impact on the virtual environment. When we performing a manual rebalance, this operation runs for 24 hrs and then stops automatically.

To know more about this refer to the KB article vSAN “Proactive rebalance” and “Automatic Rebalance”.

How To Check Disk Rebalance Status

Once you initiate the disk rebalance you can monitor the progress using below methods.

Using RVC

The RVC is the best tool to check vSAN rebalance status using few commands but in the new version, it has been deprecated. Although you may follow the below steps:

  1. Log into the Ruby vSphere Console (RVC).
  2. Change to the computer namespace.
  3. To Start the rebalance in vSAN use the below commands:
vsan.proactive_rebalance -s <vSAN-cluster-number>

4. To see how much data needs to be rebalanced, you need to run the below command on your vSAN cluster:

vsan.proactive_rebalance_info <vSAN-cluster-number>

Where vSAN-cluster-number is the order/number of vSAN clusters.

FAQ on vSAN Disk Balance

Q1. What is the vSAN disk balance threshold?

The vSAN disk balance threshold is 80% use on a disk.

Q2. Why vSAN disk balance is not working?

The task stops automatically after 24 hours you have initiated it. You can check the status using RVC. Alternatively, you can restart the vpxd and health service on all the hosts in the cluster using below command:

/etc/init.d/vmware-vsan-health restart

Q3. What is vSAN automatic rebalance?

vSAN 6.7 U3 or later versions have features to enable vSAN automatic rebalance at the cluster level. It will automatically rebalance the cluster whenever required.

Q4. What is the vSAN automatic rebalance best practices?

Keep the “Rebalancing Threshold %” entry to the default value of 30. Decreasing this value could increase the amount of resynchronization traffic and cause unnecessary rebalancing for no functional benefit.

Visit the article Should Automatic Rebalancing be Enabled in a vSAN Cluster? to know more on it.

Q5. Which command to use to check vSAN health?

esxcli vsan health cluster list


Leave a Comment