XFS admite cuotas de disco por usuario, por grupo y por proyecto. Las cuotas de disco del proyecto le permiten limitar la cantidad de espacio en disco en jerarquías de directorios individuales. Puede configurar límites estrictos y flexibles en la cantidad de bloques de disco (o espacio en disco) y la cantidad de inodos, que limitan la cantidad de archivos que un usuario puede crear. Las cuotas no se aplican al usuario root.
Primero debe habilitar cuotas para usuarios, grupos y/o proyectos usando una opción de montaje al montar para el sistema de archivos XFS. Después de habilitar las cuotas, use el comando xfs_quota para establecer límites y ver información sobre las cuotas.
Habilitación de cuotas
Para habilitar cuotas para usuarios en un sistema de archivos XFS, incluya la opción de cuota en la entrada /etc/fstab para el sistema de archivos, o monte el sistema de archivos con la cuota. opción:
# mount –o quota /dev/xvdb1 /xfs
Para habilitar cuotas para grupos, incluya la opción gquota en la entrada /etc/fstab para el sistema de archivos, o monte el sistema de archivos con gquota opción:
# mount –o gquota /dev/xvdb1 /xfs
Para habilitar cuotas para proyectos, incluya la opción prjquota en la entrada /etc/fstab para el sistema de archivos, o monte el sistema de archivos con prjquota opción:
# mount –o prjquota /dev/xvdb1 /xfs
Como alternativa, puede incluir las opciones de montaje de cuota en el archivo /etc/fstab. El siguiente ejemplo muestra entradas en el archivo /etc/fstab para habilitar cuotas para usuarios, grupos y proyectos, respectivamente, en un sistema de archivos XFS. Estos ejemplos también montan el sistema de archivos con permisos de lectura/escritura:
# vim /etc/fstab /dev/xvdb1 /xfs xfs rw,quota 0 0 /dev/xvdb1 /xfs xfs rw,gquota 0 0 /dev/xvdb1 /xfs xfs rw,prjquota 0 0
Opciones de montaje de cuotas de XFS
Hay disponibles otras opciones de montaje de "cuota" para sistemas de archivos XFS. La siguiente es una lista completa de opciones de montaje para habilitar cuotas de usuario en sistemas de archivos XFS:
- cuota|ucuota|usrcuota :habilite las cuotas de usuario y haga cumplir los límites de uso.
- uqnoenforce :habilite las cuotas de usuario. Reporte el uso pero no imponga límites de uso.
Las opciones de montaje de cuota de grupo incluyen lo siguiente:
- gcuota|grpcuota :habilite las cuotas de grupo y haga cumplir los límites de uso.
- gqnoenforce :habilite las cuotas de grupo. Reporte el uso pero no imponga límites de uso.
Las opciones de montaje de la cuota del proyecto incluyen lo siguiente:
- pcuota|prjcuota :habilite las cuotas del proyecto y haga cumplir los límites de uso.
- pqnoenforce :habilite las cuotas del proyecto. Reporte el uso pero no imponga límites de uso.
Informar información sobre el estado de la cuota
Puede utilizar el siguiente xfs_quota Comando para reportar la información general del estado de la cuota:
# xfs_quota -x -c state User quota state on /data (/dev/mapper/vg_test-lv_test) Accounting: ON Enforcement: ON Inode: #67 (1 blocks, 1 extents) Group quota state on /data (/dev/mapper/vg_test-lv_test) Accounting: OFF Enforcement: OFF Inode: #0 (0 blocks, 0 extents) Project quota state on /data (/dev/mapper/vg_test-lv_test) Accounting: OFF Enforcement: OFF Inode: #0 (0 blocks, 0 extents) Blocks grace time: [7 days] Inodes grace time: [7 days] Realtime Blocks grace time: [7 days]
Este comando informa si la contabilidad de cuotas de disco de usuarios, grupos y proyectos está habilitada y si se aplican límites. También se informa el período de gracia para bloques e inodos. El temporizador para el período de gracia se habilita cada vez que se excede el límite flexible. Si se siguen excediendo los límites flexibles después de que expire el período de gracia, no se asignan más espacio en disco ni inodos.
Utilidad xfs_quota
Después de habilitar las cuotas mediante las opciones de montaje del sistema de archivos XFS, use el comando xfs_quota para informar sobre la cuota del sistema de archivos, establecer límites de bloques e inodos, habilitar o deshabilitar la aplicación de cuotas, modificar la información de tiempo de espera de aplicación de cuotas (período de gracia) y realizar otras tareas de administración de cuotas. operaciones en sistemas de archivos XFS.
La utilidad xfs_quota proporciona varios subcomandos de usuario y administrador. Estos subcomandos pueden emitirse en modo interactivo o incluirse como argumentos del comando xfs_quota. Ingrese xfs_quota sin opciones ni argumentos para ingresar al modo interactivo. Aparece un aviso xfs_quota> en modo interactivo. Introduzca ayuda o ? para ver los subcomandos disponibles. También puede ingresar el nombre del comando de ayuda para mostrar información adicional sobre un subcomando específico.
# xfs_quota xfs_quota> help df [-bir] [-hn] [-f file] -- show free and used counts for blocks and inodes help [command] -- help for one or all commands print -- list known mount points and projects quit -- exit the program quota [-bir] [-g|-p|-u] [-hnNv] [-f file] [id|name]... -- show usage and limits Use 'help commandname' for extended help.
Cuando incluya subcomandos xfs_quota desde la línea de comando, use el –c [comando] opción. Cualquier modificación al sistema de cuotas desde la línea de comandos también requiere la opción -x (habilitar el modo experto) . El siguiente ejemplo utiliza el subcomando limit para establecer un límite suave de 5 MB y un límite estricto de 6 MB en el sistema de archivos XFS para el usuario john:
# xfs_quota –x –c 'limit –u bsoft=5m bhard=6m john' /xfs
El siguiente ejemplo establece un límite suave de 100 inodos y un límite estricto de 150 inodos para el grupo de estudiantes:
# xfs_quota –x –c 'limit –g isoft=100 ihard=150 students' /xfs
Mostrar información de cuota
Utilice el comando xfs_quota para mostrar información sobre las cuotas de disco. Para enumerar todas las rutas con dispositivos e identificadores:
# xfs_quota -x -c print Filesystem Pathname /data /dev/mapper/vg_test-lv_test (uquota)
Para informar sobre el uso del sistema de archivos para bloques (-b) e inodos (-i):
# xfs_quota -x -c 'free -hb' Filesystem Size Used Avail Use% Pathname /dev/mapper/vg_test-lv_test 35.5G 41.1M 35.4G 0% /data
# xfs_quota -x -c 'free -hi' Filesystem Inodes Used Free Use% Pathname /dev/mapper/vg_test-lv_test 18.6m 5 18.6m 0% /data
Para informar sobre la cuota del sistema de archivos:
# xfs_quota -x -c report /data User quota on /data (/dev/mapper/vg_test-lv_test) Blocks User ID Used Soft Hard Warn/Grace ---------- -------------------------------------------------- root 4 0 0 00 [--------]
Para reportar información de cuotas en formato legible por humanos en /data:
# xfs_quota -x -c 'report -h' /data User quota on /data (/dev/mapper/vg_test-lv_test) Blocks User ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 4K 0 0 00 [------]
Establecer cuotas de proyecto
XFS le permite establecer cuotas en jerarquías de directorios individuales. Puede crear una entrada en /etc/projects que asocia la jerarquía de directorios del sistema de archivos XFS con un ID de proyecto único. Por ejemplo, la siguiente entrada en /etc/projects asocia un ID de proyecto de 50 con el directorio /data:
50:/data
Opcionalmente, puede usar el archivo /etc/projid para asociar un nombre de proyecto a una ID de proyecto. Por ejemplo, la siguiente entrada en el archivo /etc/projid asocia la prueba del nombre del proyecto con el ID del proyecto 50:
test:50
Después de definir un proyecto en /etc/projects, use el comando xfs_quota para inicializar su directorio de proyecto:
# xfs_quota –x –c 'project –s test' /data
Utilice el comando xfs_quota para establecer límites para proyectos con directorios inicializados. El siguiente ejemplo establece un límite suave de 5 MB y un límite estricto de 6 MB para el proyecto de prueba:
# xfs_quota –x –c ‘limit –p bsoft=5m bhard=6m test’ /dataCómo hacer copias de seguridad y restaurar sistemas de archivos XFS (xfsdump / xfsrestore)
Ejecutar reparaciones en sistemas de archivos XFS
Cómo hacer crecer/ampliar el sistema de archivos XFS en CentOS/RHEL usando el comando “xfs_growfs”