Re: RAID1 sometimes have different data on the slave devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 14 2018, Jinpu Wang wrote:

> NeilBrown <neilb@xxxxxxxx> 于2018年8月14日周二 上午1:31写道:
>>
>> On Mon, Aug 13 2018, David C. Rankin wrote:
>>
>> > On 08/11/2018 02:06 AM, NeilBrown wrote:
>> >> It might be expected behaviour with async direct IO.
>> >> Two threads writing with O_DIRECT io to the same address could result in
>> >> different data on the two devices.  This doesn't seem to me to be a
>> >> credible use-case though.  Why would you ever want to do that in
>> >> practice?
>> >>
>> >> NeilBrown
>> >
>> >   My only thought is while the credible case may be weak, if it is something
>> > that can be protected against with a few conditionals to prevent the different
>> > data on the slaves diverging -- then it's worth a couple of conditions to
>> > prevent the nut that know just enough about dd from confusing things....
>>
>> Yes, it can be protected against - the code is already written.
>> If you have a 2-drive raid1 and want it to be safe against this attack,
>> simply:
>>
>>   mdadm /dev/md127 --grow --level=raid5
>>
>> This will add the required synchronization between writes so that
>> multiple writes to the one block are linearized.  There will be a
>> performance impact.
>>
>> NeilBrown
> Thanks for your comments, Neil.
> Convert to raid5 with 2 drives will not only  cause perrormance drop,
> will also disable the redundancy.
> It's clearly a no go.

I don't understand why you think it would disable the redundancy, there
are still two copies of every block.  Both RAID1 and RAID5 can survive a
single device failure.

I agree about performance and don't expect this would be a useful thing
to do; it just seemed the simplest way to explain the cost that would be
involved in resisting this attack.

NeilBrown

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux