Checksums

For increased protection of stored data, BlueStore calculates and stores the checksums of any data written. On each read request, BlueStore reads the checksum and compares with the data read from the device. If a mismatch is discovered, BlueStore will report a read error and repair the damage. Ceph will then retry the read from another OSD holding that object. Although modern hardware has sophisticated checksums and error detection of its own, introducing another level in BlueStore goes a long way to eliminating the risk of silent data corruption. By default, BlueStore creates checksums using crc32, which is highly likely to catch any silent data corruption; however, alternative algorithms are available, if required.