Is there a concept of fault domains also available in stretched cluster configurations?
i other words can I have fault domains configured in conjuction with PFTT and SFTT especially to tell VSAN to store VM components in separate fault domains?
Yes, in stretched clusters there are 3 Fault Domains. The Witness Host constitutes one fault domain, and each group of hosts in each physical location of the stretched cluster form the other 2 fault domains.
It is for stretched clusters, in fact, that this concept of Primary and secondary fault domains was devised.
So typically, a VM object would be recreated within a cluster half (i.e. one physical location) to ensure data locality is honoured where possible.
Stretched-clusters are designed around the concept of Fault Domains (FDs), these are the only vSAN clusters in which these must be configured.
vSAN will by-design place data-components distributed across Fault Domains - e.g. Assuming 3 FDs configured, an FTT=1 vSAN Object with 3 components (2 data, 1 witness) will place 1 data component on each data-site and the witness component on the Witness Appliance.
vSAN 6.6 has the capability to choose site-affinity for Object creation when using FTT=0 Objects and Local Protection (PFTT/SFTT):
More resources about FDs and stretched clusters:
assuming I set PFTT=1 (cross site mirror) and SFTT=1(in site mirror), my question is can I specify additional fault granularity per site basis? for example I have 4 nodes per site, 2 and 2 are located in separate racks, how can I know that VSAN will not place the data into 2 nodes in the same rack? I understand that It does not have impact on overall VM availability.