linux-lvm.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Zdenek Kabelac <zkabelac@redhat.com>
To: LVM general discussion and development <linux-lvm@redhat.com>,
	Xen <list@xenhideout.nl>
Subject: Re: [linux-lvm] Snapshot behavior on classic LVM vs ThinLVM
Date: Tue, 18 Apr 2017 12:17:09 +0200	[thread overview]
Message-ID: <e88f9168-7426-f0d8-1e97-77ce36b3ffd2@redhat.com> (raw)
In-Reply-To: <9b5cd79f258fbb79b7d7e213970b1ae2@xenhideout.nl>

Dne 15.4.2017 v 23:48 Xen napsal(a):
> Gionatan Danti schreef op 14-04-2017 20:59:
> 
>> There is something similar already in place: when pool utilization is
>> over 95%, lvmthin *should* try a (lazy) umount. Give a look here:
>> https://www.redhat.com/archives/linux-lvm/2016-May/msg00042.html
>>
>> Monitoring is a great thing; anyway, a safe fail policy would be *very* nice...
> 
> This is the idea I had back then:
> 
> - reserve space for calamities.
> 
> - when running out of space, start informing the filesystem(s).
> 
> - communicate individual unusable blocks or simple a number of unavailable 
> blocks through some inter-layer communication system.
> 
> But it was said such channels do not exist or that the concept of a block 
> device (a logical addressing space) suddenly having trouble delivering the 
> blocks would be a conflicting concept.
> 
> If the concept of a filesystem needing to deal with disappearing space were to 
> be made live,
> 
> what you would get was.
> 
> that there starts to grow some hidden block of unusable space.
> 
> Supposing that you have 3 volumes of sizes X Y and Z.
> 
> With the constraint that currently individually each volume is capable of 
> using all space it wants,
> 
> now volume X starts to use up more space and the available remaining space is 
> no longer enough for Z.
> 
> The space available to all volumes is equivalent and is only constrained by 
> their own virtual sizes.
> 
> So saying that for each volume the available space = min( own filesystem 
> space, available thin space )
> 
> any consumption by any of the other volumes will see a reduction of the 
> available space by the same amount for the other volumes.
> 
> For the using volume this is to be expected, for the other volumes this is 
> strange.
> 
> each consumption turns into a lessening for all the other volumes including 
> the own.
> 
> this reduction of space is therefore a single number that pertains to all 
> volumes and only comes to be in any kind of effect if the real available space 
> is less than the (filesystem oriented, but rather LVM determined) virtual 
> space the volume thought it had.
> 
> for all volumes that are effected, there is now a discrepancy between virtual 
> available space and real available space.
> 
> this differs per volume but is really just a substraction. However LVM should 
> be able to know about this number since it is just about a number of extents 
> available and 'needed'.
> 
> Zdenek said that this information is not available in a live fashion because 
> the algorithms that find a new free extent need to go look for it first.

Already got lost in lots of posts.

But  there is tool  'thin_ls'  which can be used for detailed info about used 
space by every single  thin volume.

It's not support directly by 'lvm2' command (so not yet presented in shiny 
cool way via 'lvs -a') - but user can relatively easily run this command
on his own on life pool.


See for usage of


dmsetup message /dev/mapper/pool 0
     [ reserve_metadata_snap | release_metadata_snap ]

and 'man thin_ls'


Just don't forget to release snapshot of thin-pool kernel metadata once it's 
not needed...

> There are two ways: polling a number through some block device command or 
> telling the filesystem through a daemon.
> 
> Remounting the filesystem read-only is one such "through a daemon" command.
> 

Unmount of thin-pool has been dropped from upstream version >169.
It's now delegated to user script executed on % checkpoints
(see 'man dmeventd')

Regards

Zdenek

  reply	other threads:[~2017-04-18 10:17 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-06 14:31 [linux-lvm] Snapshot behavior on classic LVM vs ThinLVM Gionatan Danti
2017-04-07  8:19 ` Mark Mielke
2017-04-07  9:12   ` Gionatan Danti
2017-04-07 13:50     ` L A Walsh
2017-04-07 16:33       ` Gionatan Danti
2017-04-13 12:59         ` Stuart Gathman
2017-04-13 13:52           ` Xen
2017-04-13 14:33             ` Zdenek Kabelac
2017-04-13 14:47               ` Xen
2017-04-13 15:29               ` Stuart Gathman
2017-04-13 15:43                 ` Xen
2017-04-13 17:26                   ` Stuart D. Gathman
2017-04-13 17:32                   ` Stuart D. Gathman
2017-04-14 15:17                     ` Xen
2017-04-14  7:27               ` Gionatan Danti
2017-04-14  7:23           ` Gionatan Danti
2017-04-14 15:23             ` Xen
2017-04-14 15:53               ` Gionatan Danti
2017-04-14 16:08                 ` Stuart Gathman
2017-04-14 17:36                 ` Xen
2017-04-14 18:59                   ` Gionatan Danti
2017-04-14 19:20                     ` Xen
2017-04-15  8:27                       ` Xen
2017-04-15 23:35                         ` Xen
2017-04-17 12:33                         ` Xen
2017-04-15 21:22                     ` Xen
2017-04-15 21:49                       ` Xen
2017-04-15 21:48                     ` Xen
2017-04-18 10:17                       ` Zdenek Kabelac [this message]
2017-04-18 13:23                         ` Gionatan Danti
2017-04-18 14:32                           ` Stuart D. Gathman
2017-04-19  7:22                         ` Xen
2017-04-07 22:24     ` Mark Mielke
2017-04-08 11:56       ` Gionatan Danti
2017-04-07 18:21 ` Tomas Dalebjörk
2017-04-13 10:20 ` Gionatan Danti
2017-04-13 12:41   ` Xen
2017-04-14  7:20     ` Gionatan Danti
2017-04-14  8:24       ` Zdenek Kabelac
2017-04-14  9:07         ` Gionatan Danti
2017-04-14  9:37           ` Zdenek Kabelac
2017-04-14  9:55             ` Gionatan Danti
2017-04-22  7:14         ` Gionatan Danti
2017-04-22 16:32           ` Xen
2017-04-22 20:58             ` Gionatan Danti
2017-04-22 21:17             ` Zdenek Kabelac
2017-04-23  5:29               ` Xen
2017-04-23  9:26                 ` Zdenek Kabelac
2017-04-24 21:02                   ` Xen
2017-04-24 21:59                     ` Zdenek Kabelac
2017-04-26  7:26                       ` Gionatan Danti
2017-04-26  7:42                         ` Zdenek Kabelac
2017-04-26  8:10                           ` Gionatan Danti
2017-04-26 11:23                             ` Zdenek Kabelac
2017-04-26 13:37                               ` Gionatan Danti
2017-04-26 14:33                                 ` Zdenek Kabelac
2017-04-26 16:37                                   ` Gionatan Danti
2017-04-26 18:32                                     ` Stuart Gathman
2017-04-26 19:24                                     ` Stuart Gathman
2017-05-02 11:00                                     ` Gionatan Danti
2017-05-12 13:02                                       ` Gionatan Danti
2017-05-12 13:42                                         ` Joe Thornber
2017-05-14 20:39                                           ` Gionatan Danti
2017-05-15 12:50                                             ` Zdenek Kabelac
2017-05-15 14:48                                               ` Gionatan Danti
2017-05-15 15:33                                                 ` Zdenek Kabelac
2017-05-16  7:53                                                   ` Gionatan Danti
2017-05-16 10:54                                                     ` Zdenek Kabelac
2017-05-16 13:38                                                       ` Gionatan Danti
2018-02-27 18:39                       ` Xen
2018-02-28  9:26                         ` Zdenek Kabelac
2018-02-28 19:07                           ` Gionatan Danti
2018-02-28 21:43                             ` Zdenek Kabelac
2018-03-01  7:14                               ` Gionatan Danti
2018-03-01  8:31                                 ` Zdenek Kabelac
2018-03-01  9:43                                   ` Gianluca Cecchi
2018-03-01 11:10                                     ` Zdenek Kabelac
2018-03-01  9:52                                   ` Gionatan Danti
2018-03-01 11:23                                     ` Zdenek Kabelac
2018-03-01 12:48                                       ` Gionatan Danti
2018-03-01 16:00                                         ` Zdenek Kabelac
2018-03-01 16:26                                           ` Gionatan Danti
2018-03-03 18:32                               ` Xen
2018-03-04 20:34                                 ` Zdenek Kabelac
2018-03-03 18:17                             ` Xen
2018-03-04 20:53                               ` Zdenek Kabelac
2018-03-05  9:42                                 ` Gionatan Danti
2018-03-05 10:18                                   ` Zdenek Kabelac
2018-03-05 14:27                                     ` Gionatan Danti
2018-03-03 17:52                           ` Xen
2018-03-04 23:27                             ` Zdenek Kabelac
2017-04-22 21:22           ` Zdenek Kabelac
2017-04-24 13:49             ` Gionatan Danti
2017-04-24 14:48               ` Zdenek Kabelac

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=e88f9168-7426-f0d8-1e97-77ce36b3ffd2@redhat.com \
    --to=zkabelac@redhat.com \
    --cc=linux-lvm@redhat.com \
    --cc=list@xenhideout.nl \
    /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).