So, it happened again, the micro SD card in the Raspberry pi used to host this blog started to fail:
mmc0: Timeout waiting for hardware interrupt
… and my Raspberry pi2’s kill count now stands at 3 SD cards.
Recovery is not a problem since it’s backed up regularly, but it’s an irritating issue; whilst I don’t expect massive endurance from any of these cards, I expect them to last longer than they have as the system isn’t write heavy. The symptoms so far are never the same; card 1 simply became read-only, card 2 started exhibiting silent file corruption fixable by re-writing the data, and now the issue with card 3 manifests itself as the server randomly hanging whenever the system hits a particular portion of the card. Card 1 was class 6 and branded “Maxell”, card 2 was class 10/U1 and branded “Kingston” and card 3 a “Toshiba” class10/U1.
You can pull some information about the cards controller from the command line, however it would seem that without dissolving off the cards cases in nitric acid it’s hard to really know what you’ve got.
The underlying issue could be anything; firmware, power or pi2 design, but because the failures are always different I think this is purely down to card quality and wear out. Historically this server was hosted on a Cobalt Qube2 with an 8gb flash card, and then on a Raspberry pi model B with a 16GB SD card; both for long periods of time without issue. Both cards were also branded “SanDisk”; although I’ve no idea if that really makes any difference.
This time I’ve brought the site back up on the Raspberry pi model B, mainly because I’d not got a suitable working micro SD card for the pi2. We’ll see how it goes, but it might be time to move some things to tmpfs!