VMware Communities
TheAllanStark
Contributor
Contributor

VMWare Workstation and MS Storage Spaces Direct

Hello

I have VMWare Workstation 15 Pro (15.5.5) and tried to install MS hyper converged cluster with S2D (Storage Spaces Direct) in my home test environment.

But I got a problem with virtual disks serial numbers (not volume UUIDs).

PowerShell commandlet Enable-ClusterStorageSpacesDirect failed with error "The disk identifier is not unique. The hardware is not compatible with Storage Spaces Direct (S2D)".

And that was true because all virtual disks have same serial numbers in all virtual machines in Hyper-V cluster nodes.

Capture.PNG

I tried to use these articles:

https://kb.vmware.com/s/article/1010398

https://www.virtualtothecore.com/build-a-microsoft-storage-spaces-direct-cluster-using-vmware-virtua...

But without result. I also tried to use different types of virtual hard disks (SATA, SAS/SCSI, NVMe) and different disk controllers (LSI, PVSCSI etc).
I also tried to move the discs at different SCSI/SAS/SATA/Bus points, as part of one machine they are different but the same on other nodes.

Standard utility vmware-vdiskmanager.exe can't insert any unique serial numbers in .vmdk files.

So any ideas how to solve this problem?
I also use Hyper-V role in my home PC and had no problem with S2D, but my primary test environment is in VMWare Workstation.

It would be nice to find some solution to this rather simple problem.

Reply
0 Kudos
3 Replies
NareshPandav
Contributor
Contributor

Did you get this working?

Reply
0 Kudos
DJ1001
Contributor
Contributor

The only way I could get this to work was to use separate SATA controllers for each disk.  Other bus types would not work.  There would be collisions with the other host as well.  To resolve this I used the first device node on one server and the last node for the second host.  I did this for each of the four required disks on each host.  Also, I did not have to preallocate nor add anything to the vmx.  So basically; HOST1 disk0 node SATA0:0 | Host2, disk0, node SATA0:29 | and so one using the next controller available (SATA1:0).  I did experiment a bit, and using something like SATA3:10 also worked... but i didn't test any further considering how much time was already invested in the lab. Hope this helps someone someday.

kav205
Contributor
Contributor

This solution work fine! Thanks!!!

Reply
0 Kudos