Tengo un VPS. Se maneja con los famosos paralelos plesk.
hoy comencé a ver mensajes (a través de wordpress al principio, pero también desde el shell de la línea de comandos), diciendo: "Cuota de disco excedida".
user@machine:~$ echo aaa > /tmp/aaa
-bash: /tmp/aaa: Disk quota exceeded
pero hay mucho espacio en la máquina y solo 1 partición.
user@machine:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vzfs 100G 24G 77G 24% /
Eliminé todos los archivos de / tmp / * pero aún así.
No sé nada sobre "vzfs", ¿tal vez es el culpable?
¿Qué pudo haber salido mal? y como puedo arreglarlo?
¡Solución!
(si NO usa Parallels Plesk, vea la respuesta de @ Adalee)
Vea la solución de @deltik, relevante para el sistema Parallel, como en mi caso.
df -i inmediatamente dio un número ridículo de inodes: 18,446,744,069,620,218,961 que es una locura para un sitio web de WordPress.
exploré más y descubrí que la cola de qmail está llena de inodos (está llena con algunos intentos de piratas informáticos para usar mi máquina para enviar correos no deseados y respuestas fallidas)
arreglar qmail no es relevante aquí, pero mi solución es relevante:
- detuvo el servicio de qmail
- no pude descargar qmhandle al sistema de exceso de cuota, así que tuve que
- extraer y subir el script a otro sitio web,
- elimine la cola con este comando:
- perl <(wget -O - http://link.to.my/script.pl ) -D
de esta manera, el script se ejecuta directamente desde la web (lo cual no es una práctica segura, pero yo mismo lo puse allí), con opciones de línea de comandos.
¡Gracias @deltik por conocer y reconocer rápidamente esta configuración peculiar en el acto, y por proporcionar medios para un diagnóstico más profundo!
vzfs
(el sistema de archivos "virtual" de OpenVZ) puede ser la causa. He visto muchos proveedores de OpenVZ que venden servidores increíblemente baratos, pero les imponen límites imposiblemente estúpidos.Respuestas:
Tiene un sistema de archivos VZFS, lo que significa que su VPS es una máquina virtual Parallels Virtuozzo. En Virtuozzo, el proveedor de alojamiento puede establecer límites en muchos parámetros, incluidas las asignaciones que obtiene con VZFS.
Causa: Fuera de Inodes (más común)
Después de años de trabajar con cientos de clientes de Virtuozzo VPS que han tenido el problema de no poder crear archivos, a pesar de que parecía haber mucho espacio libre, la gran mayoría de ellos había alcanzado su límite de inodo. Ejecute este comando para ver la asignación de inodes (
Inodes
), los inodes utilizados (IUsed
), los inodes restantes (IFree
) y el porcentaje de inodes utilizados (IUse%
):Tener un 100% de uso de inodo sucede mucho. Causas comunes en mi experiencia:
session.gc_maxlifetime
) en más de cien añosSolución de problemas
Si encuentra que está bajo o sin inodos pero no sabe dónde están la mayoría de ellos, tengo este Bash one-liner que busca en el directorio actual y cuenta los inodos en una profundidad de carpeta de 1:
Puede seguir cambiando el directorio de trabajo actual a partir de
/
hasta que encuentre al culpable usando su asignación de inodo.Explicación
Su VPS está en un sistema de archivos VZFS, que forma parte de Parallels Virtuozzo (no OpenVZ, que es similar y está basado en la misma tecnología, pero OpenVZ no estaría usando VZFS).
Debido a la forma en que Virtuozzo almacena archivos en VZFS, los inodos a menudo están más limitados de lo que lo estarían en otros sistemas de archivos como ext4 o XFS. El host rastrea todos estos archivos, y sería ventajoso para el proveedor de hosting no permitir que un solo VPS tome cientos de millones de inodos. Como resultado, el proveedor de hosting puede establecer que el límite de inodo sea bajo, como 1,000,000 de inodes.
Después de años de trabajar con cientos de clientes que agotaron su asignación de inodo en Virtuozzo, estos problemas de cuota de disco "misteriosos" ya no me sorprenden.
Causa: otros límites de Virtuozzo
Un porcentaje muy pequeño de los clientes de Virtuozzo VPS con los que he trabajado tuvieron problemas con el sistema de archivos porque alcanzaron otros límites. Puede ver algunos (pero no todos) de los límites con este comando:
Solución de problemas
Si la
failcnt
columna tiene un valor mayor que 0 o unheld
valor de columna es igual allimit
valor correspondiente , ha alcanzado un límite.Puede consultar cuál es cada parámetro en la wiki de OpenVZ aquí . Un parámetro puede ser "primario", "secundario" o "auxiliar".
Debe comunicarse con su proveedor de alojamiento para obtener más ayuda si descubre que no puede disminuir el
held
recuento de un límite que ha alcanzado su VPS.Esta respuesta se puede ampliar mucho dependiendo de qué granos se hayan maximizado, ya que los diferentes límites alcanzados causan diferentes síntomas.
Causa: Límite (s) disminuido después de ser golpeado
Con respecto
/proc/user_beancounters
odf -i
, a veces, un administrador del sistema Virtuozzo puede disminuir el valorlimit
de un parámetro por debajo delheld
valor.Por ejemplo, si el límite original del
diskinodes
parámetro era 1,500,000 y usted alcanza el límite, entonces alguien en su proveedor de alojamiento establece su límite de inodo en 1,000,000, vería un extraño informe de inododf -i
que no tiene sentido.Por su parte, podría ver un número irrazonablemente grande, como 18,446,744,069,620,218,961 .
Considero que este es un comportamiento siniestro del proveedor de alojamiento, especialmente si no le informan, porque los valores inusuales que ve van en contra del conocimiento de los súper usuarios que no tienen experiencia con Virtuozzo / OpenVZ, lo que conduce a engaño consejo ( ejemplo , otro ejemplo ).
Solución de problemas
Póngase en contacto con su proveedor de alojamiento. Muéstreles lo que encontró y trabaje con ellos para que sus granos se mantengan por debajo del límite.
Si se niegan a ayudarlo, abandone a su proveedor de alojamiento y busque otro que no use la virtualización Virtuozzo / OpenVZ. La virtualización KVM, la virtualización VMware, la virtualización Xen o los servidores básicos estarán sujetos a muchos menos límites que Virtuozzo / OpenVZ.
Explicación
Su proveedor de alojamiento puede haber estado auditando o respondiendo a una alerta y descubrió que su VPS estaba usando demasiado recurso específico (casi siempre el límite de inodes, que es el
diskinodes
parámetro en su extremo).Un administrador inexperto de Virtuozzo en el proveedor de alojamiento cree que puede limitar el problema al reducir el límite a algo más bajo que el uso real de los recursos. En el caso de los inodos, puede tener una asignación más baja, como 1,000,000, a pesar de que su uso actual real puede ser mayor, como 1,500,000.
El administrador de Virtuozzo en su panel de control vería su uso real y el nuevo límite, pero vería números falsos que posiblemente sean irrazonablemente altos debido a la forma en que Virtuozzo virtualiza.
Un administrador negligente de Virtuozzo no le informará sobre este cambio, por lo que debe comunicarse con su proveedor de alojamiento si le sucede esto.
fuente
"Cuota de disco excedida" no significa que no haya espacio disponible en su disco, sino que no se le permite usar tanto espacio.
En general, las cuotas son algunos límites establecidos por el administrador: número máximo de procesos que puede ejecutar, cuánto espacio puede ocupar, cuántos archivos puede tener, etc. Se pueden establecer cuotas de disco para el número máximo de inodos y bloques de disco.
Intente ejecutar
quota
yquota -g
(alternativamente, puede ejecutarrepquota -u
yrepqouta -g
) para ver si su usuario está restringido de esta manera y cómo. En caso afirmativo, puede editar esas cuotas conedquota
o desactivarlas con elquotaoff
comando. Es posible que deba iniciar sesión como root para esto, dependiendo de su configuración.Este sitio cubre algunos ejemplos de cómo trabajar con cuotas y también contiene enlaces a páginas de manuales con comandos útiles.
fuente