Storage limits per-app
-
@msbt Interesting link, thanks. I wonder if it works for volumes also. It says it depends on the "volume plugin". Have to investigate. On Cloudron, the data directory is just a normal volume and doesn't use any plugin and it's unclear if that standard thing supports storage-opt.
-
@moocloud_matt said in Storage limits per-app:
OpenEBS
Yes, but there is a more advanced version at MayaData.
@staff and I have spoken with them before.
-
-
-
-
Maybe we have use usrquota - https://www.digitalocean.com/community/tutorials/how-to-set-filesystem-quotas-on-ubuntu-18-04 . I guess this involves creating a user per app.
XFS has pquota - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_file_systems/assembly_limiting-storage-space-usage-on-xfs-with-quotas_managing-file-systems . EXT4 has prjquota - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_file_systems/assembly_limiting-storage-space-usage-on-ext4-with-quotas_managing-file-systems
Also, found that there is a
--storage-size
when using XFS in Docker - https://docs.docker.com/engine/reference/commandline/run/#set-storage-driver-options-per-container -
@girish It does not matter that VPS providers use as you control what happens inside containers.
If you choose to attach container volumes they can be XFS layers with all the nice tools XFS comes with, which EXT4 lacks.
Similarly for attaching external volumes of additional space apart from the default FS the OS is installed on.
-
@robi the volumes can be XFS, but it requires a backing device. On a standard VPS, this means that we have to create a (big enough) file on EXT4 file system and then format it as XFS. This setup has the usual issues of loopback devices - what size this initial file should be, how to resize it live to increase/decrease storage etc. Not sure how well this performs either.
-
@girish yep, or do a little parted scripting first to have a device backed partition avoiding loopback issues for a more static setup..
wanna make changes? restore from remote backup.
For a more dynamic setup integrate OpenEBS/MayaData so you can keep attaching additional extent layers or do virtual migrations to different sized container attached storage mounts.
-
-
-
@Aizat No plans yet. But as a workaround, you can always do this:
- Setup a block storage of appropriate size
- Then, add it as Cloudron Volume
- Move app's data directory into the Volume
That way, the app cannot use more data than the volume itself. This does not cover databasize size which is stored outside the volume.