Cuotas de disco
Configuración
Las cuotas permiten poner límites al uso de espacio en los sistemas de archivos por parte de los administradores del sistema. Estos límites son de dos tipos:
- inodos: limita el número de archivos.
- bloques: limita número de bloques.
edquota -t
Se implementan las cuotas de forma individual para cada sistema de archivos, y no para el conjunto de los sistemas de archivos. Se puede gestionar cada usuario de manera totalmente independiente. Ocurre lo mismo con los grupos. Para cada cuota (inodo o bloque), se puede instalar dos límites de tiempo:
- Límite duro (hard): cantidad máxima de inodos o bloques utilizados que el usuario o el grupo no podrán sobrepasar bajo ningún caso. No será posible crear un archivo que supere este límite.
- Límite suave (soft): cantidad máxima de inodos o bloques utilizados que el usuario o el grupo pueden superar de manera temporal. En este caso, las creaciones y modificaciones serán posibles hasta cierto punto marcado por límite duro o el período de gracia.
- Período de gracia. Durante este tiempo el usuario puede continuar trabajando en su sistema de archivos con el objetivo de que se regrese al límite suave en dicho tiempo. Sin embargo, si se supera el periódo de gracia, el límite suave se convierte en un límite duro.
Las cuotas se establecen en el núcleo y en los sistemas de archivos. Para utilizarlas, se deben instalar las herramientas de cuotas (paquetes de cuota). En el ejemplo siguiente se muestra cómo instalar las herramientas en un sistema de archivos ext3.
Implementación
La implementación de las cuotas no funciona en los sistemas de archivos ext o reiserfs. Los ejemplos siguientes se basan en ext. Va a instalar los cuotas en la partición /home conforme a las etapas siguientes:
Modifique las opciones de partición en /etc/fstab. Añada las opciones usrquota (usuario) o grpquota (grupo), o las dos.
LABEL=/home /home ext3 defaults,usrquota 1 2
Monte de nuevo el sistema de archivos.
mount -o remount /home
Cree los archivos que contienen la información de cuota (base de datos de cuotas).
cd /home
touch aquota.user aquota.group
Actualice la base de datos con el comando quotacheck.
Inicie (o detenga) las cuotas. Esta operación no es necesaria después de un nuevo inicio de Linux, ya que la implementación de cuotas está incluida en los scripts de inicio.
- La instrucción quotaon inicia las cuotas para el sistema de archivos indicado ( -a para todos).
- La isntrucción quotaoff deshabilita las cuotas.
quotaon /home
Edite las cuotas para los usuarios o los grupos. Se utiliza el comando edquota. En la práctica, si va a establecer las mismas cuotas a todos los usuarios, se crea un usuario lambda cuyas propiedades se copiarán para los demás.
Establecer las cuotas para josé:
edquota daniel
edquota -u daniel
Las cuotas de arturo son idénticas a las de daniel:
edquota -p daniel arturo
Establezca el período de gracia. El plazo acepta las unidades «seconds», «minutes», «hours», «days», «weeks», «months».
edquota -t
Para verificar las cuotas. Los usuarios pueden comprobar el estado de sus cuotas con el comando quota. El administrador puede generar un informe con repquota. Finalmente, el comando warnquota, que puede ser programado con el cron, puede mandar un mail a los usuarios para avisarles en caso de superación.
La edición de las cuotas se hace con el editor. Los bloques de cuotas son bloques de 1KB.
edquota daniel
Disk quotas for user daniel (uid 502):
Filesystem blocks soft hard inodes soft hard
/dev/hda5 1695256 2500000 3000000 12345 0 0
Con el editor se pueden modificar los valores soft y hard que corresponden a los límites suaves y duros para el número de bloques y el número de inodos. Más arriba, se ha establecido un límite suave de unos 2.4 GB (2500000 KB) y duro de unos 2.9 GB (3000000 KB) de ocupación del sistema de archivos para daniel. La configuración se hizo sólo para bloques y no inodos (valor de 0).
El contenido de los campos blocks e inodos es dinámico y no se debe tocar, ya que de todas maneras no surte ningún efecto.
edquota -t
Filesystem Block grace period Inode grace period
/dev/hda3 7days 7days
# repquota /home
*** Report for user quotas on device /dev/hda5
Block grace time:7 days; Inode grace time: 7 days
Block limits File limits
User Used soft hard grace used soft hard ---------------------------------------------------------
root -- 12345 0 0 5 0 0
daniel -- 1695256 2500000 3000000 12345 0 0
Se recomienda el suso de quotacheck para mantener la coherencia de la información de cuotas de los sistemas de archivos. En caso de que se deshabiliten las cuotas o si el sistema llega a tener un cierra inesperado, es necesario verificar las cuotas y actualizar la información.