Tengo los siguientes escenarios:
Partición única montada como /, con mucho espacio en disco.
Hay una variedad de directorios (/ pg / tbs1, / pg / tbs2, / pg / tbs3, etc.), y me gustaría limitar el tamaño total de estos directorios.
Una opción es hacer algunos archivos grandes, y luego crearlos en mkfs, y montarlos sobre loopback, y luego establecer la cuota, pero esto hace que la expansión sea un poco problemática.
¿Hay alguna otra forma de hacer que la cuota funcione por directorio?
resize2fs
para hacer crecer el sistema de archivos. Creo que usar LVM es una mejor solución, pero la que propusiste no tiene las limitaciones que crees que tiene.Respuestas:
Si se ve obligado a usar ext3, entonces usar LVM es probablemente su mejor solución. Cree un nuevo sistema de archivos por proyecto. Eso se vería así:
Hacer crecer los sistemas de archivos del proyecto es fácil:
fuente
Si no confía en los permisos de grupo, puede usar un grupo UNIX diferente para cada "directorio de cuota", luego establecer un bit sgid en cada directorio (de modo que los archivos y directorios creados pertenecerán al grupo del directorio en lugar del grupo primario) del usuario creador) y use cuotas de grupo.
fuente
Sí. Mire el sistema de archivos XFS y la cuota del proyecto. Otro sistema de archivos no ofrece esta característica.
fuente
De hecho, he querido hacer esto por un tiempo porque no quería tener que hacer usuarios del sistema para todos mis usuarios de correo virtual. Los sistemas de archivos ZFS con cuotas serían excelentes, y zfs-fuse progresa todos los días, pero lo que quería era una solución muy ligera. Finalmente, decidí escribir un sistema de archivos FUSE que pudiera montar como una capa sobre otro sistema de archivos (cualquier directorio base funcionará en realidad). Tiene una utilidad para administrar cuotas con la que se puede programar fácilmente y dado que los valores de las cuotas se almacenan simplemente como xattrs en directorios o archivos, un punto de montaje puede proporcionar soporte para un número arbitrario de cuotas.
Lo he estado probando en un servidor de correo durante un tiempo y recientemente decidí que había llegado a la adolescencia y que estaba listo para lanzarse a la naturaleza. Si tiene curiosidad, puede consultarlo en http://code.google.com/p/fusequota/ . Agradecería mucho cualquier comentario.
fuente
El nuevo sistema de archivos para cada carpeta compartida es excesivo en mi humilde opinión. Simplemente cree un nuevo grupo para cada carpeta compartida, establezca el grupo propietario de la carpeta compartida en este grupo, establezca un bit fijo en el grupo (para que cada nuevo archivo y directorio tenga este grupo como propietario) y para los permisos en archivos y carpetas use listas acl. Luego establezca cuotas para estos grupos.
fuente
No conozco ningún método para establecer comillas por directorio.
Pero a lo largo de su idea de crear sistemas de archivos con un tamaño limitado. Este podría ser un lugar donde lvm sería una buena solución.
Puede hacer una copia de seguridad / reinstalar y usar lvm , solo asignando la cantidad mínima de espacio necesaria a sus volúmenes lógicos. Es muy fácil extender volúmenes lógicos lvm .
fuente