Sobes.tech
Senior

Il y a 10 Go d'espace libre sur le disque, mais impossible de copier un fichier de 4 Go. Que faire ? (problème avec inode)

sobes.tech IA

Réponse de l'IA

S'il y a 10 Go d'espace libre sur le disque, mais que la copie d'un fichier de 4 Go échoue en raison d'un problème avec l'inode, cela signifie qu'il y a un problème avec le nombre d'inodes disponibles, pas avec l'espace lui-même.

Que faire :

  • Vérifier le nombre d'inodes libres avec la commande df -i. Si les inodes sont épuisés, il est impossible de créer de nouveaux fichiers même s'il y a de l'espace libre.

  • Nettoyer le système de fichiers en supprimant de nombreux petits fichiers qui occupent des inodes, comme des fichiers temporaires ou des logs.

  • Si possible, utiliser un autre système de fichiers avec plus d'inodes ou formater la partition avec un paramètre pour augmenter le nombre d'inodes.

  • En Go, il est possible de vérifier les erreurs lors de la création de fichiers et de les gérer, mais la solution dépend du système d'exploitation et du système de fichiers.

Exemple pour vérifier les inodes libres en Go :

package main

import (
    "fmt"
    "syscall"
)

func main() {
    var stat syscall.Statfs_t
    err := syscall.Statfs("/chemin/de/montage", &stat)
    if err != nil {
        panic(err)
    }
    fmt.Printf("Inodes libres : %d\n", stat.Ffree)
}