This is only tangentially related to debian. I have a really old rpi (2B model I think) running stock bullseye acting as an access point and also a backup route to another wifi AP.
This all works beautifully and has run smoothly for a long time. It had a 16GB sandisk microSD card although I was only using c 3GB at the beginning. On 21st December the kernel remounted the card ro - but (almost) everything continued to work - my daily backups take a snapshot (which failed) and the daily 'I'm alive' email also failed. Both of these generated an 'URGENT' email from my monitoring scripts. As the AP and routing were both fine I investigated at the weekend. What I found was the beginning of the card was unwriteable, I've not investigated exactly how much, while the rest of the card seems perfectly OK. I cannot, for example, change the partition table, nor can e2fsck clear the dirty journal flag, nor could I change cmdline.txt but my quick sampling didn't find anything else that was unwriteable. Do these cards have wear levelling? Have I just got unlucky that it's the start of the card that is unwriteable and so I cannot continue on the 12GB of space that has never been part of a partition? I think the only bits of the FS that see regular writes are /var/log and the journal. I'd prefer to keep that to maximize the chance that I have logs when things go wrong. Is there some way to distribute these writes around the card if there isn't wear levelling? And is there a way to detect pending failures like this before they bite?