j'ai un VPS. Il est géré avec les parallèles notoires plesk.
aujourd’hui, j’ai commencé à voir des messages (via Wordpress au début, mais aussi à partir de la ligne de commande Shell), disant: "Quota de disque dépassé".
user@machine:~$ echo aaa > /tmp/aaa
-bash: /tmp/aaa: Disk quota exceeded
mais il y a beaucoup d'espace sur la machine et une seule partition.
user@machine:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vzfs 100G 24G 77G 24% /
J'ai supprimé tous les fichiers de/tmp/* mais quand même.
Je ne sais rien à propos de "vzfs", peut-être que c'est le coupable?
Qu'est-ce qui aurait pu mal tourner? et comment peut le réparer?
Solution!
(Si vous n'utilisez pas Parallels Plesk, voir la réponse de @ Adalee)
Voir la solution de @deltik, pertinente pour le système de Parallel, comme dans mon cas.
df -i a immédiatement donné un nombre incalculable d’inodes: 18 446 744 069 620 218 961, ce qui est insensé pour un site wordpress.
j'ai ensuite exploré et découvert que la file d'attente de qmail était pleine d'inodes (avec les tentatives de certains pirates informatiques d'utiliser ma machine pour envoyer du spam et des réponses en cas d'échec)
la correction de qmail n'est pas pertinente ici, mais ma solution de contournement est pertinente:
ainsi, le script s’exécute directement à partir du Web (ce qui n’est pas une pratique sûre, mais j’y avais mis le script par moi-même), avec des options en ligne de commande.
merci à @deltik de connaître et de reconnaître rapidement cette configuration particulière sur place et de fournir un moyen de diagnostiquer davantage !!!
Vous avez un système de fichiers VZFS, ce qui signifie que votre VPS est une machine virtuelle Parallels Virtuozzo. Dans Virtuozzo, le fournisseur d’hébergement peut définir des limites pour de nombreux paramètres, y compris les allocations que vous obtenez avec VZFS.
Après des années de travail avec des centaines de clients Virtuozzo VPS qui n’avaient pas pu créer de fichiers, même s’il semblait y avoir beaucoup d’espace libre, la grande majorité d’entre eux avaient atteint leur limite d’inodes. Exécutez cette commande pour voir l'allocation d'inodes (Inodes
name__), les inodes utilisés (IUsed
name__), les inodes restants (IFree
name__) et le pourcentage d'inodes utilisés (IUse%
):
df -i
Avoir 100% d'utilisation d'inode arrive souvent. Causes communes dans mon expérience:
session.gc_maxlifetime
) sur plus de cent ansSi vous constatez que votre nombre d'inodes est faible ou insuffisant, mais que vous ne savez pas où se trouvent la plupart d'entre eux, j'ai cette ligne unique Bash qui effectue une recherche dans le répertoire actuel et compte les inodes à une profondeur de dossier de 1:
for i in $(find $(pwd) -maxdepth 1 -type d | sort); do echo -e "$(find "$i" | wc -l)\t: $(readlink -f "$i")"; done | sort -nr
Vous pouvez continuer à modifier le répertoire de travail en cours à partir de /
jusqu'à ce que vous trouviez le coupable qui utilise votre allocation d'inodes.
Votre VPS est sur un système de fichiers VZFS, qui fait partie de Parallels Virtuozzo (pas OpenVZ, qui est similaire et basé sur la même technologie, mais OpenVZ n’utiliserait pas VZFS).
En raison de la manière dont Virtuozzo stocke les fichiers dans VZFS, les inodes sont souvent plus limités que sur d’autres systèmes de fichiers tels que ext4 ou XFS. L'hôte suit tous ces fichiers et il serait avantageux pour le fournisseur d'hébergement de ne pas laisser un seul serveur virtuel virtuel prendre des centaines de millions d'inodes. En conséquence, le fournisseur d'hébergement peut définir une limite d'inode faible, par exemple 1 000 000 inodes.
Après des années de travail avec des centaines de clients qui ont épuisé leur allocation d'inodes sur Virtuozzo, ces problèmes de "mystérieux" quotas de disques ne me surprennent plus.
Un très petit pourcentage des clients Virtuozzo VPS avec lesquels j'ai travaillé avait des problèmes de système de fichiers car ils atteignaient d'autres limites. Vous pouvez voir certaines des limites (mais pas toutes) avec cette commande:
cat /proc/user_beancounters
Si la colonne failcnt
a une valeur supérieure à 0 ou qu'une valeur de colonne held
est égale à la valeur correspondante limit
name__, vous avez atteint une limite.
Vous pouvez rechercher chaque paramètre sur le wiki d'OpenVZ ici . Un paramètre peut être "primaire", "secondaire" ou "auxiliaire".
Si vous pensez que vous ne pouvez pas réduire le nombre held
pour une limite atteinte par votre VPS, contactez votre fournisseur d’hébergement pour obtenir de l’aide.
Cette réponse peut être considérablement élargie en fonction du nombre maximum de haricots, car différentes limites atteintes entraînent différents symptômes.
En ce qui concerne /proc/user_beancounters
ou df -i
, un administrateur système Virtuozzo peut parfois diminuer le limit
d'un paramètre inférieur à la valeur held
name__.
Par exemple, si la limite initiale du paramètre diskinodes
était de 1 500 000 et que vous atteignez cette limite, une personne de votre fournisseur d'hébergement définit votre limite d'inode à 1 000 000, vous verrez alors un rapport inode bizarre de df -i
qui n'a aucun sens.
De votre côté, vous pourriez voir un nombre déraisonnablement grand, comme 18 446 744 069, 620, 218 961 .
Je considère qu'il s'agit d'un comportement sinistre de la part du fournisseur d'hébergement, en particulier s'il ne vous informe pas, car les valeurs inhabituelles que vous voyez vont à l'encontre des connaissances des super-utilisateurs qui n'ont pas l'expérience de Virtuozzo/OpenVZ, ce qui conduit à des indications trompeuses. advice ( exemple , autre exemple ).
Contactez votre fournisseur d'hébergement. Montrez-leur ce que vous avez trouvé et travaillez avec eux pour que vos haricots tenus restent en dessous de la limite.
S'ils refusent de vous aider, abandonnez votre fournisseur d'hébergement et trouvez-en un autre qui n'utilise pas la virtualisation Virtuozzo/OpenVZ. KVM la virtualisation, la virtualisation VMware, la virtualisation Xen ou les serveurs bare metal seraient soumis à beaucoup moins de limites que Virtuozzo/OpenVZ.
Votre fournisseur d'hébergement a peut-être audité ou répondu à une alerte et constaté que votre VPS utilisait trop d'une ressource spécifique (presque toujours la limite d'inodes, qui est le paramètre diskinodes
de leur côté).
Un administrateur Virtuozzo inexpérimenté du fournisseur d’hébergement estime qu’il peut limiter le problème en réduisant la limite à un niveau inférieur à l’utilisation réelle des ressources. Dans le cas des inodes, vous pouvez avoir une allocation plus faible, comme 1 000 000, même si votre utilisation actuelle peut être plus élevée, comme 1 500 000.
L'administrateur de Virtuozzo dans son panneau de configuration verrait votre utilisation réelle et la nouvelle limite, mais vous verriez des chiffres factices qui pourraient être très déraisonnablement élevés en raison de la virtualisation de Virtuozzo.
Un administrateur Virtuozzo négligent ne vous informerait pas de ce changement. C'est pourquoi vous devriez contacter votre fournisseur d'hébergement si cela vous arrive.
"Quota de disque dépassé" ne signifie pas qu'il n'y a pas d'espace disponible sur votre disque, mais que vous n'êtes pas autorisé à utiliser autant d'espace.
En règle générale, les quotas sont des limites définies par l'administrateur: nombre maximal de processus que vous pouvez exécuter, espace disponible, nombre de fichiers, etc. Des quotas de disque peuvent être définis pour un nombre maximal d'inodes et de blocs de disque.
Essayez d'exécuter quota
et quota -g
(vous pouvez également exécuter repquota -u
et repqouta -g
) pour voir si votre utilisateur est restreint de cette manière et comment. Si tel est le cas, vous pouvez modifier ces quotas avec edquota
ou les désactiver avec la commande quotaoff
. Vous devrez peut-être vous connecter en tant que root pour cela, en fonction de vos paramètres.
Ce site couvre quelques exemples d'utilisation des quotas et contient également des liens vers des pages de manuel contenant des commandes utiles.