Tengo 2x 4TB Disks en hardware RAID1 (podría ser un LSI MegaRaid) en Debian Wheezy. El tamaño del bloque físico es de 4kB. Voy a almacenar 150-200 millones de archivos pequeños (entre 3 y 10kB). No estoy pidiendo rendimiento, sino el mejor sistema de archivos y tamaños de bloque para ahorrar almacenamiento. Copié un archivo de 8200 bytes en un ext4 con un tamaño de bloque de 4kB. ¿Esto tomó 32kB de disco? ¿Es el diario la razón de eso? Entonces, ¿qué opciones hay para guardar la mayoría del almacenamiento para archivos tan pequeños?
10
Respuestas:
Si estuviera en esa situación, estaría mirando una base de datos que puede almacenar todos los datos en un solo archivo con un índice compacto basado en desplazamiento, en lugar de archivos separados. Tal vez una base de datos que tenga un controlador FUSE disponible para interactuar con él como archivos cuando sea necesario, sin que en realidad todos sean archivos separados.
Alternativamente, podría mirar, por ejemplo, el percentil 60-70 de los tamaños de archivo, y tratar de ajustar ese tamaño de archivo directamente en los nodos del árbol del sistema de archivos, en lugar de como bloques separados en el disco. Almacenar 10k en cada nodo es probablemente una gran pregunta, pero si pudiera obtener el 60% -70% de los archivos allí, probablemente sería una gran victoria.
Solo ciertos sistemas de archivos pueden hacer eso (reiserfs es uno), y supongo que todo depende del tamaño de ese percentil, si encajará en el árbol. Es posible que pueda sintonizarlo. Supongo que intenta encajar el resto en un bloque.
Y no te preocupes por las revistas; tienen un límite de tamaño superior de todos modos.
fuente