Wednesday, July 30, 2025

vSAN ESA RAID5 issue

I'm observing unexpected behavior in my vSAN ESA cluster. I have a 6-node vSAN ESA cluster and a VM with a Storage Policy configured for RAID-5 (Erasure Coding). Based on the cluster size, I would expect a 4+1 stripe configuration. However, the system is using 2+1 striping, which typically applies to clusters with only 3 to 5 nodes.

Friday, July 25, 2025

vSAN ESA RAIDs

vSAN ESA is VMware’s software-defined storage solution. Each virtual hard disk (vDisk) is represented as an object within the vSAN datastore. The properties of these vSAN objects are governed by vSAN VM Storage Policies, which define data placement and protection rules. While these policies may emulate traditional RAID (Redundant Array of Independent Disks), vSAN actually implements RAIN (Redundant Array of Independent Nodes). This is because data components, such as stripes and replicas, are distributed across failure domains, which by default correspond to vSphere/vSAN cluster nodes (ESXi hosts). The specific striping and distribution are determined by the configured failures-to-tolerate policy and vSAN cluster size.

vSAN ESA supports multiple levels of RAID/RAIN (Redundant Array of Independent Nodes) for data protection:

  • RAIN-0: No redundancy (data is not protected)

  • RAIN-1: Mirroring (1+1) across two nodes

  • RAIN-5: Erasure coding with a 2+1 or 4+1 configuration (minimum 4 or 6 hosts)

  • RAIN-6: Erasure coding with higher fault tolerance, typically 4+2, but can also be 6+2 or 8+2 depending on cluster size

These options allow you to balance storage efficiency, performance, and fault tolerance based on your specific workload and cluster topology.

Tuesday, July 15, 2025

How do I check the build or version number of VMware ESX?

The ESX build (version number) information is available in the Summary tab of the vSphere Client, but in larger environments it is worth to use some kind of automation. PowerShell/PowerCLI is well know scripting tool for VMware vSphere.

Below is PowerCLI one-liner to easily query all vCenters where you are connected ...

Get-VMhost | Select-Object Name,Version,Build 

If you want connect to vCenter(s) interactively, you can use following script ...

# Connect to vCenter
Write-Host "Connecting to vCenter ..."
$VC = Read-Host "Enter one vCentre Server or multiple vCenter servers delimted by comma."
Write-Host "Enter vCenter credentials ..."
$CRED = Get-Credential
Connect-VIServer -Server $VC -Credential $CRED -ErrorAction Stop | Out-Null


Thursday, July 03, 2025

VMwareOpsGuide.com has been retired

I'm an architect and designer, not involved in day-to-day operations, but I firmly believe that any system architecture must be thoughtfully designed for efficient operations, otherwise the Ops team will go mad in no time.

Over the years, I’ve been learning a lot from the book VMware Operations Management by  Iwan E1 Rahabok, which covers everything related to vROps, Aria Operations, and now VCF Operations.