SD Card Lifespan

Im curious what others have experienced with SD Card life, especially on mast installations. I’ve used Pi’s in the past for various solutions, but found in day to day applications the SD card lasts maybe 4-6 months before you get errors.

I know the MMDVM Pi-Star throws it into read only mode, does the satnogs image do anything special?

Thanks

Damian
2E0TXE - Station 910

1 Like

What we try is to use memory (RAM) for read/write operations for observations, in the first days we had used sd-cards we had several failures. As far as I can remember after using RAM we haven’t seen a lot sd-cards failures. I would say that there are station that are very active without changing sd-card for at least one year now.

4 Likes

Station 187 has 10,000 observations on it’s original SD card.

3 Likes

Thats good to know… I had 910 running on a 120Gb SSD but felt its a tiny bit overkill considering everything just gets uploaded to the cloud anyway. Upgrading to the new Buster release currently and using a Sandisk 16Gb Class 10

For our reference stations we have been using the recommended SD cards from this review of SD cards for RPi for 2019. With tens of thousands of observations without failing I can pretty safely say that those are good choices.

4 Likes

There have been no change to SD cards of stations #50 (14000 obs) and #77 (8200 obs) since the initial install.

4 Likes

I have used in the past a really worn-out SD on one of my stations. I/O on the SD was terrible but the station did operate.

Logs are the only thing written to the SD card.

By adding the following line to /etc/fstab, the logs will not be written to the SD any more:
tmpfs /var/log tmpfs rw,nosuid,noexec,nodev,noatime 0 0

2 Likes

Same problem for ADSB-receivers https://discussions.flightaware.com/t/god-save-the-sd-card/29918

1 Like

I’ve opened an issue here so we add support for it in satnogs-setup at some point.

Yet another solution - configure Redis to run without data persistence:

sudo nano /etc/redis/redis.conf

Comment out all redis saves:

# save 900 1
# save 300 10
# save 60 10000

Configure redis to run without logging:

sudo nano /etc/redis/redis.conf

Comment out the line - # logfile /var/log/redis/redis-server.log

Save & exit:

sudo service redis-server restart

Ensure all redis databases have been removed from /var/lib/redis with:

sudo su -c 'rm -rf /var/lib/redis/*'
1 Like

Btw, we don’t use redis any more.

Sure, but could you explain the reasons?

Redis was there for facilitating interactions with the web UI (specifically for sockets.io)
Now that the web UI is no longer a part of the satnogs-client (and will be a separate package on its own) there is no need for Redis.

Indeed, satnogs-client uses the WebSocket library gevent-websocket and the use of Redis is appropriate. Therefore, after updating satnogs-client, I still installed the Redis and specified the mandatory use of redis-server.service in the /etc/systemd/system/satnogs-client.service .

[Unit]
Description=SatNOGS client
Requires=redis-server.service
After=redis-server.service

It doesn’t use websockets since version 1.0. If you have updated then you don’t need the Redis server. In fact, if you are using satnogs-setup (thus Ansible), it is automatically removed.