This exchange made me think it might be wise for Stratis to take a
"order of magnitude" parameter when we create a filesystem.
<tgill> I’d like to run XFS over a dm-thin device. I’ve heard that XFS
is best setup for future potential growth if the thin device has a size
of 1 TiB. I think the idea was to avoid provisioning something small
and keep extending it. Is this accurate?
<sandeen> the maximum alllocation group (at least for otherwise default
geometry) is 1T. So a 32T filesystem would have 32 1T allocation groups
<sandeen> if you had started with, say, a 128g filesystem and grown to
32T, you would have had many, many more allocation groups than optimal
<sandeen> so I imagine that's what "you've heard"
<sandeen> does that make sense?
<sandeen> so honestly, if you create a 1T filesystej, you'll get 4x256G
AGs (modulo other geometries due to storage layout, but 4 AGs is the
default), and if you later grow to 32G, you'll actually have 4x as many
AGs as you would have if you'd directly mkfs'd 32T
<sandeen> that's probably not a huge deal, but you do end up in a
slightly different spot than if you'd started at 32T
<sandeen> er, sorry "later grow to 32T"
<sandeen> short answer is, don't grow several orders of magnitude.
<tgill> I need to do a little more reading about how allocation groups
work, but it makes sense. :-)
<tgill> when I run mkfs.xfs on the thin 1T - 547 MiB is consumed by the
pool This is XFS meta data?
<sandeen> yes - the metadata itself will take up very little (log, as
well) but it will be ampliefied by the thin chunk size