HDFS-alike in Go
github.com
github.com
Personally, I'd avoid any distributed storage systems without end-to-end checksums.
Another related mandatory feature is background scrubbing (periodically verify block checksums and discard corrupted replicas).
I started implementing checksums (on uploads and replicating) and found an error in my upload process, so it's already been useful. At some point I'll add it to the download part and start background scrubbing. The cluster already re-balances on-the-fly, so it'll just need a background routine to remove the files and update the node state.