GNU/Linux >> Tutoriales Linux >  >> Linux

Elección del sistema de archivos para GNU/Linux en una tarjeta SD

Excelente artículo sobre sistemas de archivos flash.

Una pregunta importante cuando se habla de sistemas de archivos flash es la siguiente:¿Qué es la nivelación de desgaste? Artículo de Wikipedia. Básicamente, en los discos flash puede escribir un número limitado de veces hasta que el bloque se estropee. Después de eso, el sistema de archivos (si no hay una gestión de nivelación de desgaste integrada en el hardware, como suele haber en el caso de los SSD) debe marcar ese bloque como no válido y evitar usarlo más.

Los sistemas de archivos típicos (por ejemplo, ReiserFS, NTFS, ext3, etc.) están diseñados para discos duros que no tienen tales limitaciones.

JFFS2

Incluye protección de compresión y nivelación de desgaste elegante.

YAFFS2

  • Lo único que marca la diferencia:tiempos de montaje cortos, después de un desmontaje exitoso.
  • Implementa la propiedad de escribir una vez:una vez que los datos se escriben en un bloque, no es necesario volver a escribirlos. Esto es importante, ya que reduce el desgaste.

Registro FS

  • No es muy maduro, pero ya está incluido en el árbol del kernel de Linux.
  • Admite sistemas de archivos más grandes que JFFS2/YAFFS2 sin problemas.

UBIFS

  • Más maduro que LogFS
  • Soporte de escritura en caché
  • Sobre la escalabilidad:artículo. En discos grandes, mejor rendimiento que con JFFS2

ext4

Si ningún controlador o tarjeta (por ejemplo, las unidades SSD tienen nivelación de desgaste interna, al menos por lo general) maneja la nivelación de desgaste, entonces ext4 no es la mejor idea, ya que no está diseñado para el uso de flash sin formato.

¿Cuál es el mejor?

Por supuesto, depende del uso y el soporte. Por lo que leí en Internet, recomendaría UBIFS. Buen soporte para sistemas de archivos grandes, fase de desarrollo madura, rendimiento adecuado y sin grandes desventajas.


Estaba enfrentando el mismo problema e investigué un poco también. Eventualmente, decidí usar ext2.

Parece que algunas tarjetas SDHC implementan su propia nivelación de desgaste en la capa de hardware. Si puede conseguir tarjetas SDHC que tengan incorporado nivelador de desgaste.

Los sistemas de archivos que proporcionan nivelación de desgaste pueden interferir con la nivelación de desgaste del nivel de Flash, por lo que en realidad puede ser malo que el flash los use (el artículo de IBM citado anteriormente habla sobre cómo lo hace JFFS, por lo que está claro que eso no funcionará con nivel de flash WL). Decidí que no necesitaba el registro en diario de ext3 ya que no estoy almacenando datos críticos en él y, de todos modos, normalmente hago copias de seguridad con regularidad (cron).

También monté /tmp y /var como tmpfs para acelerar las cosas. Si tiene suficiente RAM, debe hacerlo (pero asegúrese de rotar o eliminar sus registros regularmente)

SUGERENCIA:Monte sus tarjetas SD externas con la opción "noatime"


Linux
  1. Linux:¿qué puntos de montaje existen en un sistema Linux típico?

  2. ¿Soporte de Linux para la nueva tarjeta gráfica externa Sony Vaio Z?

  3. Synfig:una alternativa de Adobe Animate para GNU/Linux

  4. Temps:una aplicación inteligente y hermosa del tiempo para GNU/Linux

  5. ¿Sistema de archivos de tarjeta SD a prueba de corrupción para Linux integrado?

4 distribuciones de Linux para juegos

Una introducción a bpftrace para Linux

Elegir una impresora para Linux

Comprender los sistemas de archivos de Linux:ext4 y más allá

Una introducción rápida al sistema de archivos de Linux para usuarios de Windows.

Diferencias entre nobootwait y nofail en los sistemas de archivos de Linux