• Welcome to LusoRobótica - Robótica em Português.
 

Clone o cartão SD do seu Raspberry Pi e evite dor de cabeça

Started by Tayeb, 05 de June de 2015, 11:52

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Tayeb

Já teve a má experiência (e uma dor de cabeça!) de corrupção do cartão SD do seu Raspberry Pi. A solução é simples, deve clonar o cartão SD e ter uma imagem de reserva. O link seguinte mostra como se faz:

http://lifehacker.com/how-to-clone-your-raspberry-pi-sd-card-for-super-easy-r-1261113524

Penso que deve interessar esta simples informação.

Electropepper

sudo dd if=/dev/sdd of=./sdcard.img
Mais simples que isto é dificil.   :P

Tayeb

Assumindo que o cartão é lido em OS Windows uma das soluções é a que apresentei.

Um melhor comando para OSX será:

backup:

dd if=/dev/sdb of=sdcard.img bs=4M

restauração:

dd if=sdcard.img of=/dev/sdb bs=4M

Isto para ser mais rápida a criação da imagem e a restauração


Tayeb

Quote from: KammutierSpule on 27 de October de 2015, 09:22
@Tayeb: Porque tera ficado o cartao corrumpido? Excesso de escritas?

Várias razões. Desligar enquanto se está a efetuar escrita, extremo overclock (executar o processador acima da frequência) e é claro a qualidade do cartão SD.

Electropepper

Quote from: Tayeb on 27 de October de 2015, 09:21
Assumindo que o cartão é lido em OS Windows uma das soluções é a que apresentei.

Um melhor comando para OSX será:

backup:

dd if=/dev/sdb of=sdcard.img bs=4M

restauração:

dd if=sdcard.img of=/dev/sdb bs=4M

Isto para ser mais rápida a criação da imagem e a restauração


Quando estás a efectuar o backup precisas mesmo do, bs=4M ?
Custumo usar bs=4M quando escrevo .iso para pen USB, mas pensei que para o backup do SD card para o disco não seria preciso,
podes confirmar ?

Tayeb

O tamanho do bloco é importante porque a transferência é mais rápida. Tem efeito somente sobre o tamanho de transferência. 

thx1011

Os cartões de memória "vão-se embora" porque basicamente não têm qualquer mecanismo de wear leveling como as drives SSD.

A maioria das escritas ainda por cima concentram-se nos inodes dos ficheiros e diretorias o que significa que de repente certas diretorias ou ficheiros deixam de estar acessíveis.

Sei disto porque tenho (ainda) um servidor NSLU2 que usou durante muito tempo um cartão de memória, e mesmo com o file-system "mounted" com a opção noatime, que desliga a opção de update dos inodes em relação á data e hora de acesso, e mesmo assim foi-se a directoria /etc e /var/log....
É claro o cartão que tem de ir para o lixo....

Agora está o NSLU2 está com uma PEN USB recente, que potencialmente pode ter internamente algum mecanismo de wear leveling. Garantidamente só um SSD tem essa opção, e já há SSD's na casa dos 16GB/20G na ordem dos 40€, mas é o mesmo preço que o Rpi....

Por isso backups, backups e mais backups.




senso

Têm wear leveling sim, é feito internamente pelo micro que está no cartão, simplesmente deixas de ter blocos para re-alocar e acabou-se o wear leveling, tipicamente os controladores trancam os cartões e ficam em modo só de leitura.
Uma Flash eMMC era mil vezes melhor que um cartão SD, ou então meter um SSD iCache de 24-32GB que andam nos 10€, só que falam SATA..
Avr fanboy

thx1011


Em relação aos emmc, um dos motivos pelo qual tenho um Odroid e não um Rpi é esse. É que os Odroid suportam emmc, quee é o que tenho neste momento, exatamente pela má experiência com sd cards.

Tayeb

Quote from: thx1011 on 28 de October de 2015, 17:10

Em relação aos emmc, um dos motivos pelo qual tenho um Odroid e não um Rpi é esse. É que os Odroid suportam emmc, quee é o que tenho neste momento, exatamente pela má experiência com sd cards.

Então se "wear level" é a causa como é que a Sandisk dá garantia de 5 anos nos seus cartões e até "lifetime"?

https://www.sandisk.com/about/legal/warranty/warranty-table

Os cartões não ficam danificados. O que acontece é que os dados ficam corrompidos, incluindo o fato de não deixarem arrancar o OS. Basta reformatar o cartão e repôr os dados para que fique a funcionar.

senso

Potque não são feitos para serem martelados por um SO a correr neles.
Avr fanboy

Njay

Tenho 2 amigos a usar RasPI.

Um teve imensos problemas com cartões corrompidos, acontece (ou pode acontecer) se desligares o power ao PI sem fazer o shutdown do Linux. Acabou por ter que fazer o filesystem read-only. Aparentemente é um problema conhecido com o RasPI.

O outro nunca teve um único problema com isso, e desliga o power à bruta.

Hugu

Mas todos os sdcards podem ser recuperados bastando formatá-los ou é só os da scan disc(ou alguns)?

thx1011

Quote from: Tayeb on 28 de October de 2015, 18:33
Quote from: thx1011 on 28 de October de 2015, 17:10

Em relação aos emmc, um dos motivos pelo qual tenho um Odroid e não um Rpi é esse. É que os Odroid suportam emmc, quee é o que tenho neste momento, exatamente pela má experiência com sd cards.

Então se "wear level" é a causa como é que a Sandisk dá garantia de 5 anos nos seus cartões e até "lifetime"?

https://www.sandisk.com/about/legal/warranty/warranty-table

Os cartões não ficam danificados. O que acontece é que os dados ficam corrompidos, incluindo o fato de não deixarem arrancar o OS. Basta reformatar o cartão e repôr os dados para que fique a funcionar.

Mas nesse caso já será corrupção do file-system e não problemas do hardware, digo eu.

Em relação às garantias, é a tal coisa, eles garantem que por exemplo podes escrever e ler sem problemas, vamos supor, 2TB, o que num cartão de 16GB para uso normal, como uma máquina fotográfica é uma vida....

Agora com um sistema operativo a "matraquear" o cartão, em princípio não dura uma vida, mas ainda se aguenta uns anos valentes. O cartão que eu tinha morreu ao fim de 4 e num sistema praticamente sem uso... (só rsync para disco rigido normal).

Um artigo interessante:  http://techreport.com/review/27909/the-ssd-endurance-experiment-theyre-all-dead