Re: layering question.

Kai Krakow
2015-08-06T23:22:11Z

Hi!

A. James Lewis <james@fsck.co.uk> schrieb:

> The problem is tho... with a very large backing store, I'm not really
> happy with a single point of failure in the cache... is there another
> way to mirror the cache device?

Well, AFAIR there are plans to add such capabilities into bcache itself -
read: make it possible to add more than one caching device to a cache set.
It will use some sort of hybrid mirror / striping to get the best
combination of speed and safety - at least that's what the idea is about. I
just don't remember where I've read about it, neither do I know the status
of it.

If you want to eliminate the single point of failure, you may want to try
mdadm with its write-mostly option instead of using bcache. It's slower for
writes obviously but gracefully falls back if the SSD fails. Obviously, you
can also not benefit from having a huge storage because it's classic RAID-1
and thus the smallest member will limit your storage size.

Bcache also has countermeasures for a failing caching device but I didn't
really look into that yet. You should read the documentation about it in
Documentation/bcache.txt (Error Handling). The safest mode to use here is
writethrough.

> On 06/08/15 00:10, Kai Krakow wrote:
>> Jens-U. Mozdzen <jmozdzen@nde.ag> schrieb:
>>
>>> Zitat von Kai Krakow <hurikhan77@gmail.com>:
>>>> A. James Lewis <james@fsck.co.uk> schrieb:
>>>>
>>>>> I've heard rumours that layering bcache with other block device
>>>>> drivers might not be recommended... I wonder what the truth really
>>>>> is... perhaps someone can advise.
>>>> I think this is not just rumours. Multiple people reported problems
>>>> when layering caching or backing devices on top of MD devices. This may
>>>> be an implementation problem in MD which is gone in later kernel
>>>> versions [...]
>>> being rather new to bcache, I did only browse the last few months of
>>> mailing list history - are you saying that these problems were fixed
>>> (or simply vanished) some point after 3.18.8? Because if so, I'd of
>>> course try to upgrade our servers to a more recent kernel :)
>> Latest posts imply it is still a problem. It fits with earlier reports:
>> Caching on native device, backing on md device... Bcache breaks within
>> the caching device (although this is not on md). There seem to still be
>> bugs with bcache and md to properly interact.
>>
>> It was suspected that bcache uses a faulty discard implementation. Some
>> reports miss details about this setting. However, my setups are working
>> fine with discards fully enabled on SSD - but without using MD. And it
>> has been robust to accidental or implied reboots since all time I'm using
>> it (even with btrfs as the filesystem on bcache).
>>
>> So I'd probably remove MD from your plans on using bcache.
>>
>> BTW: My system uses vanilla gentoo kernel, 4.1.4 currently.
>>
--
Replies to list only preferred.