The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

MogileFS::Checksum - Checksums handling for MogileFS

ABOUT

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.

ALGORITHMS

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 mogile@googlegroups.com.