Linux: aucun espace laissé sur l'erreur de l'appareil avec 50% d'espace libre

8

Après avoir passé une journée à m'écraser la tête sur le bureau, j'apprécierais de l'aide.

J'exécute un Squid-Proxy sur Fedora 14. Même si j'essaye, touch /tmp/fooje reçois une erreur "il ne reste plus d'espace sur l'appareil". J'ai déjà couru fsck. Si je supprime un fichier de disons, 1 Mo, je suis en mesure de stocker à nouveau 1 Mo de données, mais pas plus que cela. Il est à noter que j'ai beaucoup d'espace libre:

df production:

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda3             16311208   7614872   7867768  50% /
tmpfs                  1028548         0   1028548   0% /dev/shm
/dev/sda1               198337     55345    132752  30% /boot
/dev/sdb1             25803036  19407324   5084996  80% /mnt/squid-cache

Quelqu'un a une idée de ce que je peux essayer de "récupérer" l'espace libre?

Layticia
la source

Réponses:

16

À supposer que vous avez manqué d'inodes plutôt que de blocs de disques - c'est-à-dire que vous avez la limite sur le nombre de fichiers que le système de fichiers peut contenir plutôt que la limite sur la quantité totale de données.

Vous pouvez utiliser df -ipour vérifier cela.

TomH
la source
Bizarre qu'il manquerait d'inodes à un bel espace disque rond de 50% ... mais cela vaut la peine d'être examiné; Squid crée beaucoup de fichiers.
LawrenceC
TomH vous l'avez cloué. C'est exactement le cas ... "iFree = 0" Merci beaucoup pour ce conseil!
Layticia
@ultrasawblade le rép-cache-squid est sur un autre disque (sdb) le problème est sur le disque système (sda). Je génère des rapports "sarg" et cela signifie beaucoup de fichiers des 12 derniers mois.
Layticia
B / c mon disque est plein .. et a besoin de plus d'espace, il ressemble à forums.fedoraforum.org/showthread.php?t=246302 dit que je dois reformater. Lors du reformatage, sélectionnera XFS - on dirait que cela me laissera évoluer.
jedierikb
0

Linux réserve un pourcentage de blocs au superutilisateur. Il est normalement fixé à 5%. 50% est anormalement élevé. Avec tune2fs -mvous pouvez changer cela.

LawrenceC
la source
0

Cela peut se produire si vous utilisez btrfs, et dans ce cas, ces remèdes ne fonctionneront pas.

Après avoir suivi beaucoup de fausses pistes, je me suis finalement mis sur la bonne voie après avoir commencé la recherche avec

btrfs non

et j'ai

btrfs aucun espace laissé sur l'appareil

comme premier achèvement. Cela a conduit au wiki du problème BTRFS. C'est apparemment un problème courant.

Mais même à partir de là, ce n'était pas si facile de résoudre mon problème. J'ai pu exécuter les bons utilitaires en démarrant en mode de récupération, en prenant la sélection qui monte mes systèmes de fichiers, puis en passant à la racine.

L'article du wiki disait run btrfs balance, mais cela ne fonctionnerait pas pour tous les systèmes de fichiers, et finalement j'ai trouvé mon chemin ici (qui est également le deuxième résultat de la recherche.)

Si votre système de fichiers est vraiment plein, même l'équilibre ne fonctionnera pas. Ou il ne fonctionnera que pour les petites valeurs de -dusage.

La recette dans ce cas-ci en bas du post. J'ai trouvé cela déroutant et je l'ai rejeté comme solution au début parce que l'affiche supprime les instantanés, ce que je pensais être essentiel, et comme je ne prenais pas d'instantanés, je pensais que cela ne s'appliquait pas. Mais ça l'a fait. L'étape de l'instantané peut être importante pour certains, mais ce n'était pas pour moi.

Le remède, en bref, est:

  1. Créer un gros fichier
  2. Faites-en un appareil en boucle
  3. Attachez l'appareil aux fs qui ne peuvent pas s'équilibrer
  4. Exécuter l'équilibre
  5. Détachez l'appareil
  6. Nuke le fichier pour récupérer cet espace

Le poste référencé donne les étapes de la ligne de commande.

WolfReporter
la source