Paranoico con las memorias flash

Taller de hardware y cacharreo general de aparatos eléctricos y electrónicos que no tengan un sitio propio.
Conectado
Avatar de Usuario
zup
Amiga 2500
Amiga 2500
Mensajes: 2316
Registrado: 04 Sep 2009, 20:07
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo DS/3DS
Primera consola: Nintendo GameBoy
Ubicación: Navarra
Gracias dadas: 13 veces
Gracias recibidas: 83 veces
Contactar:

Paranoico con las memorias flash

Mensajepor zup » 10 Ene 2017, 14:04

Ya es el segundo incidente que tengo con una tarjeta SD (añadir también alguno con pendrives) y me he puesto algo paranoico.

El problema empezó con una Raspberry Pi que tengo encendida 24x7 (la uso como nube de almacenamiento y máquina de descargas). Esta máquina tiene una tarjeta micro SD Samsung EVO de 16 Gb UHS1. También tiene conectado un pendrive Sandisk de 128 Gb como almacenamiento masivo, formateado como ext4. Durante un par de semanas, me di cuenta que la Raspberry se quedaba "colgada" y no respondía. Después noté que, aunque aparentemente funcionaba bien, cada vez que reiniciaba la Raspberry transmission mostraba las descargas que tenía tiempo atrás (y habían sido eliminadas).

Hoy he detenido la Raspberry, he sacado el pendrive y la tarjeta y les he pasado un fsck. El pendrive ha ido bien, pero la tarjeta decía que tenía errores y que no podía establecer los flags en el superblock. Investigando un poco veo que, aunque aparentemente los datos se escriben a la tarjeta, en realidad no se realizan cambios al filesystem. No se pueden escribir datos a la tarjeta, pero la tarjeta no da errores. Haciendo un dd de esa tarjeta, aparentemente se lee bien pero dmesg muestra errores de sectores ilegibles.

Ya es la segunda vez que me pasa ese mismo error con tarjetas de esa marca y modelo (que no se pueden escribir datos a la tarjeta), y he tenido también algún problema con pendrives (dos variantes, pendrive totalmente muerto y pendrive que funciona durante unos minutos y después se convierte en ilegible).

Ahora que ya habéis oído mis neuras, las preguntas...
- ¿Qué marcas/modelos de SD y pendrives consideráis de mayor durabilidad?
- ¿Debería tomar medidas especiales para reducir las escrituras (p.ej.: usar noatime al montar el filesystem) o Raspbian maneja eso bien?
- ¿Debería volverme ya paranoico total y montar un RAID1 de pendrives? (Parece que usar ZFS no es la mejor idea en una Pi, y no sé qué otros FS pueden detectar corrupción de datos)
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!

Avatar de Usuario
princemegahit
Amiga 1200
Amiga 1200
Mensajes: 1430
Registrado: 19 Jul 2012, 12:01
Sistema Favorito: (Otro)
primer_sistema: Spectrum +2
consola_favorita: Atari 2600
Primera consola: Atari 2600
Ubicación: C:\JUEGOS
Gracias dadas: 55 veces
Gracias recibidas: 42 veces

Re: Paranoico con las memorias flash

Mensajepor princemegahit » 10 Ene 2017, 17:10

Creo que lo mejor que puedes hacer es usar el noatime, yo no he tenido problemas especialmente graves hasta el punto de plantearme cambiar las tarjetas, así que no se decirte más.

Avatar de Usuario
Tolaemon
Atari 1040 STf
Atari 1040 STf
Mensajes: 1010
Registrado: 16 May 2004, 22:29

Re: Paranoico con las memorias flash

Mensajepor Tolaemon » 10 Ene 2017, 18:13

Trabajé unos años en una empresa de sistemas embebidos cuyos equipos hacian uso de tarjetas SD. La experiencia era que las tarjetas SD de los equipos que tenían instalados a lo largo de toda España se corrompían en un determinado porcentaje no despreciable,y había que formatearlas y reinicializarlas en remoto ( el equipo tenia un modem GSM ). Incluso cada cierto tiempo había que reemplazar algunas.Y eso que eran tarjetas SD de rango industrial.

Puedes dejar solo la imagen del SO en la SD para que la lea al arrancar y se hagan las mínimas escrituras en esta, y usar un disco duro externo para las descargas. O quizás sea posible cambiar de tu sistema de ficheros actual a otro mas robusto. Sea como sea, y como tu bien dices, no utilizaría nunca la SD para operaciones intensivas de escritura, para eso mejor el disco duro. Sea como sea las SDs no son un sistema de lo mas fiable para almacenar datos ( a mi tambien se me ha hodido alguna ). No sabría decirte el motivo pueden ser muchos, mecánicos por doblar la tarjeta, una descarga estática, la temperatura, defectos en la fabricación...

Avatar de Usuario
DistWave
Atari 1040 STf
Atari 1040 STf
Mensajes: 703
Registrado: 15 Ene 2011, 09:08
Sistema Favorito: PC
primer_sistema: PC
consola_favorita: Nintendo SNES
Primera consola: Atari 2600
Ubicación: Zaragoza
Gracias dadas: 1 vez
Gracias recibidas: 11 veces

Re: Paranoico con las memorias flash

Mensajepor DistWave » 10 Ene 2017, 19:55

Es que si lo piensas bien, estas dando un uso a las tarjetas (y sobre todo a los pendrives) que no es para el que fueron diseñadas. El propósito de ambos es transportar ficheros (fotos, música, documentos, etc) que en un uso normal, se escriben secuencialmente cuando los transfieres. Cuando necesitas espacio, o bien borras unos cuantos o lo formateas y empiezas de cero. Digamos que el propio uso lógico y común distribuye las escrituras en la memoria flash de una manera más o menos regular (el chip controlador de la memoria flash en estos dispositivos es muy simple y no gestiona distribución alguna).

En sistemas embebidos Linux es bastante común utilizar como almacenamiento primario un chip de memoria flash conectado directamente al interfaz del SoC con un sistema de ficheros específico para memoria flash (JFFS2, YAFFS, etc). Estos sistemas de ficheros implementan la lógica para distribuir las escrituras de manera homogénea en las celdas de memoria y minimizar el desgaste. Además, se utilizan otros mecanismos:
- Usar sistemas de ficheros en memoria ram (como tmpfs) para almacenar ficheros temporales y logs.
- Para la partición raiz, usar un sistema de ficheros de sólo lectura (y comprimido) como squashfs, cromfs, etc para evitar corrupciones
- En las particiones ext, habilitar parámetros que reduzcan escrituras (como noatime)

El problema con la Raspberry Pi y similares es que están diseñadas para ser asequibles y nos obligan a utilizar una tarjeta SD para tener el sistema de ficheros. Para ciertas tareas es más que suficiente, pero en cuanto le pides un esfuerzo extra (uso como servidor, torrent, etc) aparecen los problemas. Y ya no sólo por culpa de la SD, en muchos casos bien por errores del sistema operativo o del hardware se corrompe el sistema de ficheros aleatoriamente.

Conectado
Avatar de Usuario
zup
Amiga 2500
Amiga 2500
Mensajes: 2316
Registrado: 04 Sep 2009, 20:07
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo DS/3DS
Primera consola: Nintendo GameBoy
Ubicación: Navarra
Gracias dadas: 13 veces
Gracias recibidas: 83 veces
Contactar:

Re: Paranoico con las memorias flash

Mensajepor zup » 11 Ene 2017, 09:23

Entonces, por lo que entiendo debería quitar ese pendrive de 128 gigas y sustituirlo por un disco duro normalito. La contrapartida sería un aumento del consumo eléctrico y del ruido generado.

En cuanto a la SD, las medidas que tengo por ahí son:
- Deshabilitar el archivo de paginación (hecho). Esa Raspberry es de 512 megas, pero no llega a ocupar la memoria por completo.
- Como es una Raspberry sin X, recuperar parte de la memoria de video por si las moscas (se lo he puesto a 16 megas solo).
- Montar el sistema de ficheros con las opciones noatime, nodiratime, async.
- Cambiar el scheduler a noop (hecho mediante una regla de udev).
- Usar tmpfs con /tmp, /var/tmp, /var/log, /var/run y /var/spool/mqueue.

Lo que creo que no voy a hacer es cambiar el sistema de ficheros de la partición root, ya que me complicaría bastante el mantenimiento (todas las distribuciones de Raspbian suelen ir en ext4).

Ahora que lo pienso, otra opción es usar "creativamente" /boot/config.txt y hacer que la partición root resida en el USB (¿qué penalización en rendimiento puedo esperar?).

Otra cosilla interesante... si el equipo tiene un lector de tarjetas integrado (=no USB, la Raspberry Pi y algunos portátiles lo llevan así), desde Linux se pueden leer algunos parámetros de las tarjetas. Como curiosidad, con cat /sys/block/mmcblk0/device/preferred_erase_size se puede consultar el tamaño que se usa en borrados/escrituras. Veo un parámetro rel_sectors que puede estar relacionado con la vida útil de la tarjeta, pero no veo información útil sobre qué cuenta y cómo interpretarlo. ¿Alguna idea?
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!

Avatar de Usuario
VZ
Amiga 2500
Amiga 2500
Mensajes: 2735
Registrado: 28 Dic 2005, 12:26
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC
consola_favorita: Nintendo NES/Clónica
Primera consola: TV Games/Pong Clone
Gracias dadas: 150 veces
Gracias recibidas: 12 veces
Contactar:

Re: Paranoico con las memorias flash

Mensajepor VZ » 11 Ene 2017, 12:35

zup escribió:Entonces, por lo que entiendo debería quitar ese pendrive de 128 gigas y sustituirlo por un disco duro normalito. La contrapartida sería un aumento del consumo eléctrico y del ruido generado.


Eso es lo que yo haría

Avatar de Usuario
aRbert-II
Atari 1040 STf
Atari 1040 STf
Mensajes: 703
Registrado: 29 Dic 2004, 03:03
Ubicación: Puertatierra
Gracias dadas: 46 veces
Gracias recibidas: 17 veces

Re: Paranoico con las memorias flash

Mensajepor aRbert-II » 11 Ene 2017, 13:03

zup escribió:Entonces, por lo que entiendo debería quitar ese pendrive de 128 gigas y sustituirlo por un disco duro normalito. La contrapartida sería un aumento del consumo eléctrico y del ruido generado.


Siempre puedes ponerle un SSD externo para evitar esos problemas. No te hace falta que sea el más rápido, con que sea medianamente fiable es suficiente. De 120 GB los hay a precios bastante comedidos.

BlackHole
Atari 1040 STf
Atari 1040 STf
Mensajes: 949
Registrado: 07 Nov 2009, 11:38
Ubicación: Madrid
Gracias dadas: 1 vez
Gracias recibidas: 45 veces

Re: Paranoico con las memorias flash

Mensajepor BlackHole » 11 Ene 2017, 15:44

¿Crees que un SSD no adolece de los mismos problemas que un pendrive? No dejan de ser memorias NAND.

Avatar de Usuario
aRbert-II
Atari 1040 STf
Atari 1040 STf
Mensajes: 703
Registrado: 29 Dic 2004, 03:03
Ubicación: Puertatierra
Gracias dadas: 46 veces
Gracias recibidas: 17 veces

Re: Paranoico con las memorias flash

Mensajepor aRbert-II » 11 Ene 2017, 15:53

BlackHole escribió:¿Crees que un SSD no adolece de los mismos problemas que un pendrive? No dejan de ser memorias NAND.


Me refería a los problemas de consumo eléctrico y ruido que dan los discos duros normales.

De todas formas, aunque un pen y un SSD usen memorias NAND, los SSD son, por norma general, más fiables y duraderos porque sus controladoras implementan tecnologías y protocolos para reducir los ciclos de escritura de cada celda. Aumentando así su vida útil.

Avatar de Usuario
GXY
Atari 1040 STf
Atari 1040 STf
Mensajes: 763
Registrado: 05 Oct 2013, 08:21
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum +2
consola_favorita: Sony PlayStation 1
Primera consola: Sony PlayStation 1
Gracias dadas: 9 veces
Gracias recibidas: 16 veces

Re: Paranoico con las memorias flash

Mensajepor GXY » 11 Ene 2017, 17:23

ni los pendrives ni las tarjetas SD estan pensadas para sistemas de contingencia con lectura/escritura 24/7

creo que deberias considerar cambiar la raspberry por alguna otra maquina y cambiar el almacenamiento por un HDD SATA.

hay orange pi que tienen puerto SATA (creo que seria la opcion mas barata junto con la de reacondicionar un PC que tengas por casa).
RetroPescando... :mrgreen:


Volver a “Taller general”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado