Hi!

One thing I'ld like to mention is that in Stratis 3.0, you'll
be able to set the size of the filesystem at the command-line,
although the default size will remain 1 TiB. There are some caveats;
it's not a good idea to grow an xfs filesystem by more than about 8
times as the metadata layout is calculated for the original size specified.

But, while this might be useful to others, I don't think it's really
all that relevant to your case. The amount of space allocated by the
thinpool for your data should really correspond to your filesystem
usage, which is only about 1 TiB.

Generally speaking, Stratis responds to devicemapper events, including
the low water event. It then does an analysis of your pool, including the
filesystems, to determine if any adjustment should be made.

Can you show us the output of the "stratis pool list" command? That
should show both the amount of space actually used (by your data +
Stratis metadata) the total size as understood by Stratis, and the amount
that Stratis interprets as free.

From what you tell me, I think it's possible that, during I/O, the low water
mark is reset multiple times by stratisd, and also crossed multiple times,
triggering repeated re-evaluations of the pool and filesystem states, which
perhaps then result in no action, but cause the slow I/O that you mentioned.

You can't prevent Stratis from doing this check, without accepting a patch and
recompiling. This check is there to prevent running out of space, so it's
not optional. It is our present goal to make these checks more effective and less intrusive.
In fact, we just today merged a PR[1] which inaugurates
our development efforts on thinpool and filesystem management improvements.

Thanks for getting in touch,

- mulhern













On Thu, Sep 16, 2021 at 8:45 PM Ryan Gonzalez <rymg19@gmail.com> wrote:
Hello there again! I've been using Stratis as my rootfs for a bit now,
and it seems to be working pretty well...with one particular catch...

For some context: I have a single 2TB pool on a single disk, with two
filesystems inside. When I created said filesystems, they seem to have
been both sized as 1TB, which was a bit confusing since I thought they
would start smaller and expand as I wrote to them. In particular, one of
them (the rootfs) is only ~200GB full, while the other is ~800GB. Of
course, the latter of these is reaching the current 1TB limit, which is
where things get...weird. In particular, based on the system logs, I
seem to have hit this:
https://github.com/stratis-storage/stratisd/issues/1466

 From what I can understand, this is just Stratis trying to expand the
filesystem. However...it doesn't seem to ever succeed, since the size
stays the same. Despite that, it still seems to run whenever I write in
a large amount of new data, resulting in some *very* brutally slow I/O
speeds (despite being on an NVMe disk), to the extent that I can't
really even open a terminal (to be fair, I have quite a few oh-my-zsh
plugins that could be contributing negatively to this...)

This has led to two particular questions:

- How exactly does the resizing of filesystems work? I know you can't
shrink XFS, but I believe the Stratis design paper references reclaiming
unused space via trims. Is it even possible for the rootfs to "shrink"
(but not really) to accommodate an expansion of the other one?

- If the other one can't expand, is it possible to just tell Stratis to
stop trying and avoid the major lag? Or, could there be something in my
configuration making this significantly slower than it's supposed to be
(maybe disk schedulers)?
_______________________________________________
stratis-devel mailing list -- stratis-devel@lists.fedorahosted.org
To unsubscribe send an email to stratis-devel-leave@lists.fedorahosted.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedorahosted.org/archives/list/stratis-devel@lists.fedorahosted.org
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure