Disk Autoresize
Disk autoresize grows the disk of an environment before it fills up, so a database or app does not stop because it ran out of space. You set a trigger and a maximum; Quave ONE checks the disk usage every few minutes and grows the disk when the trigger is crossed.
It is available for:
- managed databases deployed by Quave ONE (Databases & Services);
- regular app environments with a local persistent volume (Use Persistent Volume on, not a shared NFS volume).
The environment must be deployed. Stateless apps, Functions, Jobs and shared volumes do not use it.
How it works
- Every few minutes Quave ONE reads the used and free space of the volume.
- When the used space reaches the trigger percentage, or the free space drops below the min free value (whichever happens first), the disk grows.
- Each grow adds the step percentage of the current disk, at least the min step, and never goes above the max disk.
- After a grow, Quave ONE waits for the new size to show up on the volume and then for the cooldown before it grows again.
The grow happens online: there is no redeploy and no restart. A grow is only marked as completed after the new capacity is visible on the volume.
Settings
| Setting | Default | Rules |
|---|---|---|
| Trigger | 80% | Between 50% and 95% of the disk used. |
| Min free | none | Optional. Also grows when free space drops below this many GB. |
| Step | 20% | Between 5% and 100% of the current disk per grow. |
| Min step | 10 GB | Smallest growth per grow. |
| Max disk | none | Required. At least the current disk and at most your account disk limit. |
| Cooldown | 30 min | Between 5 and 1440 minutes between two automatic grows. |
Sizes use decimal units: 1 GB = 1000 MB. The account disk limit is the same one that applies when you change the disk by hand. Contact support if you need a higher limit.
Grow-only
Disks never shrink. Every automatic grow is permanent, exactly like increasing the disk yourself. Turning autoresize off stops future grows but keeps the current size.
When the disk reaches the max disk, autoresize stops and shows the environment as blocked. Raise the max disk (within your account limit) or free space.
Cost
- Quave ONE Direct: each grow increases the disk of the environment. Local disk above the included allowance is billed as storage overage, so a grow can increase your bill. See persistent disk storage overage. The max disk is the most you can be billed for this disk.
- Quave ONE Connect: the volume grows inside your own cluster storage. When the cloud disk behind it also needs to grow, that growth is billed by your cloud provider, within the maximum agreed with the Quave ONE team.
The dashboard shows this cost note before you save the policy.
Connect on AWS: EBS modification limits
On clusters in your own AWS account, the disk behind the volume is an EBS
volume. AWS only lets a volume be modified again after the previous
modification is completed, and allows at most 4 modifications per volume in
24 hours. IOPS and throughput changes count as modifications too.
The new size is usable within seconds, but the optimizing phase that follows
can take hours on large (TB) volumes. While AWS has not finished it, the next
grow waits. For this reason, use a large step on big AWS volumes, so a single
grow buys enough room.
When autoresize does not grow
Autoresize never guesses. It waits or stops, and our team is alerted, when:
- the usage metrics of the volume are missing or old;
- the disk already reached the max disk;
- the node storage behind the volume has no room left and cannot grow.
The last action, its status and the reason are shown in the dashboard and in
the storageAutoResize.lastAction field of the API.
Configure it
Dashboard
- Open the environment and go to Settings.
- For a managed database, find Disk autoresize under the database disk. For an app, open Storage with a local persistent volume enabled.
- Check Grow this disk automatically, set the max disk and adjust the other settings if needed.
- Read the cost note and click Save autoresize.
Account admins can configure it in the dashboard.
MCP and Public API
- MCP:
update-app-env-storage-autoresize(scopequave:write:config). UsedryRun: truefirst to validate the policy without saving it.get-app-envreturns the currentstorageAutoResizepolicy. - Public API:
PATCH /api/public/v1/app-env/storage-autoresize. See the App Environment Management API.
Any account member with access to the environment can use these, the same permission that allows changing the disk.