jespalza
Posts: 2
Joined: Thu Mar 12, 2020 12:31 pm

Daño SD

Thu Mar 12, 2020 12:55 pm

Buenos días a todos como están??

Estoy trabajando con unos sistemas con pi3+ y SD (Adata y Kingston) clase 10, estos sistemas trabajan con Gphoto2, algunos de estos sistemas los tengo conectados a red de datos pero otros no es posible, en estos casos mi cliente va con su portátil (Mac) y se conecta con un cable directo a la Pi3b+ y mediante Filezilla se conecta y descarga el material....
Pero ha pasado ya 4 casos que en el proceso de descarga del material la sd se daña, no se reconoce ni en un pc (Linux o Windows) ya las he enviado a recuperación de información pero no es posible salvar dichos datos.

El problema radica que los sistemas que están fuera de la red pueden durar hasta 30 días trabajando hasta que una persona (mi cliente) pueda descargar el material, y en los 4 casos que hemos tenido toda la información de esos días se ha perdido, yo he generado pruebas con mi pc (linux y windows) con winscp y descargo hasta 8000 archivos sin problemas y sin dañar la SD.

Mi cliente me informa que en ocasiones termina de descargar el material y se retira del lugar pero cuando vuelve el sistema no funciona, genero la revisión y el sistema operativo en muchas ocasiones esta dañado, en el ultimo caso estaba descargando material y por la cantidad de material que tenia decidió detener la descarga para escoger solo el material que requería en el momento y la SD se daño.

Pregunta:
porque puede pasar esto? sera alguna falla en el sistema o en las memorias o en los protocolos de trasferencia con el Mac, no tengo como decirle al cliente que la falla puede ser su equipo, si tengo la clara seguridad que me va a refutar si no tengo documentación o evidencia de que la falla es el equipo Mac o el programa Filezilla

User avatar
lmarmisa
Posts: 1264
Joined: Thu Feb 14, 2013 2:22 am
Location: Jávea, Spain

Re: Daño SD

Fri Mar 13, 2020 11:55 am

La tecnología flash tiene el inconveniente de que el número de escrituras no es ilimitado y tras un número muy grande de ellas el dispositivo se daña.

A nivel personal he tenido un par de casos en un periodo de unos 7 años en que las tarjetas SD se han estropeado. No obstante, he conseguido recuperar casi toda la información de utilidad de las tarjetas en esas situaciones. He tenido incluso más problemas con la uSD adicional de mi teléfono Android, que ya se ha estropeado 3 veces.

No obstante, cuando una SD se estropea, no suele dejar de detectarse por parte de los sistemas Linux (no he tenido esa experiencia). En esos casos hay que intentar reparar las particiones de la tarjeta y, si se verifica que la tarjeta está realmente dañada, extraer la información recuparable que sea de interés.

En tu caso no indicas un dato importante: ¿esos 4 casos han sucedido en una o en diferentes RPis?. Si fuera una en concreto, podría haber un problema en el hardware de esa RPi que dañe las tarjetas. Pero lo primero que debes comprobar es que el problema sea que las tarjetas realmente se dañen.

Otra posibilidad es que por algún motivo (apagado descontrolado, error puntual en el medio), las particiones boot o root de Raspbian deban ser reparadas y el sistema no lo haga adecuadamente de forma automática en el arranque. También podría ocurrir que la tarjeta se llene y el sistema se quede sin espacio libre para operar adecuadamente.

Si dispones de una tarjeta dañada, deberías hacer un análisis detallado de la misma para diagnosticar adecuadamente el problema.

Para detectar si la tarjeta se detecta deberás usar en cualquier sistema Linux o Raspbian el comando

Code: Select all

sudo fdisk -l
En una tarjeta con Raspbian debería aparecer una partición vfat (probablemente del tipo W95 FAT32) que será la de boot y otra del tipo ext4 (etiquetada como Linux) que será la root.

En la respuesta del comando verás información de la propia tarjeta:

Code: Select all

Disk /dev/mmcblk0: 29.7 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfb8fb756
y de sus particiones:

Code: Select all

Device         Boot   Start      End  Sectors  Size Id Type
/dev/mmcblk0p1         2048  1050623  1048576  512M  b W95 FAT32
/dev/mmcblk0p2      1050624 62332927 61282304 29.2G 83 Linux
Los Devices de tarjeta y particiones podrán ser diferentes de los que te muestro en el ejemplo anterior si estás viendo la tarjeta desde un PC o incluso desde una RPi. Yo seguiré usando estos ids en los comandos que te indique, pero adáptalos a tu caso.

Para reparar la tarjeta debes estar seguro de que las particiones de la tarjeta están desmontadas:

Code: Select all

sudo umount /dev/mmcblk0p1
sudo umount /dev/mmcblk0p2
Ahora puedes proceder a reparar las particiones.

Code: Select all

sudo dosfsck -w -r -l -a -v -t /dev/mmcblk0p1
sudo fsck -fy /dev/mmcblk0p2
Si las reparaciones se han realizado adecuadamente, la información de la tarjeta podría volver a ser accesible e incluso podrían volver a funcionar con normalidad en una RPi.

Si montas ahora la partición root de la tarjeta tras la reparación por ejemplo con este comando:

Code: Select all

sudo mount /dev/mmcblk0p2 /mnt
Puedes comprobar si la partición está llena y no hay espacio libre disponible en ella:

Code: Select all

df -h
También puedes comprobar si hay ficheros perdidos en la partición root:

Code: Select all

sudo ls -l /mnt/lost+found/
Los ficheros debajo de /mnt contendrán la información almacenada en la partición root de la tarjeta. Por ejemplo:

Code: Select all

ls -l /mnt/home/pi/               #podrias necesitar usar sudo si detectas problemas de privilegios
Espero que esta información te sea de utilidad.

NOTA
... ya las he enviado a recuperación de información pero no es posible salvar dichos datos.
¿Recuperación de información?. ¿Son expertos en Linux?.

jespalza
Posts: 2
Joined: Thu Mar 12, 2020 12:31 pm

Re: Daño SD

Sat Mar 14, 2020 2:14 pm

Hola, Gracias por tu respuesta.... los daños se han generado en diferentes Pi3, el tema de apagado descontrolado lo dudo ya que el equipo tiene una batería de 12v 22Ah con un regulador de voltaje a 5v (por si el caso de falla eléctrica).... en estos casos cuando se llega al punto donde esta la PI3, el equipo esta prendido y en funcionamiento, pero al momento de generar la trasferencia por el SFTP muere durante o al terminar la trasferencia.

Estoy revisando la opción de poner otra memoria USB para generar un respaldo de la información por si vuelve a pasar, pero no entiendo el porque están dañándose.

El ultimo sistema que genero la falla solo tenia en uso un mes y era la primera descarga del material, también revisando los casos mire que uno de estos equipos estaba conectada a una Antena Mikrotik la cual genera una Señal wifi a la cual nos conectamos y accedemos al equipo, en esta también presento el inconveniente. No tengo como decir que es el pc (un Mac) con el que usan para descargar el material o la forma de comunicación entre pc y pi3.

En todo caso voy a seguir las indicaciones que me das. Muchas gracias

User avatar
lmarmisa
Posts: 1264
Joined: Thu Feb 14, 2013 2:22 am
Location: Jávea, Spain

Re: Daño SD

Sat Mar 14, 2020 4:13 pm

en estos casos cuando se llega al punto donde esta la PI3, el equipo esta prendido y en funcionamiento, pero al momento de generar la trasferencia por el SFTP muere durante o al terminar la trasferencia.
Si este comentario que haces es correcto, descartaría un problema de daño físico en las tarjetas uSD. Las tarjetas de tecnología flash se degeneran tras un gran número de escrituras y, salvo fallo infantil, que sería muy raro, aunque posible, las degeneraciones suceden a largo plazo y no tienen relación con la ejecucuión de un programa puntual en un instante dado. Además el procedimiento de descarga que se hace con Filezilla no genera un gran número de escrituras, sino de lecturas, que se supone que no perjudican a la tarjeta de memoria.

Se me antoja que el problema podría estar relacionado más bien con la aplicación Filezilla o incluso con la red de datos. Otra posible causa sería que la partición principal de Raspbian se quede sin espacio libre por las fotos almacenadas.
No tengo como decir que es el pc (un Mac) con el que usan para descargar el material o la forma de comunicación entre pc y pi3.
MacOs es un sistema operativo cuya base es muy similar a UNIX/Linux. Dos comandos fundamentales para comunicarse con la RPi y transferir ficheros (ssh y scp) están disponibles de modo nativo.

https://osxdaily.com/2017/04/28/howto-ssh-client-mac/
https://support.apple.com/es-es/guide/t ... db27f7/mac

Además es posible crear shell scripts con bash o zsh en MacOS. No sólo eso, el ssh de Mac permite lanzar comandos o scripts remotos que corran en la RPi incluso con autenticación segura RSA de modo que no haya que usar passwords.

https://help.dreamhost.com/hc/en-us/art ... -and-Linux

Con todo ello se podría prescindir de apps de terceros (Filezilla) y realizar el procedimiento de descarga con comandos nativos.

Además Filezilla es muy limitado y no permite hacer ningún diagnóstico de la RPi o de la red: sólo hace transferencias. Sin embargo, con un script propio, se podrían obtener muchos datos de la RPi antes de empezar las transferencias de ficheros, efectuar las transferencias con total control sobre ellas y finalmente informar del estado del sistema tras la finalización de esas transferencias (memoria, disco ocupado, etc).

En este momento no tienes ninguna herramienta de diagnóstico de lo que sucede. Tal vez veas algo en las tarjetas supuestamente dañadas, pero sólo con Filezilla no puedes diagnosticar nada en el momento en que se produce el fallo. ¿Se ha probado a reiniciar la RPi y el PC para ver si el problema persiste tras ambos reinicios?. En cualquier caso, son necesarias algunas herramientas de diagnóstico que ahora no existen.

Otra opción que se podría explorar sería usar para la transferencia SMB/CIFS (samba) en lugar de sftp. MacOS soporta de modo nativo el acceso a servidores remotos mediante SMB:

https://support.apple.com/es-es/guide/m ... lp1140/mac

Si se usa SMB además podemos hacer la tranferencia sin ninguna herramienta adicional y directamente con la interfaz gráfica y cortar y pegar. No se necesitaría tampoco Filezilla en este escenario. Solamente habría que definir un servidor Samba en la RPi que compartiera los directorios donde están almacenadas las fotos.

Por otro lado, si no te sientes cómodo con MacOS para desarrollar scripts o no encuentras comandos de diagnóstico equivalentes a los que Linux te ofrece, podrías instalar un sistema como Ubuntu corriendo como máquina virtual con VirtualBox corriendo en el PC:

https://www.virtualbox.org/wiki/Screenshots

Si defines la interfaz de red en modo puente, la máquina virtual se comportaría como un ordenador conectado a la subred que une la RPi y el PC.

En resumen. No creo que sea un problema de deterioro de tarjetas. Es otra cosa y hay que hacer un diagnóstico.

Tal vez lo más sencillo sería definir un servidor Samba en la RPi compartiendo la carpeta o las carpetas donde están las fotos. Y luego manualmente montar en el Mac la carpeta remota donde están las fotos y desde la interfaz gráfica del Mac usar cortar & pegar para descargar los ficheros. ¿Seguirá el problema en este nuevo escenario en el que ya no está Filezilla?.

Return to “Español”