From: Zdenek Kabelac <zkabelac@redhat.com>
To: LVM general discussion and development <linux-lvm@redhat.com>,
Xen <list@xenhideout.nl>
Subject: Re: [linux-lvm] Reserve space for specific thin logical volumes
Date: Thu, 21 Sep 2017 22:32:22 +0200 [thread overview]
Message-ID: <bc9ed569-8054-bf20-5f89-c8bd57580bd2@redhat.com> (raw)
In-Reply-To: <a0d46eaf4f73313e0db78da8d8594f2a@xenhideout.nl>
Dne 21.9.2017 v 16:49 Xen napsal(a):
>
> However you would need LVM2 to make sure that only origin volumes are marked
> as critical.
'dmeventd' executed binary - which can be a simple bash script called at
threshold level can be tuned to various naming logic.
So far there is no plan to enforce 'naming' or 'tagging' since from user base
feedback we can see numerous ways how to deal with large volume naming
strategies often made by external tools/databases - so enforcing i.e.
specific tag would require changes in larger systems - so when it's compared
with rather simple tuning script of bash script...
> I actually think that if I knew how to do multithreading in the kernel, I
> could have the solution in place in a day...
>
> If I were in the position to do any such work to begin with... :(.
>
> But you are correct that error target is almost the same thing.
It's the most 'safest' - avoids any sort of further possibly damaging of
filesystem.
Note - typical 'fs' may remount 'ro' at reasonable threshold time - the
precise points depends on workload. If you have 'PB' arrays - surely leaving
5% of free space is rather huge, if you work with GB on fast operation SSD -
taking action at 70% might be better.
If anytime 'during' write users hits 'full pool' - there is currently no
other way then to stop using FS - there are numerous way -
You can replace device with 'error'
You can replace device with 'delay' that splits reads to thin and writes to error
There is just not any way-back - FS should be checked (i.e. full FS could be
'restored' by deleting some files, but in the full thin-pool case 'FS' needs
to get consistent first - so focusing on solving full-pool is like preparing
for missed battle - focus should go into ensuring you not hit full pool and on
the 'sad' occasion of 100% full pool - the worst case scenario is not all the
bad - surely way better then 4 year old experience with old kernel and old
lvm2....
>> What you would have to implement is to TAKE the space FROM them to
>> satisfy writing task to your 'active' volume and respect
>> prioritization...
>
> Not necessary. Reserved space is a metric, not a real thing.
>
> Reserved space by definition is a part of unallocated space.
How is this different from having VG with 1TB where you allocate for your
thin-pool only i.e. 90% for thin-pool and you have 10% of free space for
'extension' of thin-pool for your 'critical' moment.
I'm still not seeing any difference - except you would need to invest lot of
energy into handling of this 'reserved' space inside kernel.
With actual versions of lvm2 you can handle these tasks at user-space and
quite early before you reach 'real' out-of-space condition.
>> In other words - tuning 'thresholds' in userspace's 'bash' script will
>> give you very same effect as if you are focusing here on very complex
>> 'kernel' solution.
>
> It's just not very complex.
>
> You thought I wanted space consumption metric for all volumes including
> snapshots and then invididual attribution of all consumed space.
Maybe you can try existing proposed solutions first and showing 'weak' points
which are not solvable by it ?
We all agree we could not store 10G thin volume into 1G thin-pool - so there
will be always the case of having 'full pool'.
Either you could handle reserves of 'early' remount-ro or you keep some
'spare' LV/space in VG you attach to thin-pool 'when' needed...
Having such 'great' level of free choice here is IMHO big advantage as it's
always 'admin' to decide how to use available space in the best way - instead
of keeping 'reserves' somewhere hidden in kernel....
Regards
Zdenek
next prev parent reply other threads:[~2017-09-21 20:32 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-08 10:35 [linux-lvm] Reserve space for specific thin logical volumes Gionatan Danti
2017-09-08 11:06 ` Xen
2017-09-09 22:04 ` Gionatan Danti
2017-09-11 10:35 ` Zdenek Kabelac
2017-09-11 10:55 ` Xen
2017-09-11 11:20 ` Zdenek Kabelac
2017-09-11 12:06 ` Xen
2017-09-11 12:45 ` Xen
2017-09-11 13:11 ` Zdenek Kabelac
2017-09-11 13:46 ` Xen
2017-09-12 11:46 ` Zdenek Kabelac
2017-09-12 12:37 ` Xen
2017-09-12 14:37 ` Zdenek Kabelac
2017-09-12 16:44 ` Xen
2017-09-12 17:14 ` Gionatan Danti
2017-09-12 21:57 ` Zdenek Kabelac
2017-09-13 17:41 ` Xen
2017-09-13 19:17 ` Zdenek Kabelac
2017-09-14 3:19 ` Xen
2017-09-12 17:00 ` Gionatan Danti
2017-09-12 23:25 ` Brassow Jonathan
2017-09-13 8:15 ` Gionatan Danti
2017-09-13 8:33 ` Zdenek Kabelac
2017-09-13 18:43 ` Xen
2017-09-13 19:35 ` Zdenek Kabelac
2017-09-14 5:59 ` Xen
2017-09-14 19:05 ` Zdenek Kabelac
2017-09-15 2:06 ` Brassow Jonathan
2017-09-15 6:02 ` Gionatan Danti
2017-09-15 8:37 ` Xen
2017-09-15 7:34 ` Xen
2017-09-15 9:22 ` Zdenek Kabelac
2017-09-16 22:33 ` Xen
2017-09-17 6:31 ` Xen
2017-09-17 7:10 ` Xen
2017-09-18 19:20 ` Gionatan Danti
2017-09-20 13:05 ` Xen
2017-09-21 9:49 ` Zdenek Kabelac
2017-09-21 10:22 ` Xen
2017-09-21 13:02 ` Zdenek Kabelac
2017-09-21 14:34 ` [linux-lvm] Clarification (and limitation) of the kernel feature I proposed Xen
2017-09-21 14:49 ` [linux-lvm] Reserve space for specific thin logical volumes Xen
2017-09-21 20:32 ` Zdenek Kabelac [this message]
2017-09-18 8:56 ` Zdenek Kabelac
2017-09-11 14:00 ` Xen
2017-09-11 17:34 ` Zdenek Kabelac
2017-09-11 15:31 ` Eric Ren
2017-09-11 15:52 ` Zdenek Kabelac
2017-09-11 21:35 ` Eric Ren
2017-09-11 17:41 ` David Teigland
2017-09-11 21:08 ` Eric Ren
2017-09-11 16:55 ` David Teigland
2017-09-11 17:43 ` Zdenek Kabelac
2017-09-11 21:59 ` Gionatan Danti
2017-09-12 11:01 ` Zdenek Kabelac
2017-09-12 11:34 ` Gionatan Danti
2017-09-12 12:03 ` Zdenek Kabelac
2017-09-12 12:47 ` Xen
2017-09-12 13:51 ` pattonme
2017-09-12 14:57 ` Zdenek Kabelac
2017-09-12 16:49 ` Xen
2017-09-12 16:57 ` Gionatan Danti
[not found] <832949972.1610294.1505170613541.ref@mail.yahoo.com>
2017-09-11 22:56 ` matthew patton
2017-09-12 5:28 ` Gionatan Danti
[not found] <1806055156.426333.1505228581063.ref@mail.yahoo.com>
2017-09-12 15:03 ` matthew patton
2017-09-12 17:09 ` Gionatan Danti
2017-09-12 22:41 ` Zdenek Kabelac
2017-09-12 22:55 ` Gionatan Danti
2017-09-12 23:11 ` Zdenek Kabelac
[not found] <418002318.647314.1505245480415.ref@mail.yahoo.com>
[not found] ` <418002318.647314.1505245480415@mail.yahoo.com>
2017-09-12 21:36 ` Gionatan Danti
2017-09-12 22:16 ` Zdenek Kabelac
2017-09-12 22:41 ` Gionatan Danti
2017-09-12 23:02 ` Zdenek Kabelac
2017-09-12 23:15 ` Gionatan Danti
2017-09-12 23:31 ` Zdenek Kabelac
2017-09-13 8:21 ` Gionatan Danti
[not found] <1575245610.821680.1505258554456.ref@mail.yahoo.com>
2017-09-12 23:22 ` matthew patton
2017-09-13 7:53 ` Gionatan Danti
2017-09-13 8:15 ` Zdenek Kabelac
2017-09-13 8:28 ` Gionatan Danti
2017-09-13 8:44 ` Zdenek Kabelac
2017-09-13 10:46 ` Gionatan Danti
[not found] <691633892.829188.1505258696384.ref@mail.yahoo.com>
2017-09-12 23:24 ` matthew patton
[not found] <57374453.843393.1505261050977.ref@mail.yahoo.com>
2017-09-13 0:04 ` matthew patton
2017-09-13 7:10 ` Zdenek Kabelac
[not found] <1771452279.913055.1505269434212.ref@mail.yahoo.com>
2017-09-13 2:23 ` matthew patton
2017-09-13 7:25 ` Zdenek Kabelac
[not found] <498090067.1559855.1505338608244.ref@mail.yahoo.com>
2017-09-13 21:36 ` matthew patton
[not found] <914479528.2618507.1505463313888.ref@mail.yahoo.com>
2017-09-15 8:15 ` matthew patton
2017-09-15 10:01 ` Zdenek Kabelac
2017-09-15 18:35 ` Xen
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=bc9ed569-8054-bf20-5f89-c8bd57580bd2@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).