From: Robert White <rwhite@pobox.com>
To: Zygo Blaxell <zblaxell@furryterror.org>, Duncan <1i5t5.duncan@cox.net>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: 5 _thousand_ snapshots? even 160? (was: device balance times)
Date: Wed, 22 Oct 2014 13:37:15 -0700 [thread overview]
Message-ID: <5448157B.8030102@pobox.com> (raw)
In-Reply-To: <20141022200812.GA17395@hungrycats.org>
On 10/22/2014 01:08 PM, Zygo Blaxell wrote:
> I have datasets where I record 14000+ snapshots of filesystem directory
> trees scraped from test machines and aggregated onto a single server
> for deduplication...but I store each snapshot as a git commit, not as
> a btrfs snapshot or even subvolume.
>
> We do sometimes run queries like "in the last two years, how many times
> did $CONDITION occur?" which will scan a handful files in all of the
> snapshots. The use case itself isn't unreasonable, although using the
> filesystem instead of a more domain-specific tool to achieve it may be.
>
Okay, sure. And as stated by others, there _are_ use cases that are
exceptional.
But such an archival system most likely does not _need_ to be balanced
etc with any frequency, or likely ever because it isn't experiencing
churn from dynamic use.
In the world of trade-offs, trade-offs happen.
The guy who cited the 5000 snapshots said they were hourly and taken
because he might remove an important file or something. This is _way_
more action than the feared condition.
ASIDE: While fixing someone's document archive RAID device (a Sun
hardware device the size of a fridge) back in 1997 or so I discovered
that they'd disabled _all_ the hardware cache features. When asked I was
told that "the procedure for replacing a failed drive required the cache
device to be cleared by pressing the red button" and they were afraid
that, should that day come, someone would forget to press that button...
so they'd turned off the feature entirely. This is a form of
unreasonable paranoia. They were afraid that someone in the future would
not follow the directions would be printed on both the machine and the
new drive (these were _not_ commodity parts).
When an over-abundance of caution passes beyond reasonable expectations,
performance will suffer. The system is immaterial, the rule holds.
What's worse is it becomes very like "security theater" only its "a
backup show" where no actual backing up is really happening in any
useful sense. And god save you picking which version of a file was the
last "good one".
So in your use case, your git repository of snapshots isn't actually
"live" on the production server you are archiving, right?
So too, it would be reasonable to btrfs send periodic snapshots to an
archive system, retain lots and lots of them, and expect reasonable
performance of your queries.
And you cold expect reasonable performance in your maintenance.
But "reasonable performance" in the maintenance case is massively
different than reasonable performance in use cases. Indeed if you try to
balance multiple terabytes of data spread across thousands of snapshots
you'll be taking a lot of time. A _perfectly_ _reasonable_ lot of time
for the operation at hand.
But if you expect to be able to do maintenance (like btrfsck your
production box with its 5k snapshots) in just a few minutes when you've
got logarithmic-rate meta data to shuffle through... well good luck with
that.
next prev parent reply other threads:[~2014-10-22 20:37 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-22 7:14 5 _thousand_ snapshots? even 160? (was: device balance times) Tomasz Chmielewski
2014-10-22 7:41 ` Duncan
2014-10-22 20:08 ` Zygo Blaxell
2014-10-22 20:37 ` Robert White [this message]
2014-10-23 3:09 ` Zygo Blaxell
2014-10-23 4:30 ` Chris Murphy
2014-10-23 5:18 ` Robert White
2014-10-23 8:38 ` Duncan
2014-10-23 13:15 ` Zygo Blaxell
-- strict thread matches above, loose matches on Subject: below --
2014-10-21 18:59 device balance times Tomasz Chmielewski
2014-10-21 20:14 ` Piotr Pawłow
2014-10-21 20:44 ` Arnaud Kapp
2014-10-22 1:10 ` 5 _thousand_ snapshots? even 160? (was: device balance times) Robert White
2014-10-22 4:02 ` Zygo Blaxell
2014-10-22 4:05 ` Duncan
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=5448157B.8030102@pobox.com \
--to=rwhite@pobox.com \
--cc=1i5t5.duncan@cox.net \
--cc=linux-btrfs@vger.kernel.org \
--cc=zblaxell@furryterror.org \
/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 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.