I got a question from a fellow VCI asking me why a vSAN policy with FTT=1 and SW=2 doesn't need any witnesses and why a policy with FTT=2 and SW=1 needs two witnesses. He was also confused by the number of votes the components got.

There's a simple answer for this, please keep in mind that components are not able to get a majority of votes if you lose more than one host. So, in case of FTT=2 and losing two hosts, one single surviving component would only get 33% of the votes, without any witnesses but if we tie two extra witnesses the surviving component, we would get 20+20+20=60% which is a majority. The total number of votes is 5, 3 from the components and 2 from the witnesses allowing us to lose two components and still get a majority.

Why don't we need a witness when the stripe width (SW) is configured with a value of 2? If you have a host failure with FT=1 and SW=2, the remaining stripe component of the crippled RAID_0 team is still able to contribute to the votes in order to get a majority.

The number of votes depends on the number and location of the components, I don't know the exact formula but if multiple components are sharing the same ESXi host, the sum of these votes is equal to the number of votes of a single component on a single host. A component will get an extra tiebreaker vote if the total number of votes is even.

In the first screen shot you can see that all the components are located on different hosts that's why we have 2+1+1+1=5. In the second screenshot two components are sharing esx07 so the minimum number of votes for a component on a single host is the sum of the components of the shared host which is two. 2+2+1+1=6 so one components gets 3 votes to make the total number uneven, 3+2+1+1=7.

I've also posted a video explaing the components and diffrent policies in more detail: VMware vSAN 6.6 Witnesses, Components and Votes