More reliable than storage RAID
Redundancy is provided by multiple copies (replicas) of the data written synchronously across the cluster. Users set the number of replication copies. We recommend 3 copies as a standard and 2 copies for data that is less critical.
StorPool always distributes copies of a given data block to drives in different servers (or even in different racks). If a drive, server or even half of the cluster fails – the data is still available. It is much more reliable and efficient than storage RAID or traditional storage data protection scheme.
StorPool is a fully distributed system which protect against a variety of hardware and software-stack failures. End-to-end data integrity protects against phantom writes, misplaced writes, wrong data being returned by the underlying hardware and also protects against the majority of bugs. Parallelization give you quick recovery of data in the event of hardware failure.
End-to-end data integrity
StorPool provides end-to-end data integrity. From the moment you give us data to store, we calculate a checksum and we store it with the data. This is better protection than systems which don’t have a data integrity mechanism (e.g. storage RAID), and also better than systems which only have a local data integrity mechanism (e.g. Ceph on btrfs).
Data errors such as silent data corruption, phantom/partial/misplaced writes are all common for any current storage system, handling many terabytes of data. Our built in end-to-end data integrity ensures no such errors occur.
No single points of failure
StorPool is highly available again due to its distributed architecture and no single points of failure. Instead of trying to make a single component like a hard disk or an SSD super-reliable (and thus super-expensive) StorPool uses cheap standard components and make them inter-exchangeable. This concept is used by leading hyperscale companies. Now even the most expensive storage systems usually have double redundancy – meaning two power supplies, two network interfaces, etc. per box. However some of the most critical components – like the motherboard or the backplane are a single component. StorPool takes this to the next level – we do not do redundancy on the component level, rather we can tolerate entire servers or racks to fail, without disruption of the storage service.