Skip to content

seaweedfs: volumeSizeLimitMB has no per-instance override while volume.size is unbounded #4248

Closed

Description

packages/system/seaweedfs/values.yaml sets master.volumeSizeLimitMB for every tenant instance, and packages/extra/seaweedfs/values.yaml exposes no way to change it. volume.size is per-tenant and has no upper bound, so the two drift apart the moment anyone provisions a large PVC.

Those two numbers are halves of the same thing: a volume server started with -max 0 gets its slot count from free disk divided by the master's limit. A tenant on 10Gi and a tenant on 5Ti get identical volume sizes and wildly different volume counts. At 250MB a 5Ti server carries roughly 21k volumes, each a .dat and an .idx.

Deriving the limit from volume.size is not a straight substitution. Pools and zones each carry their own PVC size while volumeSizeLimitMB is master-wide, so a derived value would have to track the smallest pool. That is the tradeoff to settle, not a reason the knob should not exist.

Activity

  1. added
    kind/bugCategorizes issue or PR as related to a bug
    area/storageIssues or PRs related to storage (linstor, seaweedfs, bucket, velero, harbor)
    on Sep 14, 2026
  2. lexfrei commented on Sep 14, 2026

    @lexfrei
    ContributorAuthor

    Tracking the smallest pool is not a reason to skip the knob. It is the correct semantics for a master-wide divisor: one limit has to be safe for every pool, and the smallest pool is what makes it safe.

    The tradeoff to weigh is what that costs the largest pool. A 10Ti pool inheriting a limit derived from a 10Gi neighbour carries around 42k volumes, where a limit sized for its own disk would leave it a few hundred. So the choice is between a derivation that is correct and lopsided, and a flat value that is explicit and right for one disk size only.

  3. added a commit that references this issue on Sep 17, 2026
    6818795
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/storageIssues or PRs related to storage (linstor, seaweedfs, bucket, velero, harbor)kind/bugCategorizes issue or PR as related to a bugtriage/needs-triageIndicates an issue needs triage by a maintainer

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions