Viendo en Meneame (lo reconozco, ¡lo leo todos los días!) otro flameante debate sobre si es mejor ext3 o reiserfs, a raíz de la noticia —algo antigua— del desarrollo de btrfs, se me ha ocurrido explicar algunos puntos que considero cruciales para que un sistema de ficheros sea bueno de verdad.

Aunque soy informático, no voy a hablaros de árboles B+ ni cosas de por el estilo, porque los sistemas de ficheros no es un tema que haya tocado demasiado. Lo que realmente quería comentaros son las cosas que se ven desde el punto de vista del usuario y que marcan la diferencia entre un sistema rápido y uno lento. Para los que estéis algo perdidos, tan sólo tenéis que saber que el “sistema de ficheros” es la forma en que se guardan los datos físicamente en el disco. Seguro que os suenan las palabras “FAT32″ o “NTFS”; pues se trata de eso mismo.

¿Qué diferencias hay entre usar un sistema u otro? En la teoría pocas; y en la práctica muchas. Ahora veremos por qué.

Las particiones

Yo considero inconcebible que, a fecha de hoy, sigamos usando particiones. Éstas deberían ser dinámicas y adaptarse al espacio libre; la fusión y escisión de espacio vacío debería ser transparente al usuario y liberarle del dolor de cabeza que es particionar. Algunos sistemas de ficheros para servidores lo permiten, pero a día de hoy ninguno de los SF “domésticos” implementan esta característica. Muy lamentable.

Velocidad y consumo de recursos

Seguro que alguna vez habréis visto comparativas del estilo “Creación de 10.000 ficheros en reiserfs, ext2, ext3, xfs…”. Aunque son datos teóricos que dan para unas discusiones muy divertidas, como dicen los estadounidenses, eso es “bullshit”. La velocidad es lo que hace que un disco de 7200 rpm se arrastre o uno de 5400 vuele. ¿Queréis ejemplos del uso diario? Muy sencillo: Bajáos la discografía de algún artista por el emule, y que ocupe más o menos 1 giga. Será un .zip o un .rar.

Ahora intentad descomprimirlo y medid dos factores: cuánto tarda y lo mucho que ralentiza el sistema. De nada sirve que un sistema de ficheros sea rapidísimo en lectura y escritura simultánea o en creación de ficheros pequeños si no te permite trabajar mientras se descomprime ese .rar de la mucha CPU o E/S que chupa. ESO es velocidad real

Fiabilidad

Como soy la persona que ha petado más discos duros de entre las que conozco, podría decirse que tengo algo de experiencia. Hay dos tipos de “fiabilidad”: la preventiva y la curativa, como en la medicina. La primera implica que cuando se te cuelga el PC y tienes que resetear no pierdas datos o los puedas recuperar con soltura, léase scandisk o fsck al inicio. A todos nos ha pasado alguna vez que el ordenador se bloquea y al reiniciar nos sale un mensajito asqueroso del tipo “Ejecuta scandisk manualmente” o “Ejecuta fsck manualmente”. Si esto sucede, es porque el sistema de ficheros tiene muy mala fiabilidad preventiva, porque no puede recuperarse automáticamente de un fallo y debe pedir ayuda al usuario que, seguramente, tiene aún menos idea de lo que está pasando. Por ejemplo, reiserfs nunca suelta frases de ese estilo y siempre se recupera de forma automática, mientras que FAT32 o ext3 sí que lo hacen.

Sin embargo, cuando todo peta y no queda más que pasar herramientas forenses al disco, nos enfrentamos a otro problema. ¿Cómo recuperar datos sin montar el sistema?. Aquí casi todos los sistemas fallan estrepitosamente, aunque con reiserfs pude recuperar más datos que con ext3.

Obviamente, la velocidad y la fiabilidad están enfrentadas. Cuanto más búfer de disco para ir más rápido, también será más difícil recuperar datos en caso de petada.

Compatibilidad

Tan sólo una frase breve para recordar que no nos sirve de nada tener un sistema de ficheros ESLAPUTAHOSTIAFS si luego no podemos leerlo más que en nuestro ordenador. “Gracias” a Windows tenemos que formatear los discos USB portátiles con FAT32.

Esto se aplica tanto a los sistemas cerrados como a los patentados.

Conclusión

Este artículo no ha sido muy exhaustivo, ni tan siquiera he intentado comparar diferentes sistemas de ficheros. Menciono algunos como ejemplo, pero no le deis más importancia. Sin embargo, dicen en la Fórmula 1 que, pese a toda la maquinaria que llevan los coches, la parte más importante siguen siendo los neumáticos, que es la única pieza que está en contacto con el suelo y que hace que el coche corra. En la informática, lo más importante son los datos, y muy poca gente tiene en cuenta el sistema de ficheros.

Un SF es a la vez la plataforma que protege y la que nos obtiene los datos, así que debería ser muy fiable y muy rápida. Si además pudiéramos olvidarnos de las particiones, quizá consigamos de una vez desterrar las metáforas de la informática de los 60