web-dev-qa-db-fra.com

xvda1 est 100% plein, qu'est-ce que c'est? comment réparer?

J'exécute une instance Linux sur EC2 (j'ai MongoDB et node.js installés) et j'obtiens cette erreur:

Cannot write: No space left on device

Je pense que je l'ai retrouvé dans ce fichier, voici la sortie df

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda1             1032088   1032088         0 100% /

Le problème est que je ne sais pas ce que ce fichier est et je ne sais pas si ce fichier est même le problème.

Ma question est donc la suivante: comment puis-je corriger l'erreur "Il n'y a plus d'espace sur l'appareil"?

46
Chris Biscardi

Ce fichier, / est votre répertoire racine. Si c'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 100% complet. Vous pouvez commencer à comprendre comment il est utilisé comme ceci:

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

Vous pouvez ensuite remplacer / avec les chemins qui prennent le plus de place. (Ils seront à la fin, grâce au sort. La commande peut prendre un certain temps.)

73
David Schwartz

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

Filesystem      Size  Used Avail Use% Mounted on
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 le résoudre voici les étapes

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

M'a aidé à savoir que c'était le conteneur Docker qui parlait tout mon espace, donc j'ai poussé tout mon conteneur vers mon registre Docker, puis Sudo rm -rf/var/lib/docker/il a dégagé mon espace :) j'espère que cela aide quelqu'un :)

16
Swat

Si vous exécutez une instance de démarrage EBS (recommandé), vous pouvez augmenter la taille du volume racine (/) à l'aide de la procédure décrite 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 de stockage d'instance (non recommandé), vous ne pouvez pas modifier la taille du disque racine. Vous devez soit supprimer des fichiers, soit déplacer des fichiers vers un stockage éphémère (par exemple,/mnt), soit attacher des volumes EBS et y déplacer des fichiers.

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écuter MySQL sur Amazon EC2 avec EBS
http://aws.Amazon.com/articles/166

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

8
Eric Hammond

J'ai récemment rencontré ce problème sur Amazon Linux. Ma file d'attente de messages sortants crontab /var/spool/clientmqueue était de 4,5 Go.

Je l'ai résolu en:

  1. Recherche de fichiers volumineux: Sudo find / -type f -size +10M -exec ls -lh {} \;
  2. Suppression de fichiers volumineux: /bin/rm -f <path-to-large-file>
  3. Redémarrez l'instance de serveur

Problème résolu!

3
Gabe Karkanis

Cela pourrait venir de Jenkins ou Docker. Pour résoudre cela, vous devez ( nettoyer les journaux Jenkins et définir sa taille .

1
T.Todua

Je viens de résoudre ce problème en exécutant cette commande:

Sudo apt autoremove

et beaucoup d'anciens paquets ont été supprimés, libérant jusqu'à 5 gigaoctets, par exemple il y avait beaucoup de paquets comme celui-ci "linux-aws-headers-4.4.0-1028"

1
Paulo