I have a Raspberry Pi in a remote location running from a battery charged by a solar panel and having Sleepy Pi starting it in every hour to run for a few minutes to snap some pictures, make some measurements and upload those.
The problem is, that fairly frequently (in about 2-7 days of usage) the SD card gets damaged and needs to be replaced. First I thought, that some kind of an issue with writing data to the SD card when power goes out, so I made all partitions to be mounted as read-only and all writing happens to RAM-drives only, but the SD card corruption keeps happening.
Question is, how can an all read-only SD card keep getting corrupted?
Actually I'm swapping two cards and happening with both, so probably not a card issue. Cards are of the same type, but bought at different times so likely different production batch (G.Skill 32Gb Class 10 MicroSDHC Flash Card with SD Adapter (FF-TSDG32GA-C10), http://www.amazon.com/gp/product/B007MO0YAI/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1)
Below is my fstab file:
proc /proc proc defaults 0 0 /dev/mmcblk0p5 /boot vfat ro 0 0 /dev/mmcblk0p6 / ext4 ro 0 0 /dev/mmcblk0p7 /home ext4 ro 0 0 none /var/run ramfs size=5M 0 0 none /var/log ramfs size=50M 0 0
EDIT: To clarify some points pointed out by goldilocks:
There are two SD cards (same type but purchased at different times, so common production issue is unlikely)
The SD cards get written with DD from the same image after every corruption, so when the next corruption happens they just get swapped out - as such it is always the same 2 cards getting rotated.
I don't know why the raspberry doesn't boot, as this is a headless system and only the maintenance crew has occasional access to it. I have asked them to take an image (dd) of a damaged card before they would reload it from the backup image and upload it to me. I will take a look at it when I receive it, maybe it will help me to identify at what point the boot fails.
No, I'm not running fsck on the cards, they get reloaded completely from the backup image using dd.
Both cards were bought for purpose, so they are unlikely to be worn-out.
While I can't say for sure that this wasn't a corruption due to low voltage, the last time it happened it has happened when the battery was at 98%, the sun was up (so the solar was supplying power too), so it is unlikely that a low voltage scenario would have happened at least at this time.