The last time I set up vCenter HA in production was in a Essentials Plus scenario with a Dell Equallogic SAN. Each VM (not many) were set up as their own LUN to allow automated snapshots in the SAN itself.
I never realized that there was a 2 datastore requirement because there were about 8 datastores that each host consumed (shared among three hosts). I must have had the default (Automatically select datastores accessible from the host) selected when HA was enabled for the cluster. It did work fine though. If a host failed, the guests would automatically restart on another host.
I'm trying to wrap my head around clustered storage though as I haven't really used it before and I am in the process of setting up a second hyper-converged ESXi host using StarWind as a guest. I have read up on how to set up a cluster in StarWind for synchronous replication. Seems pretty straight forward and not many extra steps than setting up a traditional StarWind LUN. However, I'm still trying to figure out how each of the hosts should consume the datastores. Maybe I am getting caught up in a misunderstanding of terminology.
Currently I am running the following (with no HA in the home lab):
Code: Select all
=================== ===================
= Host A = = Host B =
= Datastore 1 = <---- = (no local DS) =
= (All guests) = = =
=================== ===================
What I was panning on doing in the next couple of weeks is to set up:
Code: Select all
=================== ===================
= Host A = = Host B =
= Datastore 1 = <----> = Datastore 2 =
= (All guests) = = (All guests) =
=================== ===================
Both datastores are replicas of each other
What I am seeing in various examples is:
Code: Select all
=================== =================== =================== ===================
= Host A = = Host B = = Host A = = Host B =
= Datastore 1 = <----> = Datastore 2 = = Datastore 3 = <----> = Datastore 4 =
= (Some guests) = = (Some guests) = = (More guests) = = (More guests) =
= (Running on A) = = (Not Running) = = (Not Running) = = (Running on B) =
=================== =================== =================== ===================
Datastores 1 & 2 are replicas of each other. Datastores 3 & 4 are replicas of each other.
Guests located in Datastore 1 & 2 would run normally on Host A unless failure.
Guests located in Datastore 3 & 4 would run normally on Host B unless failure.
I'm not quite understanding the later scenario because if Host A goes down - both Datastore 1 & 3 would be unavailable and HA would need to restart the guest on Host B using Datastore 2 or 4 (depending on which original datastore the VM was assigned to). This would be essentially the same in the previous scenario (only having Datastore 1 & 2, each on a separate host) - where if Host A went down, the guest would restart on Host B using the replica contained in Datastore 2.
Maybe I am missing something very obvious of why the later is used.