Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-12898

Stratis - Set Filesystem Growth Limits

    • Icon: Story Story
    • Resolution: Done-Errata
    • Icon: Major Major
    • rhel-9.4
    • rhel-9.4
    • stratisd
    • None
    • stratisd-3.6.1-1.el9
    • sst_logical_storage
    • ssg_platform_storage
    • 12
    • 15
    • 4
    • QE ack, Dev ack
    • False
    • Hide

      None

      Show
      None
    • Yes
    • Enhancement
    • Hide
      .Setting a filesystem size limit is now supported

      With this update, users can now set a filesystem size limit when creating or modifying a filesystem. The `stratisd` service enables dynamic filesystem growth, but excessive expansion of an XFS filesystem can cause significant performance issues. The addition of this feature addresses potential performance issues that might occur when growing XFS filesystems beyond a certain threshold. By setting a filesystem size limit, users can prevent such issues and ensure optimal performance. Additionally, this feature enables better pool monitoring and maintenance by allowing users to impose an upper limit on a filesystem's size, ensuring efficient resource allocation.
      Show
      .Setting a filesystem size limit is now supported With this update, users can now set a filesystem size limit when creating or modifying a filesystem. The `stratisd` service enables dynamic filesystem growth, but excessive expansion of an XFS filesystem can cause significant performance issues. The addition of this feature addresses potential performance issues that might occur when growing XFS filesystems beyond a certain threshold. By setting a filesystem size limit, users can prevent such issues and ensure optimal performance. Additionally, this feature enables better pool monitoring and maintenance by allowing users to impose an upper limit on a filesystem's size, ensuring efficient resource allocation.
    • Done
    • None

      To provide two mechanisms for filesystem growth limits.

      The first (and default) option will be limiting filesystems from growing past a certain size. This will be stored in the MDV. This limit can be changed or removed but can never be smaller than the current filesystem size.

      The second option will be implementing XFS filesystem quotas. This aspect is a bit more complicated which is why I would like to keep it as an advanced option. Root users can bypass the quota per the design of XFS filesystem quotas which may lead to unexpected behavior so we would like users to opt in so that they understand the limitations.

      I anticipate restricting filesystem size limits and XFS quotas from being used together. This will require tracking whether the limit is quota-based or size limit-based in the metadata.

      Expected CLI invocation:

      $ stratis filesystem limit-size 10GiB
      $ stratis filesystem limit-size --quota 10GiB
      Error
      $ stratis filesystem limit-size 20GiB
      $ stratis filesystem limit-size remove
      $ stratis filesystem limit-size --quota 20GiB
      $ stratis filesystem limit-size --quota remove

      (Content was pulled in from John Baublitz description in GitHub, [stratisd #3431|https://github.com/stratis-storage/stratisd/issues/3431)

            bgurney@redhat.com Bryan Gurney
            dkeefe@redhat.com Dennis Keefe
            Filip Suba Filip Suba
            Michal Stubna Michal Stubna
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: