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.
next prev 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).