En Linux, puede configurar la cuota de disco usando uno de los siguientes métodos:
- Asignación de cuota de disco base del sistema de archivos
- Asignación de cuota de disco basada en usuarios o grupos
Sobre la cuota basada en usuarios o grupos, los siguientes son tres factores importantes a considerar:
- Límite estricto:por ejemplo, si especifica 2 GB como límite estricto, el usuario no podrá crear nuevos archivos después de 2 GB
- Límite flexible:por ejemplo, si especifica 1 GB como límite flexible, el usuario recibirá un mensaje de advertencia "Cuota de disco excedida", una vez que alcance el límite de 1 GB. Sin embargo, aún podrán crear nuevos archivos hasta que alcancen el límite máximo
- Período de gracia:por ejemplo, si especifica 10 días como período de gracia, después de que el usuario alcance su límite máximo, se le permitirán 10 días adicionales para crear nuevos archivos. En ese período de tiempo, deberían intentar volver al límite de la cuota.
1. Habilitar control de cuota en el sistema de archivos
Primero, debe especificar qué sistema de archivos está permitido para la verificación de cuota.
Modifique /etc/fstab y agregue la palabra clave usrquota y grpquota al sistema de archivos correspondiente que le gustaría monitorear.
El siguiente ejemplo indica que la verificación de cuotas de usuarios y grupos está habilitada en /home filesystem
# cat /etc/fstab LABEL=/home /home ext2 defaults,usrquota,grpquota 1 2
Reinicie el servidor después del cambio anterior.
2. Comprobación inicial de cuotas en el sistema de archivos de Linux mediante quotacheck
Una vez que haya habilitado la verificación de cuota de disco en el sistema de archivos, recopile toda la información de cuota inicialmente como se muestra a continuación.
# quotacheck -avug quotacheck: Scanning /dev/sda3 [/home] done quotacheck: Checked 5182 directories and 31566 files quotacheck: Old file not found. quotacheck: Old file not found.
En el comando anterior:
- a:Comprobar todos los sistemas de archivos habilitados para cuotas
- v:modo detallado
- u:comprobar la cuota de disco del usuario
- g:comprobar la cuota de disco del grupo
El comando anterior creará un archivo aquota para el usuario y el grupo en el directorio del sistema de archivos como se muestra a continuación.
# ls -l /home/ -rw------- 1 root root 11264 Jun 21 14:49 aquota.user -rw------- 1 root root 11264 Jun 21 14:49 aquota.group
3. Asigne una cuota de disco a un usuario usando el comando edquota
Use el comando edquota como se muestra a continuación para editar la información de cuota para un usuario específico.
Por ejemplo, para cambiar la cuota de disco para el usuario 'ramesh', use el comando edquota, que abrirá los valores de límite suave y duro en un editor como se muestra a continuación.
# edquota ramesh Disk quotas for user ramesh (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sda3 1419352 0 0 1686 0 0
Una vez que el comando edquota abre la configuración de cuotas para el usuario específico en un editor, puede establecer los siguientes límites:
- límite flexible y estricto para el tamaño de la cuota de disco para el usuario en particular.
- límite flexible y estricto para el número total de inodos permitidos para un usuario en particular.
4. Informe el uso de la cuota de disco para usuarios y grupos mediante repquota
Use el comando repquota como se muestra a continuación para informar el uso de la cuota de disco para los usuarios y grupos.
# repquota /home *** Report for user quotas on device /dev/sda3 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 566488 0 0 5401 0 0 nobody -- 1448 0 0 30 0 0 ramesh -- 1419352 0 0 1686 0 0 john -- 26604 0 0 172 0 0
5. Agregue el control de cuota al trabajo cron diario
Agregue el control de cuota al trabajo cron diario. Cree un archivo de control de cuotas como se muestra a continuación en el directorio /etc/cron.daily, que ejecutará el comando de control de cuotas todos los días. Esto enviará el resultado del comando de comprobación de cuotas a la dirección de correo electrónico raíz.
# cat /etc/cron.daily/quotacheck quotacheck -avug