Configurar Quotas XFS en Ubuntu 22.04 + Cpanel
Problema común
En Ubuntu 22.04 con sistemas de archivos XFS, las quotas pueden no funcionar correctamente debido a que el módulo quota_v2
no se carga automáticamente al arranque, incluso con la configuración correcta en /etc/fstab
.
Síntomas
- Quotas configuradas en
/etc/fstab
pero no funcionan lsmod | grep quota
no muestra ningún resultado- Errores en cPanel relacionados con quotas de usuarios
Diagnóstico
Verificar configuración actual
# Ver mount actual
mount | grep ' on / '
# Verificar fstab
grep usrquota /etc/fstab
# Comprobar módulos quota cargados
lsmod | grep quota
# Estado XFS quotas
xfs_quota -x -c 'state' /
Verificar disponibilidad del módulo
# Buscar módulos quota disponibles
find /lib/modules/$(uname -r) -name "*quota*"
# Información del módulo
modinfo quota_v2
# Dependencias
modprobe --show-depends quota_v2
Solución
1. Verificar que fstab esté correcto
El archivo /etc/fstab
debe tener las opciones usrquota,grpquota
:
# Ejemplo para XFS en LVM
/dev/mapper/ubuntu--vg-ubuntu--lv / xfs rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,usrquota,grpquota 0 1
2. Configurar carga automática del módulo
# Crear archivo de configuración para módulos
echo 'quota_tree' | sudo tee /etc/modules-load.d/quota.conf
echo 'quota_v2' | sudo tee -a /etc/modules-load.d/quota.conf
# Verificar contenido
cat /etc/modules-load.d/quota.conf
Contenido esperado:
quota_tree
quota_v2
3. Método alternativo - /etc/modules
Si el método anterior no funciona:
# Añadir módulos a /etc/modules
echo 'quota_tree' >> /etc/modules
echo 'quota_v2' >> /etc/modules
# Verificar
cat /etc/modules
4. Actualizar initramfs
# Actualizar initramfs para incluir cambios
update-initramfs -u
5. Configurar GRUB (opcional)
Para algunos casos específicos, añadir parámetros al kernel:
# Editar configuración GRUB
nano /etc/default/grub
# Modificar línea (añadir rootflags):
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash rootflags=usrquota,grpquota"
# Actualizar GRUB
update-grub
6. Reiniciar sistema
reboot
Verificación post-configuración
Script de verificación completa
#!/bin/bash
echo "=== VERIFICACIÓN QUOTAS XFS UBUNTU 22.04 ==="
echo "1. Módulo quota_v2 cargado:"
lsmod | grep quota && echo "✅ Módulo cargado" || echo "❌ Módulo NO cargado"
echo -e "\n2. Estado XFS quotas:"
xfs_quota -x -c 'state' / 2>/dev/null && echo "✅ XFS quotas activas" || echo "❌ XFS quotas inactivas"
echo -e "\n3. Mount con quotas:"
mount | grep ' on / ' | grep -q "usrquota\|grpquota" && echo "✅ Mount con quotas" || echo "❌ Mount sin quotas"
echo -e "\n4. Configuración modules-load.d:"
cat /etc/modules-load.d/quota.conf 2>/dev/null || echo "❌ Archivo no existe"
echo -e "\n5. Test quota usuario:"
quota -u root 2>/dev/null && echo "✅ Quotas funcionando" || echo "❌ Quotas no funcionan"
echo -e "\n6. Información detallada XFS:"
xfs_quota -x -c 'state' / 2>/dev/null
Comandos de verificación individuales
# Verificar módulo cargado
lsmod | grep quota
# Estado detallado XFS quotas
xfs_quota -x -c 'state' /
# Verificar quotas de usuario (ejemplo)
quota -u username
# Activar quotas si están deshabilitadas
quotaon -av
# Reporte de uso de quotas
xfs_quota -x -c 'report -u' / | head -20
Comandos útiles para gestión
Comandos XFS quota básicos
# Ver estado general
xfs_quota -x -c 'state' /
# Reporte de usuarios
xfs_quota -x -c 'report -u' /
# Reporte de grupos
xfs_quota -x -c 'report -g' /
# Establecer quota para usuario
xfs_quota -x -c 'limit bsoft=1G bhard=2G username' /
# Ver quota específica de usuario
xfs_quota -x -c 'quota -u username' /
Troubleshooting
# Si las quotas no funcionan después de la configuración
quotacheck -cug /
quotaon -av
# Remount con quotas (sin reinicio)
mount -o remount,usrquota,grpquota /
# Verificar que el filesystem soporta quotas
tune2fs -l /dev/device | grep -i quota # Para ext4
xfs_info / | grep -i quota # Para XFS
Notas importantes
- XFS vs EXT4: Este procedimiento es específico para XFS. EXT4 tiene un comportamiento diferente.
- cPanel: Después de configurar quotas, es recomendable reiniciar cPanel:
systemctl restart cpanel
- LVM: Si usas LVM, asegúrate de que las opciones están en el volumen lógico correcto.
- Backup: Siempre realiza backup antes de modificar
/etc/fstab
o configuraciones de arranque. - Grub: Presta muchisima atención a grub y las acciones sobre el. Se puede dejar el sistema roto.
Referencias
Histórico de cambios
- Inicial: Configuración básica para Ubuntu 22.04 + XFS
- Verificado: Funcionando en Ubuntu 22.04 LTS con XFS sobre LVM
Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris
Si necesitas soporte profesional puedes contratar con Castris soporte profesional.