I can't imagine having to sysadmin a bunch of raspberry pis in a serious "production" setting with all the reliability problems they have, that would be godawful, you'd go through a brace of SD cards every month
I can talk to managing Pis in an educational setting, and honestly, it is less bad than expected. (Disclaimer: No longer a school sysadmin. But was for a number of years.)
First some comparisons. Kids are seriously rough on technology. We had a fleet of about three hundred laptops, two hundred iPads, and two hundred Pis in the junior school.
In a year, we'd end up with about a hundred laptop screen replacements, two hundred keyboard replacements and about a hundred hard drive replacements. About ten "I accidentally dropped the laptop in the river"s. We'd cycle the laptop out for a brand new one at four years, if it survived.
In the same year, about sixty iPad screen replacements, ten or so battery replacements, and twenty or so river dunkings. Only ever had one hard drive failure, apart from water damage, but the iPads were on a short two-year upgrade cycle.
The Pis were used for the robotics clubs (optional) and programming (compulsary). Pis aren't great for kids and robotics due to lack of protection on the pins for dumb mistakes. We had about twenty fizzle the mysterious smoke every year. About twenty more than experienced SD card failure in the year, usually related to yanking a power cord, not direct write failure. We also had a couple students a year who snapped theirs in half.
All in all, the cost of maintaining the Pi fleet was negligible besides the rest.
I've snapped/bent a few microSD cards myself trying to remove them from "exotic" cases, both times in hasty situations (interactive art shows). I've learned to slowly remove them while not exerting any vertical pressure when it's still halfway inside the Pi - just keep trying to slide the card out while using fingernails to catch the bump on the end.
Ah, sorry. When I said "kids snapped theirs in half", I wasn't referring to the SD card. I was referring to the Pi itself. Kids can be monstrous when it comes to technology.
By sitting the iPad in the mysterious gunk that lies at the bottom of a kid's backpack. After stewing for a few weeks in exotic biological material the internals can begin to break down.
The cases are sealed, but they're still permeable to stuff you wouldn't let near your computer because you have a slight respect for technology.
I found fungus growing inside more than one iPad case, usually directly in the boards.
The iPad doesn’t have a hard drive. It has flash storage. The term “hard drive” is not a synonym for on-device storage: hard drives were a prevalent form of storage, but let’s not become so lax with terminology that it no longer means anything...
Yes, the iPad has flash storage. The same specific kind of flash storage that you'll find inside an SSD. And SSDs are typically referred to as hard drives.
Why? I supported 40 of them (rpi 3) as remote serial hosts and custom reboot/repower for a QA farm. Not a single one failed and don't think I had a single issue during that whole time. As far as I know it's still going just fine. It was a cheap and dependable solution. 99% of the SD card issues go away when you don't cheap out and don't go cheap. get a large card that is 32GB plus from a respectable vendor. That's not the rpi's fault on the failures, it's the cheap ass SD cards that people buy.
With the number of GPIO pins available - you could always wire-up one yourself if a physical button is important to you.
That said, I don't think the Pi was ever designed for "serious" industrial usage; I don't think the production runs (or the foundation) could support that, without undoing the core mission.
Machines no longer degrade when the power is yanked. Any corruption caused by a mid-write devoltage event is handled gracefully by whatever modern filesystem of choice you are using, is it not?
Is there some more fundamental hardware damage that occurs when USB devices are unplugged without prior warning to the device itself?
1. A modern filesystem will stop the filesystem getting corrupted by power loss - but a file that was mid-write, or an install process that had copied half the files it needed to, will still leave that thing incomplete.
2. SD cards can wear out (i.e. too many write-erase cycles) regardless of the filesystem.
3. SD cards have controllers running firmware, doing things like write levelling and bad block remapping. Some cards have bugs, and if the card is lying to the OS about a write completing, or if the remapping table is less resilient than the filesystem's journaling, you get problems even if the OS and everything on it is perfect.
4. Problems like pins with poor connections and power supplies not providing enough current are exacerbated, as microsds have no space for power capacitors and few SD card holders are rated for hundreds of insertion cycles.
5. SD cards start out a lot cheaper than SSDs (easier to find a sub-$10 SD card than a sub-$50 SSD) and the market is awash in fakes
All these problems look very similar - "My RPi stopped booting, I replaced the SD card with a freshly written one and it started booting again" - making forum anecdotes and user bug reports hard to rely on.
Lots of points you make are true. Yes, if you yank the plug without saving you lose your work. Or Exim will have to flush the queue again. Or vim will have a dangling swapfile that it will ask you about next time. Or you’ll have to start over on your game of solitaire.
And yes, SD cards have flaws.
My question was: if I turn my computer off every day by yanking the power cord, I expect nothing to break, so what am I missing when people seem so wary of doing it?
(Recall that this was all in the context of a parent comment lamenting a lack of a dedicated shutdown button on the RPi.)
I just spent $10k on 4 Siemens 32Gig industrial SD cards for S7-1500 PLC's, in safety service.
Gauranteed 500,000 writes, probably much more, but they have "mission life" quoted at ten years on the vendor cert, so will be ditched after ten years and replaced.
Apparently they are a whole different type of logic design, hence the cost. Even the no-name or branded equivelent I could find were close to $1k each, but given use in safety service we went legit all the way anyway.
Anything with the magic S word stamped on it seems to double in price...
It does, when your crappy hardware doesn't lie to the kernel. Go take a look at the amount of unrecoverable FS corruption discussions at LKML. It still happens relatively frequently, and is almost always caused by shitty hardware ignoring fsync and lying to the filesystem. SD cards and cheap SSDs are especially terrible in this regard (that's why I refuse to buy anything except from the most respected vendors, and they still have their issues). Many devices don't even report checksum mismatches on read requests and simply return garbage data, and most filesystems don't notice it (because they don't implement a data integrity checking mechanism of their own)
Because of large erase blocks, it's unavoidable that a flash device needs to involve some kind of very careful bookkeeping and sector-shifting to safely handle power loss during writes. Otherwise it could lose a big chunk of sectors unrelated to what you were actually writing, and that's not something a filesystem can paper over. I barely trust a proper SSD controller to do this, let alone whatever cheap thing is in an SD card or flash drive.
Dependence on SD Cards and lack of orderly shutdown was what caused my company to not go with the Raspberry Pi. Even then we have back up power to allow the system time to shutdown.
Considering it was designed for IT teaching and not for embedded use, I cannot fathom why your company and many others contemplate using it in such a capacity.
Raspberry Pis are actually very reliable if you don't use the cheapest possible power supply and SD card from Amazon. I have several that have years of uptime.
That said, I agree kids are rough on any technology.
First some comparisons. Kids are seriously rough on technology. We had a fleet of about three hundred laptops, two hundred iPads, and two hundred Pis in the junior school.
In a year, we'd end up with about a hundred laptop screen replacements, two hundred keyboard replacements and about a hundred hard drive replacements. About ten "I accidentally dropped the laptop in the river"s. We'd cycle the laptop out for a brand new one at four years, if it survived.
In the same year, about sixty iPad screen replacements, ten or so battery replacements, and twenty or so river dunkings. Only ever had one hard drive failure, apart from water damage, but the iPads were on a short two-year upgrade cycle.
The Pis were used for the robotics clubs (optional) and programming (compulsary). Pis aren't great for kids and robotics due to lack of protection on the pins for dumb mistakes. We had about twenty fizzle the mysterious smoke every year. About twenty more than experienced SD card failure in the year, usually related to yanking a power cord, not direct write failure. We also had a couple students a year who snapped theirs in half.
All in all, the cost of maintaining the Pi fleet was negligible besides the rest.