[dm-devel] Re: Massive corruption on RAID0

Mike Snitzer snitzer at gmail.com
Tue Jun 30 18:28:09 UTC 2009


2009/6/30 Eric Sandeen <sandeen at redhat.com>:
> Greg Freemyer wrote:
>> 2009/6/30 Eric Sandeen <sandeen at redhat.com>:
>>> Krzysztof Kosiński wrote:
>> <snip>
>>>>>> By the way, is there some way to have RAID0-like functionality with
>>>> write barriers?
>>> Mirrors can pass barriers, IIRC, but not stripes (IIRC...) - I don't
>>> know if any work is being done to address this.
>>>
>> I'm pretty sure mdraid is not attempting to address it.
>>
>> The issue is that barriers with a single drive can simply be sent to
>> the drive for it to do the heavy lifting.
>>
>> With raid-0, it is much more difficult.
>>
>> ie. you send a barrier to 2 different drives.  One drive takes 30
>> milliseconds to flush the pre-barrier queue to disk and then continues
>> working on the post barrier data .  The other drive takes 500
>> milliseconds to do the same.  The end result is out of sync barriers.
>> Not at all what the filesystem expects.
>>
>> The only reliable solution is to disable write caching on the drives.
>> Of course you don't need barriers then.
>
> Agreed this is the best solution at least for now.  But, the dm folks
> are apparently working on some sort of barrier solution for stripes, I
> think.  I don't know the details, perhaps I should.... :)

Yes, DM's stripe target has full barrier support in the latest
2.6.31-rc1.  You can create a striped LV using:
lvcreate --stripes STRIPES --stripsesize STRIPESIZE ...

It should be noted that 2.6.31-rc1 had a small bug that causes
"misaligned" warnings to appear when activating DM devices.  These
warnings can be ignored and obviously have nothing to do with barriers
(they are related to DM's new support for the topology
infrastructure).  That warnings bug has been fixed and will likely be
pulled in for 2.6.31-rc2.

Mike

Mike




More information about the dm-devel mailing list