MogileFS::Checksum - Checksums handling for MogileFS
MogileFS supports optional MD5 checksums. Checksums can be stored in the database on a per-class basis or they can be enabled globally during fsck-only.
Enabling checksums will greatly increase the time and I/O required for fsck as all files on all devices to be checksummed need to be reread.
Fsck and replication will use significantly more network bandwidth if the mogstored is not used or if mogstored_stream_port is not configured correctly. Using Perlbal to 1.80 or later for HTTP will also speed up checksum verification during replication using the Content-MD5 HTTP header.
While we can easily enable some or all of the SHA family of hash algorithms, they all perform worse than MD5. Checksums are intended to detect unintentional corruption due to hardware/software errors, not malicious data replacement. Since MogileFS does not implement any security/authorization on its own to protect against malicious use, the use of checksums in MogileFS to protect against malicious data replacement is misguided.
If you have a use case which requires a stronger hash algorithm, please speak up on the mailing list at email@example.com.