Are Pi Zeros more fussy about SD cards than other Pis?

Aug 03, 2026 Last reply: 4 days ago 31 Replies

I have a Pi Zero 2 W logging data once an hour, it's a 1Mb database that gets updated each hour. It has killed its SD card twice in less than a year and I'm wondering why.



I have a similar logging system using a venerable Pi 2 that's been running for much longer and writing somewhat more data without any problems.



The Pi Zero 2 W replaced a Beaglebone Black that had run for several years without any problems.



Is the Pi Zero 2 W more fussy about its SD card, does it work the card harder. or have I just been unlucky?



I'd welcome any recommendations for cards that last well.


Samsung and Sandisk sell high endurance SD cards intended for security camera and dashcam applications. These are not particularly fast, but are designed to survive continuous writing of data. John

+1. There are also 'industrial' grade cards which are a step above 'high endurance' - better designed to handle things like power glitches or unplanned power outages. I think they use more robust flash (MLC not TLC, or TLC not QLC) which makes them more expensive per GB - but if you can get by with 4 or 8GB then it doesn't matter.

Theo

in the true 'if i wanted to go there i wouldn't be starting from here' tradition if its a 2W why not send its data to somewhere more interesting and secure?

My Pi zero W never writes to its SD car at all unless i change configurations,. Everything that writes is either stopped from writing or writes to ram discs.

Some SD cards are better than others, I am not interested in finding out which

What would be more helpful would be some guidance on how to implement it! :-)

E.g. how do you stop systemd's logging from writing to 'hard' disk? It would need a **lot** of reconfiguration before it would use a reasonable amount of space such as is available on a RAM drive.

Maybe there are versions of the OS that are optimised for minimal disk writing, if so I'd like to know about them.

Here is my 'if I ever have to reproduce this' cheat file HEATING CONTROLLER ================== user: admin password: fuckU file /etc/dhcpcd.conf

--------------------- set static IP address 192.168.0.201 set gateway 192.168.0.254 set name-server 192.168.0.100

apt-get update apt-get upgrade -y

# web server #============ apt-get install apache2 chown -R www-data /var/www chgrp -R www-data /var/www chmod -R 775 /var/www/ chmod g+s /var/www usermod -aG www-data me usermod -aG www-data admin mkdir /var/www/data chmod 775 /var/www/data # create an area to share data between processes... mkdir /var/www/data/volatile chmod 777 /var/www/data/volatile # create ram disks echo "tmpfs /var/www/data/volatile tmpfs nodev,nosuid,noexec,nodiratime,size=1M 0 0" >> /etc/fstab echo "tmpfs /var/ramlog tmpfs nodev,nosuid,noexec,nodiratime,size=25M,mode=0755 0 0" >> /etc/fstab

## f*ck with shitsemd sed -i "s/#Storage=auto/Storage=volatile/" /etc/systemd/journald.conf sed -i "s/#RuntimeMaxUse=/RuntimeMaxUse=25M/" /etc/systemd/journald.conf sed -i "s/#ForwardToConsole=yes/ForwardToConsole=no/" /etc/systemd/journald.conf sed -i "s/#ForwardToWall=yes/ForwardToWall=no/" //etc/systemd/journald.conf

Then it is a question of making sure the SD card filesystem is mounted with minimal write more /etc/fstab

proc /proc proc defaults 0 0 PARTUUID=b8c9fbb7-01 /boot vfat defaults 0 2 PARTUUID=b8c9fbb7-02 / ext4 defaults,noatime 0 1 # a swapfile is not a swap partition, no line here # use dphys-swapfile swap[on|off] for that tmpfs /var/www/data/volatile tmpfs nodev,nosuid,noexec,nodiratime,size=1M 0 0 tmpfs /var/ramlog tmpfs nodev,nosuid,noexec,nodiratime,size=25M,mode=0755 0 0

and picking through everything that might write to the logs to make it send data to the ramdisk...I though that I had included that in this guide, but looks like I didnt,. E.g. Apache log files go to the ram disk

ls -l /var/ramlog total 944

-rw-r----- 1 root adm 119044 Aug 4 10:55 auth.log

-rw-r----- 1 root adm 55711 Aug 1 23:59 auth.log.1

-rw-r----- 1 root adm 118243 Aug 4 10:47 daemon.log

-rw-r----- 1 root adm 86611 Aug 2 00:00 daemon.log.1

-rw-r----- 1 root adm 0 Aug 2 00:00 debug

-rw-r----- 1 root adm 3111 Jul 31 20:41 debug.1

-rw-r----- 1 root adm 241 Aug 4 00:00 error.log

-rw-r----- 1 root adm 528 Aug 4 00:00 error.log.1

-rw-r----- 1 root adm 81192 Aug 3 00:00 error.log.2.gz

-rw-r----- 1 root adm 446 Aug 2 00:00 error.log.3.gz

-rw-r--r-- 1 root root 347 Aug 1 00:00 error.log.4.gz

-rw-r----- 1 root adm 0 Aug 2 00:00 kern.log

-rw-r----- 1 root adm 31371 Jul 31 20:40 kern.log.1

-rw-r----- 1 root adm 5111 Aug 2 13:02 mail.info

-rw-r----- 1 root adm 14189 Aug 1 23:02 mail.info.1

-rw-r----- 1 root adm 5111 Aug 2 13:02 mail.log

-rw-r----- 1 root adm 14189 Aug 1 23:02 mail.log.1

-rw-r----- 1 root adm 159 Aug 2 00:10 messages

-rw-r----- 1 root adm 30557 Jul 31 20:40 messages.1

-rw-r----- 1 root adm 190719 Aug 4 10:55 syslog

-rw-r----- 1 root adm 163421 Aug 2 00:00 syslog.1

Its not 100% complete, but its very close

I've still got data going to /var/log that I ought to symlink to files in /var/ramlog

ls -l /var/log total 288

-rw-r--r-- 1 root root 653 Sep 6 2023 alternatives.log drwxr-xr-x 2 root root 4096 Nov 18 2025 apt

-rw-rw---- 1 root utmp 8832 Jun 10 12:00 btmp

-rw-r--r-- 1 root root 0 Nov 19 2025 dpkg.log

-rw-r--r-- 1 root root 2400 Nov 18 2025 dpkg.log.1

-rw-r--r-- 1 root root 464 Oct 16 2025 dpkg.log.2.gz

-rw-r--r-- 1 root root 778 Sep 6 2023 dpkg.log.3.gz

-rw-r--r-- 1 root root 584 Aug 11 2023 dpkg.log.4.gz

-rw-rw-r-- 1 root utmp 292292 Aug 4 10:47 lastlog drwx------ 2 root root 4096 May 3 2023 private drwxr-xr-x 4 root root 4096 Aug 4 2023 runit drwxr-xr-x 2 root root 4096 Feb 2 2021 sysstat

-rw-rw-r-- 1 root utmp 230016 Aug 4 10:47 wtmp

... lastlog and wtmp. I dont mind upgrade history being there tho A lazy way might be to just mount the ramdisk on /var/log, but I wasn't sure what I wanted volatile and what needed to be written to the SD card

To date this has been utterly reliable for nearly 3 years now. Always reboots after a power cut.

In practice various (Pi PICO W) units talk to it via its wifi TCP/IP connection - thermostats, the oil sensor.. and it controls the central heating system via some mains relays. Information and configuration is via a custom web interface.

If I wanted to store a lot of changing data I would (probably) NFS mount the house server and stream data to that instead of locally. Or write some proprietary network code.

Exactly my point.

Maybe he's just 'not interested' in explaining.

Quite likely

Out of order threads were very common back in the days of UUCP over modems :-)

So you don't run systemd? While that may be a 'good idea' in some ways it does require a **lot** of customisation.

... and current stable Debian is 13, I don't think I want to go back as far as you are! :-)

I use both ES and NIN, via leafnode running on my desktop machine. NIN is stopping in September though isn't it?

That's *next* september ...

Not really. Mount the right filesystems, make sure you can find the right executables on your $PATH and that those executables can find the right shared libraries ... what more do you need?

Absolutely not :)

It's not a general-purpose computer, it's a device that runs a single program (wot I wrote), and it isn't going to change, ever. Yes, figuring out how to get things like wifi and sshd to run took a few iterations, but now that's a solved problem.

This was created many moons ago. It works, it isn't accessible from any public network, and I have no reason to keep chasing the dragon updating it "just because". Ultimately it may be replaced, but that will be a complete replacement with something else, not an update.

Something very similar should be possible with later versions, unless they've finally integreted systemd into the kernel!

I think this is very clear and relevant info: you don't need to install a whole distros cruft just to get an IOT working. Neither does it need upgrading for 'security reasons' if its inside a private network

Plenty of people just use a busybox superstructure...

Ah, that's a bit different from my situation, I need a familiar OS on the system in question.

Yes. having e.g,. Apache and PHP on my zeros is essential. Those ware wheels I dont want to reinvent

formatting link

| Discontinuation of the NetNews / Usenet service as of 30 September 2027

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required