[Linux-bruxelles] No space left à 73% ?

Marc LEDENT omamiblou at yahoo.fr
Jeu 29 Avr 12:30:16 CEST 2004


Jérôme Warnier wrote:
>>> Je croyais que la fragmentation était une notion propre à de vils
>>> systèmes de fichiers comme fat ou ntfs?
>>>
[...]

>>
>>ext2 fragmente *moins*, ça ne signifie pas qu'il ne fragmente *pas*. 
>>S'il doit stoquer un fichier sur un disque ne possédant pas de blocs 
>>contigus suffisants pour sa taille, il fragmente. Ceci dit, à la fois sa 
>>structure et sa gestion réduisent au minimum la fragmentation.
> 
> Sorry, mais il me semble qu'un filesystem UNIX (ouais, bon, pas tous,
> mais la plupart) est en fait d'office fragmenté, puisqu'il fonctionne
> avec une table de "hashage" (hashing) pour déterminer où placer un bloc.

Il n'y a pas contradiction. ext2fs tentera d'alouer des blocs proches 
des inodes auquels ils sont liés, et tentera également de les grouper 
soit dans un même block group soit dans un bloc group adjacent.

Concernant l'allocation des inodes, elle est faite sur base du hashing, 
mais ausi sur base de la directory à laquelle le fichier appartient.

Lire les commentaires dans [kernel-source]/fs/ext2/[ib]alloc.c. Je n'ai 
pas trouvé de doc plus formelle sur ce point.

> C'est pour cela qu'il est beaucoup moins sensible à la fragmentation: ça
> fait partie du système, et cela fait que c'est beaucoup plus efficace
> sur un serveur d'applications avec plein d'utilisateurs simultanés qui
> font tous des trucs différents, principe d'UNIX.
> C'est aussi pour cela que les performances d'un filesystem UNIX se
> dégradent quand il est presque plein.
> 
> Une autre façon de faire (celle des systèmes DOS et successeurs) est de
> remplir à partir du début, et tant pis pour les fichiers qui changent
> régulièrement de taille, on s'arrange pour les mettre tant bien que mal
> où on peut. C'est très probablement bcp plus efficace pour un petit
> nombre de fichiers de taille raisonnable, voire grande, sur un système
> utilisé par une seule personne.
> 
> 
>>Voir à ce sujet le bouquin "understanding the Linux kernel" chez O'Reillly.
>>





Plus d'informations sur la liste de diffusion Linux-bruxelles