Bootstrapping VSAN without vCenter

I have completed a few greenfield Virtual SAN (VSAN) deployments now where we did not have any other storage to present to the hosts. This is a chicken and egg situation where you want to build vCenter to configure  VSAN, but you don’t have storage yet…hmmm, VMware have a great document (with errors) on this but I have tried to simplify the process as below. Its tested and works every time.

Note: Once vCenter is built you will want to migrate all the vmkernel ports over to a Virtual Distributed Switch and remove the Standard Switch from your hosts.

Do steps 1 -12 on the first VSAN host:

1. Create portgroup on vSS:
esxcli network vswitch standard portgroup add –portgroup-name=vsanpg –vswitch-name=vSwitch0

2. Add vmkernel port for VSAN traffic (vmk1):
esxcli network ip interface add –interface-name=vmk1 –portgroup-name=vsanpg

3. Set the IP address on vmk port (vmk1):
esxcli network ip interface ipv4 set –interface-name=vmk1 –ipv4=10.107.32.203 –netmask=255.255.252.0 –type=static

4. Set the VLAN ID on which VSAN Cluster nodes communicate:
esxcli network vswitch standard portgroup set -p vsanpg –vlan-id 1355

5. Enable VSAN traffic on the vmkernel port:
esxcli vsan network ipv4 add –interface-name=vmk1

6. Collect all available physical disks (including SSD disks) and note their device ids (**these are examples only):
Use this command to locate the info: esxcli storage core device list

From the above command I created this list of device IDs:
HDD: naa.5000c50088f5b863 naa.5000c50088f5f653 naa.5000c50088ead663 naa.5000c50088eaf23b naa.5000c50088f5f643 naa.5000c50088f5d303 naa.5000c50088eb0fff
SSD: naa.55cd2e404b7b2440

Note: If disks are NOT marked as LOCAL, then VSAN will not be able to claim them, you will need to add a new SATP rule and reclaim them, for example:
esxcli storage nmp satp rule add -s VMW_SATP_LOCAL -o “enable_local” -d naa.5000c50088f5b863
esxcli storage nmp satp rule add -s VMW_SATP_LOCAL -o “enable_local” -d naa.5000c50088f5f653
esxcli storage nmp satp rule add -s VMW_SATP_LOCAL -o “enable_local” -d naa.5000c50088ead663
esxcli storage nmp satp rule add -s VMW_SATP_LOCAL -o “enable_local” -d naa.5000c50088eaf23b
esxcli storage nmp satp rule add -s VMW_SATP_LOCAL -o “enable_local” -d naa.5000c50088f5f643
esxcli storage nmp satp rule add -s VMW_SATP_LOCAL -o “enable_local” -d naa.5000c50088f5d303
esxcli storage nmp satp rule add -s VMW_SATP_LOCAL -o “enable_local” -d naa.5000c50088eb0fff
esxcli storage nmp satp rule add -s VMW_SATP_LOCAL -o “enable_local” -d naa.55cd2e404b7b2440

esxcli storage core claiming reclaim -d naa.5000c50088f5b863
esxcli storage core claiming reclaim -d naa.5000c50088f5f653
esxcli storage core claiming reclaim -d naa.5000c50088ead663
esxcli storage core claiming reclaim -d naa.5000c50088eaf23b
esxcli storage core claiming reclaim -d naa.5000c50088f5f643
esxcli storage core claiming reclaim -d naa.5000c50088f5d303
esxcli storage core claiming reclaim -d naa.5000c50088eb0fff
esxcli storage core claiming reclaim -d naa.55cd2e404b7b2440

7. Create VSAN diskgroup with disks and SSD disks identified:
esxcli vsan storage add -d naa.5000c50088f5b863 -d naa.5000c50088f5f653 -d naa.5000c50088ead663 -d naa.5000c50088eaf23b -d naa.5000c50088f5f643 -d naa.5000c50088f5d303 -d naa.5000c50088eb0fff -s naa.55cd2e404b7b2440

8. Verify VSAN Disk group
esxcli vsan storage list

9. Generate a new UUID to use it for VSAN Cluster  **COPY THE RETURNED VALUE
esxcli system uuid get
In my case: 564e7a08-2b74-372e-0192-44a842234f25

10. Join/Create VSAN Cluster using the UUID generated above:
esxcli vsan cluster join -u 564e7a08-2b74-372e-0192-44a842234f25

11. Verify VSAN Cluster started on the host:
esxcli vsan cluster get

12. Verify that vsanDatastore is created  **Is read-only until other hosts joined
ls /vmfs/volumes/vsanDatastore

Now move onto your next host and repeat steps 1-8, then do step 13/14/15 below:

13. Join VSAN Cluster created on first host using the UUID generated in STEP 9
esxcli vsan cluster join -u 564e7a08-2b74-372e-0192-44a842234f25

14. Verify host joined VSAN Cluster
esxcli vsan cluster get
Check this is correct: Sub-Cluster Master UUID: This should be the UUID you recorded at step 9

16. Verify that vsanDatastore is created  **Is read-only until other hosts joined.
ls /vmfs/volumes/vsanDatastore

For every other VSAN host, repeat steps 1-8, then do step 13/14/15.

Now you have all your hosts VSAN enabled and have writable storage. You can now build your vCenter in this storage. Once vCenter is built and functioning via the Web Client you need to enable the vmKernel port on each host for VSAN (tick the box) and on the cluster enable VSAN (again, tick the box).

https://www.vmware.com/products/virtual-san

 

 

  1. Thanks so much for your posting. It is much better than VMware’s official “TechNote: Bootstrapping VSAN without vCenter.pdf ” which is full of errors.

    Like

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: