linux-lvm.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Ross Boylan <ross@biostat.ucsf.edu>
To: LVM general discussion and development <linux-lvm@redhat.com>
Subject: Re: [linux-lvm] Snapshot question... [scaling problem]
Date: Wed, 23 Apr 2008 20:57:25 -0700	[thread overview]
Message-ID: <1209009445.11656.97.camel@corn.betterworld.us> (raw)
In-Reply-To: <1208880734.7871.86.camel@pc.ilinx>


On Tue, 2008-04-22 at 12:12 -0400, Brian J. Murrell wrote:
> On Tue, 2008-04-22 at 11:47 +0100, Stephane Chazelas wrote:
> > 
> > but
> > when you write to it, the system makes sure that unless it has
> > been done already, the block you're modifying are being copied
> > first from the "real" volume to COW volume before being modified
> > in the "real" volume.
> 
> And to be clear, the COW volumes of _all_ snapshots[1].  This is where
> the snapshot scaling problem arises.
Could someone say a bit more, because I definitely don't follow this.
If the [1] after snaphots means something, I don't know what.

I've seen references to this scaling problem before, and have never
quite gotten it.  The quoted paragraph above sounds as if it means
whenever there is a write to any volume, the COW tables for all
snapshots get the contents that are about to be overwritten.

I have multiple snapshots active, and it doesn't seem to work this way.
Some volumes have big snapshot volumes, into which substantial material
is written.  Others have small snapshot volumes, into which very little
is written.  In particular, the little ones don't seem to be getting the
writes to the big ones.  I judge how much of the COW is in use from the
output of lvdisplay (attached at bottom)

If all COW volumes get the overwritten material, then they'd all have
the same size in use.  And they don't seem to.

As I said, I'm missing something.  Could someone enlighten me?

Ross Boylan

lvdisplay for big volume shows
 LV Name                /dev/daisy/_var_spool_cyrus
 VG Name                daisy
 LV UUID                vUs6Bj-2DRx-4OVt-7FBr-K2dW-3gTV-AHpNRZ
 LV Write Access        read/write
 LV snapshot status     active destination for /dev/daisy/cyrspool
 LV Status              available
 # open                 0
 LV Size                23.62 GB
 Current LE             756
 COW-table size         12.00 GB
 COW-table LE           384
 Allocated to snapshot  29.78% 
 Snapshot chunk size    4.00 KB
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           254:41

and for the little one it shows
 LV Name                /dev/daisy/_var_lib_cyrus
 VG Name                daisy
 LV UUID                qkcv3k-XBYW-2gcx-pjbM-oF0g-Mlfk-P28QcH
 LV Write Access        read/write
 LV snapshot status     active destination for /dev/daisy/cyrlib
 LV Status              available
 # open                 0
 LV Size                96.00 MB
 Current LE             3
 COW-table size         128.00 MB
 COW-table LE           4
 Allocated to snapshot  33.32% 
 Snapshot chunk size    4.00 KB
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           254:38

I think this means the first one used 3.6G=12G*.30 while the second used
42.7MB = 128MB*.33.  The amount written to the first one exceeds the
total size available (128MB) for the 2nd snapshot.  I'm running Linux
kernel 2.6.18 as packaged for Debian.

  parent reply	other threads:[~2008-04-24  3:57 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-22 10:30 [linux-lvm] Snapshot question Charles Marcus
2008-04-22 10:47 ` Stephane Chazelas
2008-04-22 16:12   ` Brian J. Murrell
2008-04-22 16:38     ` Stephane Chazelas
2008-04-22 16:54       ` Dan Kegel
2008-04-22 17:39         ` Dan Kegel
2008-04-23 11:49           ` Stephane Chazelas
2008-04-22 16:51     ` Dan Kegel
2008-04-24  3:57     ` Ross Boylan [this message]
2008-04-24  4:10       ` [linux-lvm] Snapshot question... [scaling problem] Dan Kegel
2008-04-24 14:21         ` Larry Dickson
2008-04-24 15:59           ` Stuart D. Gathman
2008-04-24 17:19             ` Larry Dickson
2008-04-22 16:28   ` [linux-lvm] Snapshot question Charles Marcus
2008-04-22 16:47     ` dave
2008-04-22 17:09       ` Charles Marcus
2008-04-23 10:08         ` Charles Marcus
2008-04-22 16:52     ` Stephane Chazelas

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=1209009445.11656.97.camel@corn.betterworld.us \
    --to=ross@biostat.ucsf.edu \
    --cc=linux-lvm@redhat.com \
    /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;
as well as URLs for NNTP newsgroup(s).