J'ai 2 disques de 4 To en RAID1 matériel (ce pourrait être un LSI MegaRaid) sur Debian Wheezy. La taille du bloc physique est de 4 Ko. Je vais stocker 150 à 200 millions de petits fichiers (entre 3 et 10 Ko). Je ne demande pas les performances, mais les meilleures tailles de système de fichiers et de blocs pour économiser le stockage. J'ai copié un fichier de 8200 octets sur un ext4 avec une taille de bloc de 4 Ko. Cela a pris 32 Ko de disque!? La journalisation en est-elle la raison? Alors, quelles sont les options pour économiser le plus de stockage pour de si petits fichiers?
10
Réponses:
Si j'étais dans cette situation, j'examinerais une base de données qui peut stocker toutes les données dans un seul fichier avec un index compact basé sur l'offset, plutôt que sous forme de fichiers séparés. Peut-être une base de données qui dispose d'un pilote FUSE disponible pour interagir avec lui en tant que fichiers lorsque cela est nécessaire, sans qu'ils soient en fait tous des fichiers distincts.
Alternativement, vous pouvez regarder, disons, le 60e - 70e centile des tailles de fichiers et essayer d'ajuster cette taille de fichier directement dans les nœuds de l'arborescence du système de fichiers, plutôt que comme des blocs séparés sur le disque. Stocker 10k dans chaque nœud est probablement une grande question, mais si vous pouviez y trouver 60% à 70% de fichiers, ce serait probablement une énorme victoire.
Seuls certains systèmes de fichiers peuvent le faire (reiserfs en est un), et je suppose que tout dépend de la taille de ce centile, de sa compatibilité avec l'arborescence. Vous pourrez peut-être le régler. J'imagine que j'essaie de ranger le reste en un seul bloc.
Et ne vous inquiétez pas des revues; ils ont de toute façon une limite de taille supérieure.
la source