true end to end data integrity?

Status
Not open for further replies.

Dieter_be

Cadet
Joined
Mar 1, 2015
Messages
1
Hi,
I'm interested in http://www.ixsystems.com/storage/freenas/
I'm wondering how to ensure end to end data integrity, in NAS systems in general, and the freenas mini in particular (if there's other reasonably priced systems that are better at integrity, please tell me)

Here's some thoughts:

* ECC memory, what kind is it? simple parity check? or more advanced? it seems that if multiple bits flip, corruption could still pass through undetected
* let's ignore corruption on my client machine (laptop), and assume that the data it transmits on the network is correct.
when I do writes to the NAS (via sshfs, nfs, cifs), and the writes succeed, am i truly guaranteed that the data on disk is the same as what was on the wire?
As far as I understand there's a few opportunities of corruption, despite the ECC memory and zfs checksumming:
-> after the data is in the memory of the NIC (and tcp checksums get verified), data could corrupt on its way from the NIC memory into the ECC RAM. [*] or do the network filesystems do their own checksumming to protect against this?
-> zfs needs the data in the CPU to compute its checksums, so the data could corrupt after (successfully) reading it out of the ECC RAM , when transferring the data over the cirtuit lines on the motherboard or the cpu, before computing the checksums

[*] data could corrupt due to cosmic radiation, interference, and more see http http://en.wikipedia.org/wiki/Data_corruption#Silent_data_corruption , http://research.cs.wisc.edu/adsl/Publications/zfs-corruption-fast10.pdf , http://jforonda.blogspot.com/2007/01/faulty-fc-port-meets-zfs.html

I'ld like to make sure all these cases are covered, as I believe there's room for corruption even with zfs checksumming and ECC memory.

also is it truly required to get an UPS? I will turn on synchronous writes and if my power cuts I don't mind resending files that were "in transit". I just don't want corruption, of course.

thanks!
 

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
"ECC memory, what kind is it? simple parity check? or more advanced? it seems that if multiple bits flip, corruption could still pass through undetected" ECC RAM can detect and correct single bit errors and detect multibit errors (and in this case the system halts to stop the errors propagation). Also note that actually it's not the RAM that do this but the CPU, the RAM just store a 9 bits instead of 8.

"so the data could corrupt after (successfully) reading it out of the ECC RAM , when transferring the data over the cirtuit lines on the motherboard or the cpu, before computing the checksums" The signals in the CPU/MB are far stronger than the few electrons used in the RAM to store the bit state. I'm not 100% sure (lets say 99% sure) of that but cosmic radiation can't flip a bit in a wire, only in the RAM. If someone know, please correct me if I'm wrong.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Cosmic radiation could affect any part of the chain, including links. I doubt the links are nearly as likely, but it's possible. Doesn't matter, though, since every single bus (when using ECC) has error detection at the very least and ZFS' checksums will detect anything that gets through, in practice.
 

beeph

Dabbler
Joined
Jul 1, 2013
Messages
47
if cosmic radiation is such a big deal you can just put your computers in the basement in a solid concrete room, or use a thick computer case..
3 inches of soil, 2 inches of concrete, 1 inch of steel, will cut the radiation in half. Get some 45 lbs weightlifting plates and toss em on your server.. stack em 2 feet high if you are paranoid.. problem solved.
 

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
Ironically basements can fill with radon (radioactive gas) from the soil :D
 
Status
Not open for further replies.
Top