Storage quotas
Every user and organization has one storage area, shared by all of their labs. This page is where you see how much each tenant uses, set their limits, and decide which disk their data lives on.
By the end of this page you will know how to find the heaviest users, raise or lower a limit, and move an account to another storage pool without losing data.
Admin Panel → Platform → Storage Quotas (/admin/storage)
How storage looks to a user is covered in Storage.
Object Storage under Settings is where the platform keeps logos, lab icons and uploads. This page is about tenants' lab storage.
Is the limit actually enforced?
Read this first. Whether a limit stops a user from writing depends on the disk underneath.
| Pool type | What a limit does |
|---|---|
| Enforcing (XFS project quota, LVM thin volume, btrfs quota groups) | The filesystem refuses writes once the limit is reached |
| Tracking only (a plain filesystem) | Usage is measured and reported, but nothing stops a user going over |
The Dashboard tab's Substrate & enforcement card tells you which you have. On a plain filesystem it warns that usage is tracked but not enforced. In the Organizations tab a "not enforced" badge marks any tenant whose limit is not applied.
Tabs
| Tab | What it shows |
|---|---|
| Dashboard | Total capacity and percentage used; how many users have a limit enforced; the enforcement card; plan limits for Free, Pro and organizations; how many tenants of each kind are over; pool cards; a Recent audits table |
| Top consumers | The largest tenants, with plan, pool, usage, limit and Edit |
| Over quota | Everyone over their limit and by how much. CSV export. |
| Organizations | Organization and department storage, its substrate, usage and limit. CSV export. |
| Pools | Storage pools and the storage map. See Pools. |
| Migrations | Every move between pools, with progress |
Re-audit usage, in the page header, re-measures every tenant in the background. Use it when the numbers look stale.
Setting a limit
- Find the tenant in Top consumers or Over quota and click Edit.
- Choose Set storage limit and enter the limit in GB. Decimals are allowed. 0 means the plan default.
- Save.
The limit is applied and checked on the server, which can take a few minutes. The dialog stays open if the server cannot confirm the new limit took effect, so you know it did not land.
The user is not notified. You can also set a user's storage limit on their page, under Plan & limits. See Users.
On an enforcing pool the user can no longer write anything until they delete enough to get back under. Their labs will start failing in confusing ways. Tell them first.
The Edit menu also has:
| Item | Use it to |
|---|---|
| Storage Lens | Explore what is taking up the space |
| Storage layout | See where the account's data lives |
| Move to pool | Move the account to another pool. See below. |
| Pool access | Choose which pools this user may move to themselves from their account settings |
Pools
A pool is a disk (or volume) that holds tenants' storage. The Pools tab shows each pool as a card with a usage bar, what it supports, and how many tenants it holds.

Adding a pool
Click Add pool and enter the pool's mount point path, plus an optional pool ID and weight. The disk must already be mounted on the server; the panel does not partition or mount disks.
Pool settings
| Setting | Meaning |
|---|---|
| Copy-on-write clones | Auto, force enabled or force disabled. Read the warning about double-counting on XFS before changing it. |
| Accepting new placements | Turn off to stop new accounts landing here |
| Fill watermark | How full the pool may get (50–99%) before it stops taking new placements |
| Platform default pool | Where new accounts go |
The default pool cannot be removed. A pool that still holds tenants must be emptied first.
The storage map
Lists every tenant grouped by pool. Filter by All, Users, Orgs or Depts, and by pool. CSV export. Tick rows and click Migrate selected… to move several accounts at once.
Moving an account to another pool
Choose Move to pool on a tenant. A preflight shows the data size, an estimated time and any running labs. Then pick a mode:
| Mode | What happens |
|---|---|
| Migrate data (recommended) | Copies everything, verifies the copy, then switches the account over. All the owner's labs must be stopped first. |
| Placement only | Only future storage goes to the new pool. Existing data stays where it is. |
If labs are running, the dialog offers Stop N labs. That asks for confirmation and records the stop on each lab's timeline.
Override the target pool watermark lets you move into a pool past its fill watermark. Use it sparingly.
Bulk moves go one account at a time. An account with running labs, or one that would overfill the target, is skipped. Nothing is deleted: the old copy is retired rather than removed.
Following a migration
The Migrations tab lists every move with its route, state, progress and who started it. Filter by All, Active, Failed or Completed.
| Button | Use it when |
|---|---|
| Watch | You want live copy progress |
| Re-run | A copy failed; this resumes it |
| Finish | The copy is verified but the switch has not happened yet |
Organization volumes
Organizations on an LVM volume get a Manage action in the Organizations tab:
| Section | What you can do |
|---|---|
| Volume | Grow the volume. It cannot be shrunk. |
| Members | Set a quota per member, or remove one (with confirmation) |
| Snapshots | Create a snapshot; Roll back to one; delete one |
| Filesystem | Convert the filesystem. The old volume is kept as a backup until you Reclaim it. |
Roll back stops the organization's labs and discards every change made since the snapshot. Reclaim permanently deletes the backup kept after a filesystem conversion. Both ask for confirmation.
Pool, quota and volume actions are audited.
Next
- Users — per-user plan and limits
- Organizations
- Admin dashboard — the over-quota row