Storage limits per-app
-
@robi said in Storage limits per-app:
I think they use OpenEBS, and as all the distributed storage solutions are complicated to set up, we use Ceph and need a dedicated port on the cluster server for the sync job, not as a requirement but as a need for reasonable performance to be able to use there features.
@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.
-
R robi referenced this topic on
-
G girish referenced this topic on
-
Any news about this? This is very useful especially if we're giving access to our clients who may overuse the storage in some of the apps on Cloudron.
-
G girish referenced this topic on
-
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 -
@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.
This was also addressed in OpenEBS - https://github.com/openebs/dynamic-localpv-provisioner/issues/13
-
This was also addressed in OpenEBS - https://github.com/openebs/dynamic-localpv-provisioner/issues/13
-
@robi Nice find, looks like they implemented this as XFS only. Most VPS providers use EXT4 by default afaik.
@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.
-
@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.
-
@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.
-
G girish referenced this topic on
-
G girish referenced this topic 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.
-
@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.