If space is a constraint for your VMware Homelab, you may want to consider using SSDs that can support multiple NVMe Namespaces. I first came to learn about NVMe namespaces and its benefits back in 2019 when it was first demonstrated by Micron and using it vSAN, which was also the primary use case I had in mind.
While interesting, I eventually concluded that support for multiple NVMe namespaces was only available in higher-end Enterprise SSDs, which is typically outside of the affordability range for most homelab environments. Another challenge that I found with SSDs that supported multiple NVMe namespaces, is that the interface uses a U.2 connector versus the popular M.2, which is what you would typically find in a homelab setup. This also limited the applicability of these SSDs as you would need a motherboard with a U.2 interface.
I recently had revisited the topic of NVMe namepaces as I came across the PM9A3 from Samsung, which not only supported multiple NVMe namespaces, but it was also reasonable priced ($143 for 960GB at the time of purchase). My ultimate goal was to see if I could use the 2.5" SSD in a small form factor system that only has an M.2 slot and slice up the NVMe namespace for ESXi installation + ESX-OSDATA, vSAN and even additional VMFS volumes.
After some research, I found that a U.2 to M.2 adapter actually exists and that gave me some hope that this just might work.
One thing that stood out to me during the research was that almost all of these cables for this configuration included a SATA power adapter. I was hoping that power and data could simply go over the M.2 slot but sadly I was wrong. I had even reached out to one of the vendors to confirm, which they actually stated it should work but ultimately, this was incorrect and I found that SSD could not be powered without a SATA interface. If you have a motherboard that does NOT have U.2 connector and you have M.2 along with a free SATA port, this could be a viable option.
Another potential alternative, which I ended up exploring just to confirm NVMe namespaces was functional was to use a PCIe to U.2 adapter.
The SSD immediately showed up and also confirmed my suspicion that M.2 to U.2 would not work without power from SATA port. Nonetheless, this was a good exercise as I had not seen many folks leveraging NVMe namespaces from a homelab perspective, probably due to availability and cost of these SSDs.
Before you can start using the NVMe namespaces with ESXi and vSAN, you will need to first create the desired number of NVMe namespaces and their corresponding capacities. The easiest way that I found to do this was to simply boot up an Ubuntu Live CD via USB, do not install the OS and switch to console. From here, you can install the nvme-cli package, which can then be used to manage the NVMe namespaces.
I also recommend checking out this reference, which was very helpful in navigating the nvme commands and figuring out the exact capacity of the NVMe device, identifying the controller ID which is needed to attach new NVMe namespaces and general workflow. Once you are happy with the NVMe Namespaces layout, you can then reboot and boot up the ESXi installer.
As you can see from the screenshot above, ESXi will see all the configured NVMe namespaces and you have complete flexibility on how you want to carve up that single SSD that can be useful for a VMware Homelab where space is a concern. I certainly wish I could have gotten this to work as I think this could have made my setup simpler but hopefully this information can help others who might want to consider using SSDs with multiple NVMe Namespaces and can meet its requirements.
Thanks for the comment!