Linux Btrfs filesystem development
 help / color / mirror / Atom feed
From: "Piotr Pawłow" <pp@siedziba.pl>
To: Neuer User <auslands-kv@gmx.de>, linux-btrfs@vger.kernel.org
Subject: Re: btrfs und lvm-cache?
Date: Thu, 24 Dec 2015 17:42:19 +0100	[thread overview]
Message-ID: <567C206B.70705@siedziba.pl> (raw)
In-Reply-To: <n5h30b$8vd$1@ger.gmane.org>

W dniu 24.12.2015 o 16:29, Neuer User pisze:
> Am 24.12.2015 um 15:56 schrieb Piotr Pawłow:
>> Hello,
>>> - both hdd and ssd in one LVM VG
>>> - one LV on each hdd, containing a btrfs filesystem
>>> - both btrfs LV configured as RAID1
>>> - the single SDD used as a LVM cache device for both HDD LVs to speed up
>>> random access, where possible
>> I have a setup like this for my /home. It works but it's a crappy solution.
>>
> Indeed? Exactly like this? Great to hear. But sad to hear it is not a
> good solution.

Exactly. Single SSD caching 2 LVs used for btrfs RAID1. Don't get me 
wrong, it's still a lot better than without caching, but not optimal. An 
optimal solution would have to be integrated with the FS like in ZFS.

>> The effective capacity for caching is halved, and it takes twice as much
>> time to fully cache your working set, because you get a cache miss at
>> least once for each mirror.
>>
>> There are also some gotchas:
>>
>> - you should use "device=" mount options, or else there is a danger of
>> btrfs mounting origin devices and even mixing cached and origin in one
>> FS. I completely broke my FS before realizing what's going on.
> Hmm, strange. I thought btrfs should not even know of the lvmcache. It
> would just try to mount the HDD LVs and the caching is done
> automatically via lvmcache?

Unfortunately, at least on my system, there are device files for origin LVs:

# lvs
   LV    VG   Attr       LSize   Pool     Origin Data%  Meta%  Move Log 
Cpy%Sync Convert
   home1 pp   Cwi-aoC---   1,42t [cache0] [home1_corig] 100,00 
11,02           0,00
   home2 pp   Cwi-aoC---   1,42t [cache1] [home2_corig] 100,00 
11,02           0,00
[...]

# ls -1 /dev/mapper/
[...]
pp-home1
pp-home1_corig
pp-home2
pp-home2_corig
[...]

... which btrfs would detect, pick up at random and assemble into the 
RAID set. I had to do this in fstab to force only specified devices:

UUID=[...] /home btrfs 
noatime,autodefrag,subvol=@home,device=/dev/mapper/pp-home1,device=/dev/mapper/pp-home2

>> - you should use writethrough mode if you only have one SSD. There was a
>> bug in LVM where it wouldn't save the caching mode and revert to
>> writeback after restart, so make sure you use the latest version of LVM
>> tools.
> Do you know, which version is good?

I know it was buggy in Ubuntu Vivid (version 2.02.111 I think), and in 
Wily it's OK (curently 2.02.122).

Looking at the changelog, it may have been fixed in 2.02.112 by commit 
9d57aa9a0fe00322cb188ad1f3103d57392546e7:

"cache-pool:  Fix specification of cachemode when converting to cache-pool

Failure to copy the 'feature_flags' lvconvert_param to the matching
lv_segment field meant that when a user specified the cachemode argument,
the request was not honored."

Of cource I may be wrong, I haven't bisected it.

  reply	other threads:[~2015-12-24 16:44 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-23 10:45 btrfs und lvm-cache? Neuer User
2015-12-23 11:21 ` Martin Steigerwald
2015-12-23 11:38   ` Neuer User
2015-12-23 19:45     ` Noah Massey
2015-12-23 20:07       ` Neuer User
2015-12-23 20:38         ` Holger Hoffstätte
2015-12-23 19:49     ` Chris Murphy
2015-12-23 20:21       ` Neuer User
2015-12-23 20:56         ` Chris Murphy
2015-12-24 15:19           ` Neuer User
2015-12-23 20:24 ` Neuer User
2015-12-23 20:59   ` Chris Murphy
2015-12-24  2:04 ` Duncan
2015-12-24 15:24   ` Neuer User
2015-12-24 14:56 ` Piotr Pawłow
2015-12-24 15:29   ` Neuer User
2015-12-24 16:42     ` Piotr Pawłow [this message]
2015-12-25 17:11       ` Neuer User

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=567C206B.70705@siedziba.pl \
    --to=pp@siedziba.pl \
    --cc=auslands-kv@gmx.de \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox