Re: RAID journal, requirements?

From
Shaohua Li <shli@kernel.org>
Date
2016-02-04 01:25:05
Reply to
Linus Lüssing, 2016-01-27
On Wed, Jan 27, 2016 at 01:15:20AM +0100, Linus Lüssing wrote:
Hi,

I am very excited about the new journaling feature for RAID in md
and want to try it out soon.

Neil's article on LWN already gave a great overview and some hints
about it, but I am still a little unsure about the technical
requirements for the journal device. E.g. speed, reliability and
size-wise. And what the implications of failing them means.

I want to setup a small home NAS. My personal priorities are:
Firstly, low power-per-GB as it will be solar powered and battery
backed. Second priority is reliability. Performance is not that
important to me.

My current plan: Tiny ARM-based computer (Odroid C1+: 4x USB (2.0,
unfortunately) ports), 4x 2TB SATA HDDs (@0.7W idle, 1.7W max. each)
+ SATA-to-USB -> RAID5, microSD for OS + applications, an eMMC for
a RAID journal. (later, once they hopefully get available in April,
switch to the Turris Omnia which is ARM-based again but has
mini-PCIe, too, where I would attach mini-PCIe-to-SATA adapters)

Is it a stupid idea to use an eMMC for the journal in the first
place? I am unsure how quickly it would wear out. And seems like I
do not have SMART for it either... So it would probably fail badly
at some point. Is that an issue, can I simply replace the eMMC
then without any data loss? Will the current code at least try a
write-through directly to the HDDs once a journal disk throws
errors?

Does MD assume that an underlying device performs some sort of wear
leveling if necessary like SSDs do for instance - or does MD
itself distribute writes evenly over the journaling disk?
(Does anyone know whether eMMCs usually do some kind of wear leveling?)


Thanks for all your work on this awesome new feature! (and special
thanks to Neil for all the years of maintenance - it is a pitty you
have to step down :( )
The only requirement of journal is it has a block interface. But all write IO
write to journal first, so there could be a lot of write to journal depending
on your workload. I don't know about eMMC much, but suppose it doesn't have
good wear leveling support.

If journal is broken, your data isn't lost, as data is still stored in raid
disks. Our current policy is the array becomes read-only if journal is borken,
this might be changed if necessary though.

Thanks,
Shaohua
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Thread (2 messages) 2 messages, 2 authors, last reply 2016-02-04
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help