StorPool protects data by keeping number of copies (1, 2 or 3) in different servers or racks. The default is 3N. This means that for example in a 5-node cluster any 2 nodes can be lost without impacting availability.
In larger StorPool clusters (e.g. 12 nodes in 3 chassis), StorPool can be configured to store replicas (copies) in different racks or different chassis, tolerating entire chassis or rack failure.
Fault Sets: By default StorPool uses a placement policy that distributes user’s data on as many physical drives and servers as possible in order to increase performance and minimize the impact in case of a node failure. When some storage nodes are interrelated and there is a higher chance to fail simultaneously, the placement policy can be tuned by defining "Fault Sets" - a set of nodes that have a higher probability to fail simultaneously. When fault sets are defined, StorPool will place data on different Fault Sets - in other words there is only one copy of the data in a particular Fault Set. By leveraging Fault Sets a storage cluster can be arranged for example in racks, where each rack represents a separate Fault Set. If an entire rack fails, the placement policy will guarantee there are at least two available copies of the data that reside on the remaining racks.
StorPool, StorPool [SDS]/19.01, x86
Block Failure Protection, Reads/Writes, Data Availability