* snapshot space use
@ 2015-04-09 0:39 Russell Coker
2015-04-09 0:45 ` Qu Wenruo
2015-04-10 7:55 ` Russell Coker
0 siblings, 2 replies; 12+ messages in thread
From: Russell Coker @ 2015-04-09 0:39 UTC (permalink / raw)
To: BTRFS
# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
hetz0/be0-mail@2015-03-10 2.88G - 387G -
hetz0/be0-mail@2015-03-11 1.12G - 388G -
hetz0/be0-mail@2015-03-12 1.11G - 388G -
hetz0/be0-mail@2015-03-13 1.19G - 388G -
hetz0/be0-mail@2015-03-14 1.02G - 388G -
hetz0/be0-mail@2015-03-15 989M - 386G -
Is there any way to do something similar to the above ZFS command? It's handy
to know which snapshots are taking up the most space, especially when multiple
subvols are being snapshotted.
--
My Main Blog http://etbe.coker.com.au/
My Documents Blog http://doc.coker.com.au/
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: snapshot space use
2015-04-09 0:39 snapshot space use Russell Coker
@ 2015-04-09 0:45 ` Qu Wenruo
2015-04-09 9:02 ` Piotr Szymaniak
2015-04-09 22:01 ` Justin Maggard
2015-04-10 7:55 ` Russell Coker
1 sibling, 2 replies; 12+ messages in thread
From: Qu Wenruo @ 2015-04-09 0:45 UTC (permalink / raw)
To: russell, BTRFS
Hi,
You can use btrfs quota feature to do it.
Like this:
# btrfs quota enable <MNT_POINT>
# btrfs quota rescan -w <MNT_POINT>
# btrfs qgroup show -prce <MNT_POINT>
qgroupid rfer excl max_rfer max_excl parent child
-------- ---- ---- -------- -------- ------ -----
0/5 2248704 12288 0 0 --- ---
0/256 5509120 3272704 0 0 --- ---
rfer is all the space the subvolume takes.
excl is the exclusive space the subvolume takes.
You can also refer to 'btrfs-quota'(8) and 'btrfs-qgroup'(8),
Also the following wiki can help:
https://btrfs.wiki.kernel.org/index.php/Quota_support
NOTE: quota is not so stable and has some problem, but should give
you enough info.
Thanks,
Qu
> # zfs list -t snapshot
> NAME USED AVAIL REFER MOUNTPOINT
> hetz0/be0-mail@2015-03-10 2.88G - 387G -
> hetz0/be0-mail@2015-03-11 1.12G - 388G -
> hetz0/be0-mail@2015-03-12 1.11G - 388G -
> hetz0/be0-mail@2015-03-13 1.19G - 388G -
> hetz0/be0-mail@2015-03-14 1.02G - 388G -
> hetz0/be0-mail@2015-03-15 989M - 386G -
>
> Is there any way to do something similar to the above ZFS command? It's handy
> to know which snapshots are taking up the most space, especially when multiple
> subvols are being snapshotted.
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: snapshot space use
2015-04-09 0:45 ` Qu Wenruo
@ 2015-04-09 9:02 ` Piotr Szymaniak
2015-04-09 9:26 ` Qu Wenruo
2015-04-09 22:01 ` Justin Maggard
1 sibling, 1 reply; 12+ messages in thread
From: Piotr Szymaniak @ 2015-04-09 9:02 UTC (permalink / raw)
To: Qu Wenruo; +Cc: BTRFS
[-- Attachment #1: Type: text/plain, Size: 514 bytes --]
On Thu, Apr 09, 2015 at 08:45:21AM +0800, Qu Wenruo wrote:
> *snip*
> NOTE: quota is not so stable and has some problem, but should give
> you enough info.
Those are related to actually using quota or can also hit you when you
want to use it just for things like this snapshot space use?
Piotr Szymaniak.
--
- Oo, jesteś bystrzejszy, niż się wydaje. Przechodziłeś jakieś
szkolenie antyterrorystyczne?
- W pewnym sensie tak. Byłem żonaty.
-- Nelson DeMille, "The Lion's Game"
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: snapshot space use
2015-04-09 9:02 ` Piotr Szymaniak
@ 2015-04-09 9:26 ` Qu Wenruo
0 siblings, 0 replies; 12+ messages in thread
From: Qu Wenruo @ 2015-04-09 9:26 UTC (permalink / raw)
To: Piotr Szymaniak; +Cc: BTRFS
-------- Original Message --------
Subject: Re: snapshot space use
From: Piotr Szymaniak <szarpaj@grubelek.pl>
To: Qu Wenruo <quwenruo@cn.fujitsu.com>
Date: 2015年04月09日 17:02
> On Thu, Apr 09, 2015 at 08:45:21AM +0800, Qu Wenruo wrote:
>> *snip*
>> NOTE: quota is not so stable and has some problem, but should give
>> you enough info.
>
> Those are related to actually using quota or can also hit you when you
> want to use it just for things like this snapshot space use?
Using quota has more problems. Like exceeding quota make you unable to
delete any file(like a deadlock).
Your use case, just showing how much space you used, may still hit some
unusual problem like inaccurate number or even minus number, with
performance drop.
But overall, it should be OK and meets your need.
Thanks,
Qu
>
>
> Piotr Szymaniak.
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: snapshot space use
2015-04-09 0:45 ` Qu Wenruo
2015-04-09 9:02 ` Piotr Szymaniak
@ 2015-04-09 22:01 ` Justin Maggard
2015-04-09 22:24 ` Hugo Mills
1 sibling, 1 reply; 12+ messages in thread
From: Justin Maggard @ 2015-04-09 22:01 UTC (permalink / raw)
To: Qu Wenruo; +Cc: russell, BTRFS
On Wed, Apr 8, 2015 at 5:45 PM, Qu Wenruo <quwenruo@cn.fujitsu.com> wrote:
> Hi,
>
> You can use btrfs quota feature to do it.
> Like this:
>
> # btrfs quota enable <MNT_POINT>
> # btrfs quota rescan -w <MNT_POINT>
> # btrfs qgroup show -prce <MNT_POINT>
> qgroupid rfer excl max_rfer max_excl parent child
> -------- ---- ---- -------- -------- ------ -----
> 0/5 2248704 12288 0 0 --- ---
> 0/256 5509120 3272704 0 0 --- ---
>
>
> rfer is all the space the subvolume takes.
> excl is the exclusive space the subvolume takes.
>
Yes, but this isn't as useful as it sounds if you have more than one
snapshot. Because if a file is included in at least two snapshots,
it's no longer exclusive. So AFAICT even with btrfs qgroups, you
still cannot answer the question "How much space are my snapshots
using?" for a given subvolume, unless you have only one snapshot. But
I'd be happy to be informed otherwise. :-)
-Justin
> You can also refer to 'btrfs-quota'(8) and 'btrfs-qgroup'(8),
> Also the following wiki can help:
> https://btrfs.wiki.kernel.org/index.php/Quota_support
>
> NOTE: quota is not so stable and has some problem, but should give
> you enough info.
>
> Thanks,
> Qu
>
>> # zfs list -t snapshot
>> NAME USED AVAIL REFER MOUNTPOINT
>> hetz0/be0-mail@2015-03-10 2.88G - 387G -
>> hetz0/be0-mail@2015-03-11 1.12G - 388G -
>> hetz0/be0-mail@2015-03-12 1.11G - 388G -
>> hetz0/be0-mail@2015-03-13 1.19G - 388G -
>> hetz0/be0-mail@2015-03-14 1.02G - 388G -
>> hetz0/be0-mail@2015-03-15 989M - 386G -
>>
>> Is there any way to do something similar to the above ZFS command? It's
>> handy
>> to know which snapshots are taking up the most space, especially when
>> multiple
>> subvols are being snapshotted.
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: snapshot space use
2015-04-09 22:01 ` Justin Maggard
@ 2015-04-09 22:24 ` Hugo Mills
2015-04-09 23:27 ` Justin Maggard
0 siblings, 1 reply; 12+ messages in thread
From: Hugo Mills @ 2015-04-09 22:24 UTC (permalink / raw)
To: Justin Maggard; +Cc: Qu Wenruo, russell, BTRFS
[-- Attachment #1: Type: text/plain, Size: 3224 bytes --]
On Thu, Apr 09, 2015 at 03:01:55PM -0700, Justin Maggard wrote:
> On Wed, Apr 8, 2015 at 5:45 PM, Qu Wenruo <quwenruo@cn.fujitsu.com> wrote:
> > Hi,
> >
> > You can use btrfs quota feature to do it.
> > Like this:
> >
> > # btrfs quota enable <MNT_POINT>
> > # btrfs quota rescan -w <MNT_POINT>
> > # btrfs qgroup show -prce <MNT_POINT>
> > qgroupid rfer excl max_rfer max_excl parent child
> > -------- ---- ---- -------- -------- ------ -----
> > 0/5 2248704 12288 0 0 --- ---
> > 0/256 5509120 3272704 0 0 --- ---
> >
> >
> > rfer is all the space the subvolume takes.
> > excl is the exclusive space the subvolume takes.
> >
>
> Yes, but this isn't as useful as it sounds if you have more than one
> snapshot. Because if a file is included in at least two snapshots,
> it's no longer exclusive. So AFAICT even with btrfs qgroups, you
> still cannot answer the question "How much space are my snapshots
> using?" for a given subvolume, unless you have only one snapshot. But
> I'd be happy to be informed otherwise. :-)
There are basically two useful answers to that question, depending
on how the question is specified, exactly:
1) How much space would I use if I copied this subvolume to a
different filesystem?
2) How much space would I free up if I deleted this subvolume?
Part 1 is the rfer answer. Part 2 is the excl answer.
Which of these do you mean by "How much space are my snapshots
using?". The question as posed is highly ambiguous, and needs
considerably more precision before it can be answered.
If you can pose the question more precisely, you might wish to ask
one of those questions about N subvolumes as a group -- this is
where(*) you would define a qgroup covering the subvols you're
interested in, and then use the above interface to ask the question
for the group of subvols as a whole.
Hugo.
(*) I'm not an expert in qgroups. I may have the idea completely
wrong, but I think this is the right kind of approach.
> -Justin
>
> > You can also refer to 'btrfs-quota'(8) and 'btrfs-qgroup'(8),
> > Also the following wiki can help:
> > https://btrfs.wiki.kernel.org/index.php/Quota_support
> >
> > NOTE: quota is not so stable and has some problem, but should give
> > you enough info.
> >
> > Thanks,
> > Qu
> >
> >> # zfs list -t snapshot
> >> NAME USED AVAIL REFER MOUNTPOINT
> >> hetz0/be0-mail@2015-03-10 2.88G - 387G -
> >> hetz0/be0-mail@2015-03-11 1.12G - 388G -
> >> hetz0/be0-mail@2015-03-12 1.11G - 388G -
> >> hetz0/be0-mail@2015-03-13 1.19G - 388G -
> >> hetz0/be0-mail@2015-03-14 1.02G - 388G -
> >> hetz0/be0-mail@2015-03-15 989M - 386G -
> >>
> >> Is there any way to do something similar to the above ZFS command? It's
> >> handy
> >> to know which snapshots are taking up the most space, especially when
> >> multiple
> >> subvols are being snapshotted.
> >>
--
Hugo Mills | You've read the project plan. Forget that. We're
hugo@... carfax.org.uk | going to Do Stuff and Have Fun doing it.
http://carfax.org.uk/ |
PGP: E2AB1DE4 | Jeremy Frey
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: snapshot space use
2015-04-09 22:24 ` Hugo Mills
@ 2015-04-09 23:27 ` Justin Maggard
2015-04-09 23:39 ` Hugo Mills
0 siblings, 1 reply; 12+ messages in thread
From: Justin Maggard @ 2015-04-09 23:27 UTC (permalink / raw)
To: Hugo Mills, Justin Maggard, Qu Wenruo, russell, BTRFS
On Thu, Apr 9, 2015 at 3:24 PM, Hugo Mills <hugo@carfax.org.uk> wrote:
> On Thu, Apr 09, 2015 at 03:01:55PM -0700, Justin Maggard wrote:
>> On Wed, Apr 8, 2015 at 5:45 PM, Qu Wenruo <quwenruo@cn.fujitsu.com> wrote:
>> > Hi,
>> >
>> > You can use btrfs quota feature to do it.
>> > Like this:
>> >
>> > # btrfs quota enable <MNT_POINT>
>> > # btrfs quota rescan -w <MNT_POINT>
>> > # btrfs qgroup show -prce <MNT_POINT>
>> > qgroupid rfer excl max_rfer max_excl parent child
>> > -------- ---- ---- -------- -------- ------ -----
>> > 0/5 2248704 12288 0 0 --- ---
>> > 0/256 5509120 3272704 0 0 --- ---
>> >
>> >
>> > rfer is all the space the subvolume takes.
>> > excl is the exclusive space the subvolume takes.
>> >
>>
>> Yes, but this isn't as useful as it sounds if you have more than one
>> snapshot. Because if a file is included in at least two snapshots,
>> it's no longer exclusive. So AFAICT even with btrfs qgroups, you
>> still cannot answer the question "How much space are my snapshots
>> using?" for a given subvolume, unless you have only one snapshot. But
>> I'd be happy to be informed otherwise. :-)
>
> There are basically two useful answers to that question, depending
> on how the question is specified, exactly:
>
> 1) How much space would I use if I copied this subvolume to a
> different filesystem?
>
> 2) How much space would I free up if I deleted this subvolume?
>
> Part 1 is the rfer answer. Part 2 is the excl answer.
>
> Which of these do you mean by "How much space are my snapshots
> using?". The question as posed is highly ambiguous, and needs
> considerably more precision before it can be answered.
>
> If you can pose the question more precisely, you might wish to ask
> one of those questions about N subvolumes as a group -- this is
> where(*) you would define a qgroup covering the subvols you're
> interested in, and then use the above interface to ask the question
> for the group of subvols as a whole.
To be more precise, let's consider an example, where we have a
subvolume named "stuff"; and two snapshots of "stuff", "snap1" and
"snap2". So the question I'm posing is:
How much space would I free up if I were to remove my snapshots,
"snap1" and "snap2", but keep "stuff" intact?
I can't use the rfer value from snap1 and snap2, because in general
most of that space is shared by "stuff" and would not be freed. I
could look at the excl column for snap1 and snap2 and add them up; but
if they shared extents with each other (and not with "stuff"), those
extents are no longer exclusive, and thus not accounted for. So I
would have to delete either snap1 or snap2 in order to answer my
question using qgroups.
I can't think of a way to define a qgroup that would be able to answer
my question, although I'm admittedly no expert in qgroups either.
-Justin
>
> Hugo.
>
> (*) I'm not an expert in qgroups. I may have the idea completely
> wrong, but I think this is the right kind of approach.
>
>
>> -Justin
>>
>> > You can also refer to 'btrfs-quota'(8) and 'btrfs-qgroup'(8),
>> > Also the following wiki can help:
>> > https://btrfs.wiki.kernel.org/index.php/Quota_support
>> >
>> > NOTE: quota is not so stable and has some problem, but should give
>> > you enough info.
>> >
>> > Thanks,
>> > Qu
>> >
>> >> # zfs list -t snapshot
>> >> NAME USED AVAIL REFER MOUNTPOINT
>> >> hetz0/be0-mail@2015-03-10 2.88G - 387G -
>> >> hetz0/be0-mail@2015-03-11 1.12G - 388G -
>> >> hetz0/be0-mail@2015-03-12 1.11G - 388G -
>> >> hetz0/be0-mail@2015-03-13 1.19G - 388G -
>> >> hetz0/be0-mail@2015-03-14 1.02G - 388G -
>> >> hetz0/be0-mail@2015-03-15 989M - 386G -
>> >>
>> >> Is there any way to do something similar to the above ZFS command? It's
>> >> handy
>> >> to know which snapshots are taking up the most space, especially when
>> >> multiple
>> >> subvols are being snapshotted.
>> >>
>
> --
> Hugo Mills | You've read the project plan. Forget that. We're
> hugo@... carfax.org.uk | going to Do Stuff and Have Fun doing it.
> http://carfax.org.uk/ |
> PGP: E2AB1DE4 | Jeremy Frey
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: snapshot space use
2015-04-09 23:27 ` Justin Maggard
@ 2015-04-09 23:39 ` Hugo Mills
2015-04-10 0:32 ` Dongsheng Yang
0 siblings, 1 reply; 12+ messages in thread
From: Hugo Mills @ 2015-04-09 23:39 UTC (permalink / raw)
To: Justin Maggard; +Cc: Qu Wenruo, russell, BTRFS
[-- Attachment #1: Type: text/plain, Size: 4614 bytes --]
On Thu, Apr 09, 2015 at 04:27:08PM -0700, Justin Maggard wrote:
> On Thu, Apr 9, 2015 at 3:24 PM, Hugo Mills <hugo@carfax.org.uk> wrote:
> > On Thu, Apr 09, 2015 at 03:01:55PM -0700, Justin Maggard wrote:
> >> On Wed, Apr 8, 2015 at 5:45 PM, Qu Wenruo <quwenruo@cn.fujitsu.com> wrote:
> >> > Hi,
> >> >
> >> > You can use btrfs quota feature to do it.
> >> > Like this:
> >> >
> >> > # btrfs quota enable <MNT_POINT>
> >> > # btrfs quota rescan -w <MNT_POINT>
> >> > # btrfs qgroup show -prce <MNT_POINT>
> >> > qgroupid rfer excl max_rfer max_excl parent child
> >> > -------- ---- ---- -------- -------- ------ -----
> >> > 0/5 2248704 12288 0 0 --- ---
> >> > 0/256 5509120 3272704 0 0 --- ---
> >> >
> >> >
> >> > rfer is all the space the subvolume takes.
> >> > excl is the exclusive space the subvolume takes.
> >> >
> >>
> >> Yes, but this isn't as useful as it sounds if you have more than one
> >> snapshot. Because if a file is included in at least two snapshots,
> >> it's no longer exclusive. So AFAICT even with btrfs qgroups, you
> >> still cannot answer the question "How much space are my snapshots
> >> using?" for a given subvolume, unless you have only one snapshot. But
> >> I'd be happy to be informed otherwise. :-)
> >
> > There are basically two useful answers to that question, depending
> > on how the question is specified, exactly:
> >
> > 1) How much space would I use if I copied this subvolume to a
> > different filesystem?
> >
> > 2) How much space would I free up if I deleted this subvolume?
> >
> > Part 1 is the rfer answer. Part 2 is the excl answer.
> >
> > Which of these do you mean by "How much space are my snapshots
> > using?". The question as posed is highly ambiguous, and needs
> > considerably more precision before it can be answered.
> >
> > If you can pose the question more precisely, you might wish to ask
> > one of those questions about N subvolumes as a group -- this is
> > where(*) you would define a qgroup covering the subvols you're
> > interested in, and then use the above interface to ask the question
> > for the group of subvols as a whole.
>
> To be more precise, let's consider an example, where we have a
> subvolume named "stuff"; and two snapshots of "stuff", "snap1" and
> "snap2". So the question I'm posing is:
>
> How much space would I free up if I were to remove my snapshots,
> "snap1" and "snap2", but keep "stuff" intact?
>
> I can't use the rfer value from snap1 and snap2, because in general
> most of that space is shared by "stuff" and would not be freed. I
> could look at the excl column for snap1 and snap2 and add them up; but
> if they shared extents with each other (and not with "stuff"), those
> extents are no longer exclusive, and thus not accounted for. So I
> would have to delete either snap1 or snap2 in order to answer my
> question using qgroups.
>
> I can't think of a way to define a qgroup that would be able to answer
> my question, although I'm admittedly no expert in qgroups either.
I think you'd define a qgroup comtaining snap1 and snap2, and look
at the excl value. Anyone out there with qgroups experience who can
tell us how/whether that would do the job?
Hugo.
> -Justin
>
> >
> > Hugo.
> >
> > (*) I'm not an expert in qgroups. I may have the idea completely
> > wrong, but I think this is the right kind of approach.
> >
> >
> >> -Justin
> >>
> >> > You can also refer to 'btrfs-quota'(8) and 'btrfs-qgroup'(8),
> >> > Also the following wiki can help:
> >> > https://btrfs.wiki.kernel.org/index.php/Quota_support
> >> >
> >> > NOTE: quota is not so stable and has some problem, but should give
> >> > you enough info.
> >> >
> >> > Thanks,
> >> > Qu
> >> >
> >> >> # zfs list -t snapshot
> >> >> NAME USED AVAIL REFER MOUNTPOINT
> >> >> hetz0/be0-mail@2015-03-10 2.88G - 387G -
> >> >> hetz0/be0-mail@2015-03-11 1.12G - 388G -
> >> >> hetz0/be0-mail@2015-03-12 1.11G - 388G -
> >> >> hetz0/be0-mail@2015-03-13 1.19G - 388G -
> >> >> hetz0/be0-mail@2015-03-14 1.02G - 388G -
> >> >> hetz0/be0-mail@2015-03-15 989M - 386G -
> >> >>
> >> >> Is there any way to do something similar to the above ZFS command? It's
> >> >> handy
> >> >> to know which snapshots are taking up the most space, especially when
> >> >> multiple
> >> >> subvols are being snapshotted.
> >> >>
> >
--
Hugo Mills | Great films about cricket: The Third Man
hugo@... carfax.org.uk |
http://carfax.org.uk/ |
PGP: E2AB1DE4 |
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: snapshot space use
2015-04-09 23:39 ` Hugo Mills
@ 2015-04-10 0:32 ` Dongsheng Yang
2015-04-10 0:40 ` Justin Maggard
0 siblings, 1 reply; 12+ messages in thread
From: Dongsheng Yang @ 2015-04-10 0:32 UTC (permalink / raw)
To: Hugo Mills, Justin Maggard, Qu Wenruo, russell, BTRFS
On 04/10/2015 07:39 AM, Hugo Mills wrote:
> On Thu, Apr 09, 2015 at 04:27:08PM -0700, Justin Maggard wrote:
>> On Thu, Apr 9, 2015 at 3:24 PM, Hugo Mills <hugo@carfax.org.uk> wrote:
>>> On Thu, Apr 09, 2015 at 03:01:55PM -0700, Justin Maggard wrote:
>>>> On Wed, Apr 8, 2015 at 5:45 PM, Qu Wenruo <quwenruo@cn.fujitsu.com> wrote:
>>>>> Hi,
>>>>>
>>>>> You can use btrfs quota feature to do it.
>>>>> Like this:
>>>>>
>>>>> # btrfs quota enable <MNT_POINT>
>>>>> # btrfs quota rescan -w <MNT_POINT>
>>>>> # btrfs qgroup show -prce <MNT_POINT>
>>>>> qgroupid rfer excl max_rfer max_excl parent child
>>>>> -------- ---- ---- -------- -------- ------ -----
>>>>> 0/5 2248704 12288 0 0 --- ---
>>>>> 0/256 5509120 3272704 0 0 --- ---
>>>>>
>>>>>
>>>>> rfer is all the space the subvolume takes.
>>>>> excl is the exclusive space the subvolume takes.
>>>>>
>>>> Yes, but this isn't as useful as it sounds if you have more than one
>>>> snapshot. Because if a file is included in at least two snapshots,
>>>> it's no longer exclusive. So AFAICT even with btrfs qgroups, you
>>>> still cannot answer the question "How much space are my snapshots
>>>> using?" for a given subvolume, unless you have only one snapshot. But
>>>> I'd be happy to be informed otherwise. :-)
>>> There are basically two useful answers to that question, depending
>>> on how the question is specified, exactly:
>>>
>>> 1) How much space would I use if I copied this subvolume to a
>>> different filesystem?
>>>
>>> 2) How much space would I free up if I deleted this subvolume?
>>>
>>> Part 1 is the rfer answer. Part 2 is the excl answer.
>>>
>>> Which of these do you mean by "How much space are my snapshots
>>> using?". The question as posed is highly ambiguous, and needs
>>> considerably more precision before it can be answered.
>>>
>>> If you can pose the question more precisely, you might wish to ask
>>> one of those questions about N subvolumes as a group -- this is
>>> where(*) you would define a qgroup covering the subvols you're
>>> interested in, and then use the above interface to ask the question
>>> for the group of subvols as a whole.
>> To be more precise, let's consider an example, where we have a
>> subvolume named "stuff"; and two snapshots of "stuff", "snap1" and
>> "snap2". So the question I'm posing is:
>>
>> How much space would I free up if I were to remove my snapshots,
>> "snap1" and "snap2", but keep "stuff" intact?
>>
>> I can't use the rfer value from snap1 and snap2, because in general
>> most of that space is shared by "stuff" and would not be freed. I
>> could look at the excl column for snap1 and snap2 and add them up; but
>> if they shared extents with each other (and not with "stuff"), those
>> extents are no longer exclusive, and thus not accounted for. So I
>> would have to delete either snap1 or snap2 in order to answer my
>> question using qgroups.
>>
>> I can't think of a way to define a qgroup that would be able to answer
>> my question, although I'm admittedly no expert in qgroups either.
> I think you'd define a qgroup comtaining snap1 and snap2, and look
> at the excl value.
Agreed, This is a possible method to get what you want. We can create a
qgroup
in a higher level, as a pool.
# btrfs qgroup create 1/0 /MNT
And then assign your snapshots into this qgroup.
# btrfs qgroup assign 0/xxx 1/0 /MNT
# btrfs qgroup assign 0/xxx 1/0 /MNT
*Considering we can not update the quota number automatically in moving
qgroup
we need a rescan here.
# btrfs quota rescan -w /MNT
Then you can get the information you want by
#btrfs qgroup show -prce /MNT
Thanx
Yang
> Anyone out there with qgroups experience who can
> tell us how/whether that would do the job?
>
> Hugo.
>
>> -Justin
>>
>>> Hugo.
>>>
>>> (*) I'm not an expert in qgroups. I may have the idea completely
>>> wrong, but I think this is the right kind of approach.
>>>
>>>
>>>> -Justin
>>>>
>>>>> You can also refer to 'btrfs-quota'(8) and 'btrfs-qgroup'(8),
>>>>> Also the following wiki can help:
>>>>> https://btrfs.wiki.kernel.org/index.php/Quota_support
>>>>>
>>>>> NOTE: quota is not so stable and has some problem, but should give
>>>>> you enough info.
>>>>>
>>>>> Thanks,
>>>>> Qu
>>>>>
>>>>>> # zfs list -t snapshot
>>>>>> NAME USED AVAIL REFER MOUNTPOINT
>>>>>> hetz0/be0-mail@2015-03-10 2.88G - 387G -
>>>>>> hetz0/be0-mail@2015-03-11 1.12G - 388G -
>>>>>> hetz0/be0-mail@2015-03-12 1.11G - 388G -
>>>>>> hetz0/be0-mail@2015-03-13 1.19G - 388G -
>>>>>> hetz0/be0-mail@2015-03-14 1.02G - 388G -
>>>>>> hetz0/be0-mail@2015-03-15 989M - 386G -
>>>>>>
>>>>>> Is there any way to do something similar to the above ZFS command? It's
>>>>>> handy
>>>>>> to know which snapshots are taking up the most space, especially when
>>>>>> multiple
>>>>>> subvols are being snapshotted.
>>>>>>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: snapshot space use
2015-04-10 0:32 ` Dongsheng Yang
@ 2015-04-10 0:40 ` Justin Maggard
2015-04-10 0:48 ` Qu Wenruo
0 siblings, 1 reply; 12+ messages in thread
From: Justin Maggard @ 2015-04-10 0:40 UTC (permalink / raw)
To: Dongsheng Yang; +Cc: Hugo Mills, Qu Wenruo, russell, BTRFS
On Thu, Apr 9, 2015 at 5:32 PM, Dongsheng Yang
<yangds.fnst@cn.fujitsu.com> wrote:
> On 04/10/2015 07:39 AM, Hugo Mills wrote:
>>
>> On Thu, Apr 09, 2015 at 04:27:08PM -0700, Justin Maggard wrote:
>>>
>>> On Thu, Apr 9, 2015 at 3:24 PM, Hugo Mills <hugo@carfax.org.uk> wrote:
>>>>
>>>> On Thu, Apr 09, 2015 at 03:01:55PM -0700, Justin Maggard wrote:
>>>>>
>>>>> On Wed, Apr 8, 2015 at 5:45 PM, Qu Wenruo <quwenruo@cn.fujitsu.com>
>>>>> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> You can use btrfs quota feature to do it.
>>>>>> Like this:
>>>>>>
>>>>>> # btrfs quota enable <MNT_POINT>
>>>>>> # btrfs quota rescan -w <MNT_POINT>
>>>>>> # btrfs qgroup show -prce <MNT_POINT>
>>>>>> qgroupid rfer excl max_rfer max_excl parent child
>>>>>> -------- ---- ---- -------- -------- ------ -----
>>>>>> 0/5 2248704 12288 0 0 --- ---
>>>>>> 0/256 5509120 3272704 0 0 --- ---
>>>>>>
>>>>>>
>>>>>> rfer is all the space the subvolume takes.
>>>>>> excl is the exclusive space the subvolume takes.
>>>>>>
>>>>> Yes, but this isn't as useful as it sounds if you have more than one
>>>>> snapshot. Because if a file is included in at least two snapshots,
>>>>> it's no longer exclusive. So AFAICT even with btrfs qgroups, you
>>>>> still cannot answer the question "How much space are my snapshots
>>>>> using?" for a given subvolume, unless you have only one snapshot. But
>>>>> I'd be happy to be informed otherwise. :-)
>>>>
>>>> There are basically two useful answers to that question, depending
>>>> on how the question is specified, exactly:
>>>>
>>>> 1) How much space would I use if I copied this subvolume to a
>>>> different filesystem?
>>>>
>>>> 2) How much space would I free up if I deleted this subvolume?
>>>>
>>>> Part 1 is the rfer answer. Part 2 is the excl answer.
>>>>
>>>> Which of these do you mean by "How much space are my snapshots
>>>> using?". The question as posed is highly ambiguous, and needs
>>>> considerably more precision before it can be answered.
>>>>
>>>> If you can pose the question more precisely, you might wish to ask
>>>> one of those questions about N subvolumes as a group -- this is
>>>> where(*) you would define a qgroup covering the subvols you're
>>>> interested in, and then use the above interface to ask the question
>>>> for the group of subvols as a whole.
>>>
>>> To be more precise, let's consider an example, where we have a
>>> subvolume named "stuff"; and two snapshots of "stuff", "snap1" and
>>> "snap2". So the question I'm posing is:
>>>
>>> How much space would I free up if I were to remove my snapshots,
>>> "snap1" and "snap2", but keep "stuff" intact?
>>>
>>> I can't use the rfer value from snap1 and snap2, because in general
>>> most of that space is shared by "stuff" and would not be freed. I
>>> could look at the excl column for snap1 and snap2 and add them up; but
>>> if they shared extents with each other (and not with "stuff"), those
>>> extents are no longer exclusive, and thus not accounted for. So I
>>> would have to delete either snap1 or snap2 in order to answer my
>>> question using qgroups.
>>>
>>> I can't think of a way to define a qgroup that would be able to answer
>>> my question, although I'm admittedly no expert in qgroups either.
>>
>> I think you'd define a qgroup comtaining snap1 and snap2, and look
>> at the excl value.
>
>
> Agreed, This is a possible method to get what you want. We can create a
> qgroup
> in a higher level, as a pool.
> # btrfs qgroup create 1/0 /MNT
>
> And then assign your snapshots into this qgroup.
> # btrfs qgroup assign 0/xxx 1/0 /MNT
> # btrfs qgroup assign 0/xxx 1/0 /MNT
>
> *Considering we can not update the quota number automatically in moving
> qgroup
> we need a rescan here.
> # btrfs quota rescan -w /MNT
>
> Then you can get the information you want by
> #btrfs qgroup show -prce /MNT
>
Nice, thanks for the input Hugo and Yang! I'll play with that a bit.
I was assuming the excl value wouldn't be effective since the extents
are still shared by the original subvolume.
-Justin
> Thanx
> Yang
>
>> Anyone out there with qgroups experience who can
>> tell us how/whether that would do the job?
>>
>> Hugo.
>>
>>> -Justin
>>>
>>>> Hugo.
>>>>
>>>> (*) I'm not an expert in qgroups. I may have the idea completely
>>>> wrong, but I think this is the right kind of approach.
>>>>
>>>>
>>>>> -Justin
>>>>>
>>>>>> You can also refer to 'btrfs-quota'(8) and 'btrfs-qgroup'(8),
>>>>>> Also the following wiki can help:
>>>>>> https://btrfs.wiki.kernel.org/index.php/Quota_support
>>>>>>
>>>>>> NOTE: quota is not so stable and has some problem, but should give
>>>>>> you enough info.
>>>>>>
>>>>>> Thanks,
>>>>>> Qu
>>>>>>
>>>>>>> # zfs list -t snapshot
>>>>>>> NAME USED AVAIL REFER MOUNTPOINT
>>>>>>> hetz0/be0-mail@2015-03-10 2.88G - 387G -
>>>>>>> hetz0/be0-mail@2015-03-11 1.12G - 388G -
>>>>>>> hetz0/be0-mail@2015-03-12 1.11G - 388G -
>>>>>>> hetz0/be0-mail@2015-03-13 1.19G - 388G -
>>>>>>> hetz0/be0-mail@2015-03-14 1.02G - 388G -
>>>>>>> hetz0/be0-mail@2015-03-15 989M - 386G -
>>>>>>>
>>>>>>> Is there any way to do something similar to the above ZFS command?
>>>>>>> It's
>>>>>>> handy
>>>>>>> to know which snapshots are taking up the most space, especially when
>>>>>>> multiple
>>>>>>> subvols are being snapshotted.
>>>>>>>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: snapshot space use
2015-04-10 0:40 ` Justin Maggard
@ 2015-04-10 0:48 ` Qu Wenruo
0 siblings, 0 replies; 12+ messages in thread
From: Qu Wenruo @ 2015-04-10 0:48 UTC (permalink / raw)
To: Justin Maggard, Dongsheng Yang; +Cc: Hugo Mills, russell, BTRFS
-------- Original Message --------
Subject: Re: snapshot space use
From: Justin Maggard <jmaggard10@gmail.com>
To: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
Date: 2015年04月10日 08:40
> On Thu, Apr 9, 2015 at 5:32 PM, Dongsheng Yang
> <yangds.fnst@cn.fujitsu.com> wrote:
>> On 04/10/2015 07:39 AM, Hugo Mills wrote:
>>>
>>> On Thu, Apr 09, 2015 at 04:27:08PM -0700, Justin Maggard wrote:
>>>>
>>>> On Thu, Apr 9, 2015 at 3:24 PM, Hugo Mills <hugo@carfax.org.uk> wrote:
>>>>>
>>>>> On Thu, Apr 09, 2015 at 03:01:55PM -0700, Justin Maggard wrote:
>>>>>>
>>>>>> On Wed, Apr 8, 2015 at 5:45 PM, Qu Wenruo <quwenruo@cn.fujitsu.com>
>>>>>> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> You can use btrfs quota feature to do it.
>>>>>>> Like this:
>>>>>>>
>>>>>>> # btrfs quota enable <MNT_POINT>
>>>>>>> # btrfs quota rescan -w <MNT_POINT>
>>>>>>> # btrfs qgroup show -prce <MNT_POINT>
>>>>>>> qgroupid rfer excl max_rfer max_excl parent child
>>>>>>> -------- ---- ---- -------- -------- ------ -----
>>>>>>> 0/5 2248704 12288 0 0 --- ---
>>>>>>> 0/256 5509120 3272704 0 0 --- ---
>>>>>>>
>>>>>>>
>>>>>>> rfer is all the space the subvolume takes.
>>>>>>> excl is the exclusive space the subvolume takes.
>>>>>>>
>>>>>> Yes, but this isn't as useful as it sounds if you have more than one
>>>>>> snapshot. Because if a file is included in at least two snapshots,
>>>>>> it's no longer exclusive. So AFAICT even with btrfs qgroups, you
>>>>>> still cannot answer the question "How much space are my snapshots
>>>>>> using?" for a given subvolume, unless you have only one snapshot. But
>>>>>> I'd be happy to be informed otherwise. :-)
>>>>>
>>>>> There are basically two useful answers to that question, depending
>>>>> on how the question is specified, exactly:
>>>>>
>>>>> 1) How much space would I use if I copied this subvolume to a
>>>>> different filesystem?
>>>>>
>>>>> 2) How much space would I free up if I deleted this subvolume?
>>>>>
>>>>> Part 1 is the rfer answer. Part 2 is the excl answer.
>>>>>
>>>>> Which of these do you mean by "How much space are my snapshots
>>>>> using?". The question as posed is highly ambiguous, and needs
>>>>> considerably more precision before it can be answered.
>>>>>
>>>>> If you can pose the question more precisely, you might wish to ask
>>>>> one of those questions about N subvolumes as a group -- this is
>>>>> where(*) you would define a qgroup covering the subvols you're
>>>>> interested in, and then use the above interface to ask the question
>>>>> for the group of subvols as a whole.
>>>>
>>>> To be more precise, let's consider an example, where we have a
>>>> subvolume named "stuff"; and two snapshots of "stuff", "snap1" and
>>>> "snap2". So the question I'm posing is:
>>>>
>>>> How much space would I free up if I were to remove my snapshots,
>>>> "snap1" and "snap2", but keep "stuff" intact?
>>>>
>>>> I can't use the rfer value from snap1 and snap2, because in general
>>>> most of that space is shared by "stuff" and would not be freed. I
>>>> could look at the excl column for snap1 and snap2 and add them up; but
>>>> if they shared extents with each other (and not with "stuff"), those
>>>> extents are no longer exclusive, and thus not accounted for. So I
>>>> would have to delete either snap1 or snap2 in order to answer my
>>>> question using qgroups.
>>>>
>>>> I can't think of a way to define a qgroup that would be able to answer
>>>> my question, although I'm admittedly no expert in qgroups either.
>>>
>>> I think you'd define a qgroup comtaining snap1 and snap2, and look
>>> at the excl value.
>>
>>
>> Agreed, This is a possible method to get what you want. We can create a
>> qgroup
>> in a higher level, as a pool.
>> # btrfs qgroup create 1/0 /MNT
>>
>> And then assign your snapshots into this qgroup.
>> # btrfs qgroup assign 0/xxx 1/0 /MNT
>> # btrfs qgroup assign 0/xxx 1/0 /MNT
>>
>> *Considering we can not update the quota number automatically in moving
>> qgroup
>> we need a rescan here.
>> # btrfs quota rescan -w /MNT
>>
>> Then you can get the information you want by
>> #btrfs qgroup show -prce /MNT
>>
>
> Nice, thanks for the input Hugo and Yang! I'll play with that a bit.
> I was assuming the excl value wouldn't be effective since the extents
> are still shared by the original subvolume.
>
> -Justin
The higher level qgroup should archive your goal, if you adds all
qgroups(including top-level subvol 5) into it.
But the higher level one can only shows you how much the space all the
subvolumes really take. But not exactly one qgroup takes(as explained,
no good definition on qgroup space usage due to the complexity in shared
extents).
BTW, as you step deeper in btrfs qgroup, more problem may shows up.
For higher level subvolume qgroup, IIRC, deleting a snapshot/subvolume
may cause wrong higher level qgroup numbers.
Anyway, if you decides to use qgroup, run rescan at a interval is suggested.
Thanks,
Qu
>
>> Thanx
>> Yang
>>
>>> Anyone out there with qgroups experience who can
>>> tell us how/whether that would do the job?
>>>
>>> Hugo.
>>>
>>>> -Justin
>>>>
>>>>> Hugo.
>>>>>
>>>>> (*) I'm not an expert in qgroups. I may have the idea completely
>>>>> wrong, but I think this is the right kind of approach.
>>>>>
>>>>>
>>>>>> -Justin
>>>>>>
>>>>>>> You can also refer to 'btrfs-quota'(8) and 'btrfs-qgroup'(8),
>>>>>>> Also the following wiki can help:
>>>>>>> https://btrfs.wiki.kernel.org/index.php/Quota_support
>>>>>>>
>>>>>>> NOTE: quota is not so stable and has some problem, but should give
>>>>>>> you enough info.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Qu
>>>>>>>
>>>>>>>> # zfs list -t snapshot
>>>>>>>> NAME USED AVAIL REFER MOUNTPOINT
>>>>>>>> hetz0/be0-mail@2015-03-10 2.88G - 387G -
>>>>>>>> hetz0/be0-mail@2015-03-11 1.12G - 388G -
>>>>>>>> hetz0/be0-mail@2015-03-12 1.11G - 388G -
>>>>>>>> hetz0/be0-mail@2015-03-13 1.19G - 388G -
>>>>>>>> hetz0/be0-mail@2015-03-14 1.02G - 388G -
>>>>>>>> hetz0/be0-mail@2015-03-15 989M - 386G -
>>>>>>>>
>>>>>>>> Is there any way to do something similar to the above ZFS command?
>>>>>>>> It's
>>>>>>>> handy
>>>>>>>> to know which snapshots are taking up the most space, especially when
>>>>>>>> multiple
>>>>>>>> subvols are being snapshotted.
>>>>>>>>
>>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: snapshot space use
2015-04-09 0:39 snapshot space use Russell Coker
2015-04-09 0:45 ` Qu Wenruo
@ 2015-04-10 7:55 ` Russell Coker
1 sibling, 0 replies; 12+ messages in thread
From: Russell Coker @ 2015-04-10 7:55 UTC (permalink / raw)
To: BTRFS
On Thu, 9 Apr 2015 12:39:33 AM Russell Coker wrote:
> # zfs list -t snapshot
> NAME USED AVAIL REFER MOUNTPOINT
> hetz0/be0-mail@2015-03-10 2.88G - 387G -
> hetz0/be0-mail@2015-03-11 1.12G - 388G -
> hetz0/be0-mail@2015-03-12 1.11G - 388G -
> hetz0/be0-mail@2015-03-13 1.19G - 388G -
> hetz0/be0-mail@2015-03-14 1.02G - 388G -
> hetz0/be0-mail@2015-03-15 989M - 386G -
>
> Is there any way to do something similar to the above ZFS command? It's
> handy to know which snapshots are taking up the most space, especially
> when multiple subvols are being snapshotted.
Quota isn't really what I want. What I don't want is to go to all the effort
of creating quotas on snapshots (and the risk of using such features) just for
the ability to see disk usage IF I want it. What I want is to have it just
work as it does in ZFS. In the above example I can see that I can free 2.88G
of disk space by removing the oldest snapshot, this is useful.
btrfs sub find-new $SNAPSHOT $LASTGEN |
awk '{total = total + $7}END{print total}'
The above command gives a total of the lengths of extents that changed in a
snapshot. Of course the total length isn't going to be the total space used
(it doesn't count metadata used or space saved through compression), but it
does give an idea. Thanks Hugo for the tip in another thread.
--
My Main Blog http://etbe.coker.com.au/
My Documents Blog http://doc.coker.com.au/
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2015-04-10 7:55 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-09 0:39 snapshot space use Russell Coker
2015-04-09 0:45 ` Qu Wenruo
2015-04-09 9:02 ` Piotr Szymaniak
2015-04-09 9:26 ` Qu Wenruo
2015-04-09 22:01 ` Justin Maggard
2015-04-09 22:24 ` Hugo Mills
2015-04-09 23:27 ` Justin Maggard
2015-04-09 23:39 ` Hugo Mills
2015-04-10 0:32 ` Dongsheng Yang
2015-04-10 0:40 ` Justin Maggard
2015-04-10 0:48 ` Qu Wenruo
2015-04-10 7:55 ` Russell Coker
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.