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. Thanks, Jack