>
> Understanding that Torus is still quite new, and also understanding that
>> comparing a filesystem to distributed block storage is quite different, I'm
>> trying to determine if Torus' consistency checking is similar to ZFS'
>> consistency checking and at what times that consistency is checked.  From
>> the early docs, I believe I read that Torus does a CRC check at write time,
>> which will ensure the data is written correctly to all storage nodes.
>> Similar with ZFS.  When reading, ZFS will check the data it's reading and,
>> even better, if you have RAID1/Z, it will transparently give you the
>> "correct" block and then auto-repair the "incorrect" one.  Does or will
>> Torus do something similar?
>>
>
Yep, it checks (and saves) CRC at write time, and checks it again at read
time. Right now, when CRC check fails, the block fails, but it needn't end
there. Xiang's https://github.com/coreos/torus/pull/227 expands the
interface in question to transparently repair the correct one, by any of
the usual error correction schemes.


>> The context is obviously to provide not only high availability but also
>> high reliability.  It occurred to me that you could always create two
>> volumes and run ZFS on them, but assuming redundancy at the Torus level was
>> 2, you'd have 4 copies of the same data.  I suppose you could run two Torus
>> networks on separate hardware with redundancy at 1 and run ZFS across them.
>>
>
You could, but your intuition on how that would play out is exactly correct
:)

Reply via email to