Capítulo 4. Gestión de cuotas de GFS2
Las cuotas del sistema de archivos se utilizan para limitar la cantidad de espacio del sistema de archivos que un usuario o grupo puede utilizar. Un usuario o grupo no tiene un límite de cuota hasta que se establece uno. Cuando un sistema de archivos GFS2 se monta con la opción quota=on
o quota=account
, GFS2 lleva un registro del espacio utilizado por cada usuario y grupo incluso cuando no hay límites establecidos. GFS2 actualiza la información de las cuotas de forma transaccional, por lo que las caídas del sistema no requieren que se reconstruyan los usos de las cuotas.
Para evitar una ralentización del rendimiento, un nodo GFS2 sincroniza las actualizaciones del archivo de cuotas sólo periódicamente. La contabilidad de cuotas difusa puede permitir que los usuarios o grupos superen ligeramente el límite establecido. Para minimizar esto, GFS2 reduce dinámicamente el período de sincronización a medida que se acerca al límite de cuota dura.
GFS2 es compatible con las instalaciones de cuotas estándar de Linux. Para poder utilizarlo, tendrá que instalar el quota RPM. Esta es la forma preferida de administrar las cuotas en GFS2 y debería utilizarse para todas las nuevas implementaciones de GFS2 que utilicen cuotas. Esta sección documenta la administración de cuotas de GFS2 utilizando estas facilidades.
Para más información sobre las cuotas de disco, consulte las páginas man
de los siguientes comandos:
-
quotacheck
-
edquota
-
repquota
-
quota
4.1. Configuración de cuotas de disco GFS2
Para implementar las cuotas de disco, siga los siguientes pasos:
- Configurar las cuotas en modo de aplicación o de contabilidad.
- Inicializar el archivo de la base de datos de cuotas con la información de uso de bloques actual.
- Asignar políticas de cuotas. (En el modo contable, estas políticas no se aplican)
Cada uno de estos pasos se discute en detalle en las siguientes secciones.
4.1.1. Configuración de las cuotas en modo de aplicación o en modo contable
En los sistemas de archivos GFS2, las cuotas están desactivadas por defecto. Para habilitar las cuotas para un sistema de archivos, monte el sistema de archivos con la opción quota=on
especificada.
Para montar un sistema de archivos con cuotas habilitadas, especifique quota=on
para el argumento options
cuando cree el recurso del sistema de archivos GFS2 en un clúster. Por ejemplo, el siguiente comando especifica que el recurso GFS2 Filesystem
que se está creando se montará con cuotas habilitadas.
# pcs resource create gfs2mount Filesystem options="quota=on" device=BLOCKDEVICE directory=MOUNTPOINT fstype=gfs2 clone
Es posible hacer un seguimiento del uso del disco y mantener la contabilidad de cuotas para cada usuario y grupo sin aplicar los valores de límite y advertencia. Para ello, monte el sistema de archivos con la opción quota=account
especificada.
Para montar un sistema de archivos con cuotas desactivadas, especifique quota=off
para el argumento options
cuando cree el recurso del sistema de archivos GFS2 en un clúster.
4.1.2. Creación de los archivos de la base de datos de cuotas
Después de montar cada sistema de archivos habilitado para cuotas, el sistema es capaz de trabajar con cuotas de disco. Sin embargo, el sistema de archivos en sí mismo aún no está preparado para soportar cuotas. El siguiente paso es ejecutar el comando quotacheck
.
El comando quotacheck
examina los sistemas de archivos con cuotas habilitadas y construye una tabla del uso actual del disco por sistema de archivos. La tabla se utiliza entonces para actualizar la copia del uso del disco del sistema operativo. Además, se actualizan los archivos de cuota de disco del sistema de archivos.
Para crear los archivos de cuotas en el sistema de archivos, utilice las opciones -u
y -g
del comando quotacheck
; ambas opciones deben especificarse para que se inicialicen las cuotas de usuarios y grupos. Por ejemplo, si las cuotas están activadas para el sistema de archivos /home
, cree los archivos en el directorio /home
:
quotacheck -ug /home
4.1.3. Asignación de cuotas por usuario
El último paso es asignar las cuotas de disco con el comando edquota
. Tenga en cuenta que si ha montado su sistema de archivos en modo contable (con la opción quota=account
especificada), las cuotas no se aplican.
Para configurar la cuota de un usuario, como root en un prompt del shell, ejecute el comando
# edquota username
Realice este paso para cada usuario que necesite una cuota. Por ejemplo, si se habilita una cuota para la partición /home
(/dev/VolGroup00/LogVol02
en el ejemplo siguiente) y se ejecuta el comando edquota testuser
, se muestra lo siguiente en el editor configurado por defecto para el sistema:
Disk quotas for user testuser (uid 501): Filesystem blocks soft hard inodes soft hard /dev/VolGroup00/LogVol02 440436 0 0
El editor de texto definido por la variable de entorno EDITOR
es utilizado por edquota
. Para cambiar el editor, establezca la variable de entorno EDITOR
en su archivo ~/.bash_profile
con la ruta completa del editor de su elección.
La primera columna es el nombre del sistema de archivos que tiene una cuota habilitada para él. La segunda columna muestra cuántos bloques está utilizando actualmente el usuario. Las dos columnas siguientes se utilizan para establecer límites de bloques blandos y duros para el usuario en el sistema de archivos.
El límite de bloques blandos define la cantidad máxima de espacio en disco que se puede utilizar.
El límite de bloques duros es la cantidad máxima absoluta de espacio en disco que un usuario o grupo puede utilizar. Una vez que se alcanza este límite, no se puede utilizar más espacio en disco.
El sistema de archivos GFS2 no mantiene cuotas para los inodos, por lo que estas columnas no se aplican a los sistemas de archivos GFS2 y estarán en blanco.
Si alguno de los valores está en 0, ese límite no está establecido. En el editor de texto, cambie los límites. Por ejemplo:
Disk quotas for user testuser (uid 501): Filesystem blocks soft hard inodes soft hard /dev/VolGroup00/LogVol02 440436 500000 550000
Para verificar que la cuota para el usuario se ha establecido, utilice el siguiente comando:
# quota testuser
También puedes establecer cuotas desde la línea de comandos con el comando setquota
. Para obtener información sobre el comando setquota
, consulte la página de manual setquota
(8).
4.1.4. Asignación de cuotas por grupo
Las cuotas también se pueden asignar por grupos. Tenga en cuenta que si ha montado su sistema de archivos en modo contable (con la opción account=on
especificada), las cuotas no se aplican.
Para establecer una cuota de grupo para el grupo devel
(el grupo debe existir antes de establecer la cuota de grupo), utilice el siguiente comando:
# edquota -g devel
Este comando muestra la cuota existente para el grupo en el editor de texto:
Disk quotas for group devel (gid 505): Filesystem blocks soft hard inodes soft hard /dev/VolGroup00/LogVol02 440400 0 0
El sistema de archivos GFS2 no mantiene cuotas para los inodos, por lo que estas columnas no se aplican a los sistemas de archivos GFS2 y estarán en blanco. Modifique los límites y guarde el archivo.
Para comprobar que se ha establecido la cuota de grupo, utilice el siguiente comando:
$ quota -g devel