73 votes

Xvda1 est plein à 100%, Qu'est-ce que c'est? Comment réparer?

Je cours une instance Linux sur EC2 (J'ai installé MongoDB et node.js) et je reçois cette erreur :

Impossible d'écrire : plus d'espace disponible sur le périphérique

Je pense avoir identifié ce fichier, voici la sortie df

Système de fichiers      Blocs de 1K    Utilisés Disponible Utilisation Monté sur
/dev/xvda1             1032088   1032088         0 100% /

Le problème est que je ne sais pas quel est ce fichier et je ne sais pas non plus si ce fichier est réellement le problème.

Alors ma question est : Comment puis-je résoudre l'erreur "No space left on device" ?

102voto

David Schwartz Points 31009

Ce fichier, / est votre répertoire racine. S'il est le seul système de fichiers que vous voyez dans df, alors c'est tout. Vous avez un système de fichiers de 1 Go et il est plein à 100%. Vous pouvez commencer à comprendre comment il est utilisé de cette manière:

sudo du -x / | sort -n | tail -40

Vous pouvez ensuite remplacer / par les chemins qui occupent le plus d'espace. (Ils seront à la fin, grâce au sort. La commande peut prendre un certain temps.)

31 votes

Pour obtenir la sortie dans un format lisible par l'homme, vous pouvez utiliser sudo du -x -h / | sort -h | tail -40 (de cette réponse).

3 votes

Pour ceux qui sont sur de petites instances micro AWS AMI, cela peut prendre une minute ou deux pour s'exécuter. Soyez patients !

0 votes

Que faire avec ceci: tri : écriture a échoué : /tmp/sortGmL8oF : Plus d'espace disponible sur le périphérique

28voto

Swat Points 415

Je sais que je réponds à ce fil de discussion après près de 5 ans mais cela pourrait aider quelqu'un, J'avais le même problème, j'avais une instance m4.xlarge df -h indiquait que le /dev/xvda1 était plein, - 100%

Système de fichiers Taille Utilisé Disponible Utilisation Monté sur
udev            7.9G     0  7.9G   0% /dev
tmpfs           1.6G  177M  1.4G  12% /run
/dev/xvda1      7.7G  7.7G     0 100% /
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
tmpfs           1.6G     0  1.6G   0% /run/user/1000

j'ai essayé de résoudre cela, voici les étapes

sudo find / -type f -printf '%12s %p\n' 2>/dev/null|awk '{if($1>999999999)print $0;}'

Cela m'a aidé à savoir que c'était le conteneur Docker qui prenait tout mon espace j'ai donc poussé tous mes conteneurs vers mon registre Docker puis j'ai fait sudo rm -rf /var/lib/docker/ ça a libéré de l'espace :) j'espère que cela aidera quelqu'un :)

0 votes

Merci. Comment poussez-vous votre conteneur vers votre registre Docker? Ce n'est pas bon de simplement supprimer le fichier xxx-json.log, n'est-ce pas?

11voto

codewise Points 436

Si vous exécutez une instance de démarrage EBS (recommandé), alors vous pouvez augmenter la taille du volume racine (/) en suivant la procédure que je décris dans cet article :

Redimensionnement du disque racine sur une instance EC2 de démarrage EBS en cours d'exécution
http://alestic.com/2010/02/ec2-resize-running-ebs-root

Si vous exécutez une instance basée sur un magasin d'instances (non recommandé), alors vous ne pouvez pas changer la taille du disque racine. Vous devez donc soit supprimer des fichiers, soit déplacer des fichiers vers un stockage éphémère (par exemple, /mnt), soit attacher des volumes EBS et déplacer des fichiers là-bas.

Voici un article que j'ai écrit qui décrit comment déplacer une base de données MySQL du disque racine vers un volume EBS :

Exécution de MySQL sur Amazon EC2 avec EBS
http://aws.amazon.com/articles/1663

...et envisagez de passer à des instances de démarrage EBS. Il y a de nombreuses raisons pour lesquelles vous vous remercierez plus tard.

0 votes

Je suis sur EBS, il est assez bon marché d'agrandir le disque racine non? Heureusement je n'ai pas à m'occuper de MySQL, mes projets sont actuellement sur Mongo/Redis. Du très bon matériel ici. +1

4voto

Paulo Points 41

J'ai résolu ce problème en exécutant cette commande :

sudo apt autoremove 

Beaucoup de vieux paquets ont été supprimés, libérant 5 gigaoctets, par exemple il y avait beaucoup de paquets comme linux-aws-headers-4.4.0-1028

4voto

Gabe Karkanis Points 141

Je suis récemment tombé sur ce problème sur Amazon Linux. Ma file d'attente de messagerie sortante crontab /var/spool/clientmqueue était de 4,5 Go.

Je l'ai résolu en :

  1. Localiser les gros fichiers : sudo find / -type f -size +10M -exec ls -lh {} \;
  2. Supprimer les gros fichiers : /bin/rm -f
  3. Redémarrer l'instance du serveur

Problème résolu !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X