VMware Cloud Community
rleon_vm
Enthusiast
Enthusiast
Jump to solution

VSAN stripe component placement algorithm

Hi all,

I'm trying to find out how VSAN decide where to place stripe-components.
So far I could only find documentations and blogs about how VSAN striping work, I could not find any info about how VSAN decides where to place each stripe-component in the first place.

My main concern is the following:

Let's say we have a 3 host VSAN cluster: H1+H2+H3

A VM has a single VMDK.

FTT=1, FTM=2 (I.e., 2x2 stripe-components = 4 components, suppose we ignore other non-VMDK components for now).

As a result, we may have scenario 1:

Witness at H3

Raid1

  • Raid0
    • Component at H1
    • Component at H2
  • Raid0
    • Component at H1
    • Component at H2

The problem with the above scenario 1 is that if H1 is down, then both Raid0 would be down, meaning that the Raid1 is also defeated.

However, if we have scenario 2, where:

Witness at H3

Raid1

  • Raid0
    • Component at H1
    • Component at H1
  • Raid0
    • Component at H2
    • Component at H2

Then, even if H1 is down, H2 would still have all of the remaining Raid0's components, meaning that the Raid1, and therefore the VMDK would still be accessible.

My questions are:

  1. Would scenario 1 ever happen? And if so, how could we prevent it?
  2. Are there any documentations anywhere that explains the VSAN algorithm on how it decides which host to place each stripe component?

Thanks for you input.

0 Kudos
1 Solution

Accepted Solutions
TheBobkin
Champion
Champion
Jump to solution

Hello rleon_vm,

Welcome to Communities.

It would never place it like that as it would not be compliant with the rules of its SP (Storage Policy) - If you tried to apply an SP with say FTT=2 in a 3-node cluster it will fail as there are insufficient Fault Domains.

When Fault Domains are not configured, for the purpose of component placement, each node is by default considered a Fault Domain - this determines what can be placed and where.

The only occasion that components will be placed and violate their SP is for availability purposes as this takes precedent over Striping (e.g. if you had a SW=2 Object and a disk died, it would rebuild the sub-component on the other disk on that node where the other sub-component resides.

More info about that type of scenario here:

https://communities.vmware.com/thread/583520

If you want to take a better look at how this functions in the wild and get more experience with it then I strongly advise spinning up some disposable labs in HOL and/or following the guides accompanying these:

http://labs.hol.vmware.com

By the way, you said "FTM=2", I think you meant SW=2 (Stripe-Width), FTM stands for Fault Tolerance Method, e.g. RAID1 or RAID5/6.

Bob

View solution in original post

0 Kudos
2 Replies
TheBobkin
Champion
Champion
Jump to solution

Hello rleon_vm,

Welcome to Communities.

It would never place it like that as it would not be compliant with the rules of its SP (Storage Policy) - If you tried to apply an SP with say FTT=2 in a 3-node cluster it will fail as there are insufficient Fault Domains.

When Fault Domains are not configured, for the purpose of component placement, each node is by default considered a Fault Domain - this determines what can be placed and where.

The only occasion that components will be placed and violate their SP is for availability purposes as this takes precedent over Striping (e.g. if you had a SW=2 Object and a disk died, it would rebuild the sub-component on the other disk on that node where the other sub-component resides.

More info about that type of scenario here:

https://communities.vmware.com/thread/583520

If you want to take a better look at how this functions in the wild and get more experience with it then I strongly advise spinning up some disposable labs in HOL and/or following the guides accompanying these:

http://labs.hol.vmware.com

By the way, you said "FTM=2", I think you meant SW=2 (Stripe-Width), FTM stands for Fault Tolerance Method, e.g. RAID1 or RAID5/6.

Bob

0 Kudos
rleon_vm
Enthusiast
Enthusiast
Jump to solution

Thanks for clearing that up.

Yes, I do mean SW=2 and not FTM.

0 Kudos