Tengo un sistema integrado basado en ARM que se ejecuta en una tarjeta SD. Actualmente es Debian GNU / Linux usando ext3 como sistema de archivos. Cuando estoy a punto de reinstalar el sistema, comencé a preguntarme sobre cambiar a un sistema de archivos más amigable con el flash. He oído hablar de JFFS2, YAFFS2 y LogFS, y todos parecen adecuados para el trabajo. ¿Cuál recomendarías? Además, he oído que ha habido muchas mejoras ext4 para adaptarse mejor a los discos SSD; ¿debo interpretar que ejecutar ext4 debería estar bien? ¿En qué tengo que pensar especialmente en ese caso?
Supongo que el uso del sistema es importante. Pero en aras de la generalidad, imagine que hará cosas de escritorio estándar (aunque de hecho sea un pequeño sistema basado en ARM).
Gracias por cualquier respuesta
Editar: Wikipedia me dice (en una declaración de "cita requerida") que las tarjetas de memoria flash extraíbles y las unidades flash USB tienen controladores incorporados para realizar nivelación de desgaste y corrección de errores, por lo que el uso de un sistema de archivos flash específico no agrega ningún beneficio . Por lo tanto, me inclino por seguir con un sistema de archivos ext.
fuente
Estaba enfrentando el mismo problema y también investigué un poco. Finalmente decidí ir con ext2.
Parece que algunas tarjetas SDHC implementan su propia nivelación de desgaste en la capa de hardware. Si puede obtener tarjetas SDHC que tienen incorporada nivelación de desgaste.
Los sistemas de archivos que proporcionan nivelación de desgaste pueden interferir con la nivelación de desgaste de nivel Flash, por lo que en realidad puede ser malo para el flash usarlos (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 diario de ext3 ya que no estoy almacenando datos críticos en él y, de todos modos, generalmente hago copias de seguridad regularmente (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 ext con la opción "noatime"
fuente
No sé si esto encaja en el perfil de su sistema, pero ¿qué pasa con el uso de un sistema de archivos de solo lectura más una partición de lectura-escritura (o un dispositivo USB que se puede reemplazar fácilmente)? De esa manera, tendrá un disco rápido para su sistema operativo y podrá reemplazar su almacenamiento rw fácilmente cuando se agote.
Y luego están los unionfs. Según lo entendí, "apila" diferentes sistemas de archivos (es decir, un ro fs encima de un rw fs). Si hay un acceso de lectura, unionfs busca a través de la pila hasta que alcanza el FS que contiene el archivo que buscamos. Al escribir unionfs busca el primer FS escribible en la pila y lo usa.
También encontré estos artículos que pueden ser interesantes: http://www.linux-mag.com/id/7357/ http://www.linux-mag.com/id/7345/
Y dos artículos con consejos para usar SSD: http://danweinreb.org/blog/using-solid-state-disks-on-linux http://www.zdnet.com/blog/perlow/geek-sheet-a- tweakers-guide-to-solid-state-drives-ssds-and-linux / 9190
fuente
Seleccionar (y dimensionar) el sistema de archivos correcto es más importante que cualquier otra cosa, no solo por seguridad sino por muchas otras razones que la gente no suele reconocer. Sin un sistema de archivos, todo el procesamiento sería nulo.
Muy bien respondido por Olli, y el OP está muy anticuado, pero los sistemas de archivos son mi motivo favorito. No podía mantenerme alejado. superuser.com no es algo que visité antes, no soy administrador, pero me inscribí y voy a visitar más.
Las cosas cambiaron mucho desde 2011, pero incluso entonces formateé las tarjetas USB FAT y usé unidades USB para transportar archivos de 4 Gb +. La razón, por supuesto, era la compatibilidad, no la seguridad (tanto para S en SD, pero uso contraseñas en mis 7z), y nunca llevé nada más grande que un CD ISO, fueron principalmente para scripts SQL y diferencias diarias por hora de instantáneas cifradas de la base de datos comprimidas hasta casi la muerte por 7-Zip.
En estos días uso cualquier SD más rápido que cualquiera que conozco. Tengo una memoria USB en algunas máquinas de producción de mi empleador para copias de seguridad automatizadas por hora, FAT formateado. Sin embargo, los vigilo todos los días y, adivinaron, los respaldan religiosamente a mano (están asegurados fuera de línea para construir cosas ITAR). El SSD niveló parte del campo de juego, pero todavía no confío en ellos tanto como el HD normal, y el SD es peor que el óptico. Van mal en un instante y la pérdida es total.
Cualquier sistema de archivos que invite al sistema operativo host a escribir aleatoriamente en él (NTFS, Papelera de reciclaje) es una mala noticia para una SD. Además, desmontarlo ayuda mucho, ningún sistema operativo intentará acceder al almacenamiento desmontado, por lo que cualquier sistema de archivos funcionará siempre que la SD incluya una secuencia de comandos para desengancharse (uno de los archivos estándar en cada SD en la mía).
La lectura de una SD todavía es lenta hoy, por lo que recomendaría algo como el volcado de disco (dd) para capturar toda la imagen al duplicar en lugar de archivo por archivo. dd también le avisa cuando hay algo mal, para que su administrador de archivos no se vuelva kaboom.
Por supuesto, si su propósito principal es extender la vida de un centavo, está haciendo su negocio de la manera incorrecta. Hago lo que no hago para extender la vida útil de una SD, pero para evitar que se deteriore cuando no estoy mirando, y ahí está la diferencia.
Evito ext4 o cualquier FS de diario en SD porque no me importa cuando les escribo mal, ¡pero me duele cuando un día más tarde no puedo leerlos!
fuente
Any file system which invites the host OS to write randomly to it (NTFS, Recycle Bin) is bad news for an SD.
? No consiste en discos giratorios, así que donde sea que leas / escribas no debería importar, creo. Y por cierto, NTFS escribe de forma contigua, lo que conduce a la fragmentación. «Almacenes aleatorios de archivos» es, por ejemplo, sobre EXTα.Como respuesta a la recomendación de usar fat (32?): He realizado algunas pruebas de rendimiento y descubrí que fat32 tiene un tiempo muy predecible para escribir un archivo (2 GB necesita dos veces de 1 GB + offset, 3 GB necesita tiempos de árbol de 1GB + offset). El rendimiento de ext4 es ligeramente mejor que ext3. Tanto ext3 como ext4 a veces son rápidos, pero a veces necesitan algo de tiempo extra para escribir los archivos de diario en el disco (sin comportamiento de tiempo de escritura lineal). Todas las pruebas se realizaron con fsync () para asegurarse de que el archivo realmente esté escrito en el disco. Realicé algunas pruebas con sync (). Resultan en muy mal rendimiento de escritura. Entonces volví a fsync (). Verifiqué si fsync () es suficiente. Por lo tanto, apagué el dispositivo sin apagar el sistema o quité la tarjeta SD sin desmontar. En ningún caso los archivos escritos o la estructura del directorio fueron dañados.
Saludos, Thomas
fuente
si desea una tarjeta SD sin pérdidas, sugiero usar
BTRFS
porque:BTRFS
es un nuevo sistema de archivos en comparación con EXT creado originalmente por Oracle en 2007.Aporta nuevas características a los sistemas de archivos tradicionales:
Para una explicación y comparación adicionales, consulte este pdf
para nuevas comparaciones consulte este sitio
fuente