I’ve been running OpenHab on my Raspberry Pi2 for quite some time now, but had to re-image the SD-card a couple of times now due to card corruption. Now that my OpenHab / Home Automation is growing and I’m becoming more reliable on it, I’m looking for replacing the Raspberry for a more stable hardware platform.
I’m really looking for some good /solid advice. Most articles I read are about performance, but not so many regarding the SD-card corruption with RPi. My question is really what type of hardware shall I choose now?
I’m reading about the O-droid with eMMC instead of SD, but also a barebone?
I’m open for any suggestion!
ps. It will be a dedicated OpenHab server (linux-based), so there is no need for VM’s or anything…
Actually, the raspberry pi can be made quite reliable. I had the same problem and I moved the system to an USB stick. The sdcard is now only used for booting while all write/read operations on the filesystem occur on the more robust USB pendrive.
I actually had this setup, but crashed as well. I’m not sure why that actually happened, but after a reboot, the USB stick was corrupted. That’s the reason I’m looking to move away from the Pi and look for a more stable environment.
I also got frustrated with card corruption; I also wanted to use the same system for a few other house-related tasks, e.g. itunes airplay client, Guacamole server for secure remote access. I ended up getting a (fairly) cheap fanless PC with SSD (amazon link ) and installed Ubuntu on it.
Way overpowered for OpenHAB, which I rather like. It runs happily in an unventilated cupboard, usually at 5% CPU utilisation.
It amazes me that so little discussions are there regarding this problem. Anyway, thanks Dan. I might change my mind from the Odroid towards a barebone solution. As you say, maybe an overkill, but at least it might provide the stability I need.
Have you considered the banana pro? It has a sata port. You still have to boot from the sd card but there are lots of blogs on setting it up to only have the boot loader on the sd card and everything else on a sata drive. It also has a gigabit network adapter.
I ran a banana pro as my home server for a while and it did well. It’s drawback was samba performance. The proc wasn’t up to the task of gigabit samba connectivity.
I built my own fanless PC based on this motherboard. It consumes about 20 watts under normal load and less than 30 at full.
My whole server cost around $100 USD with 4gb memory and a nice case not including drives. I bought a 3TB drive and a 5tb USB 3 drive. Everything runs on the 3tb drive and scripts backup and copy cold storage to the 5tb drive often.
Tons of stuff runs on the server and it mostly idles. The OH java processes consume a fair amount of memory but rarely ever show cpu usage. OH is very responsive for me.
Right Trent, I’m leaning more and more towards a barebone solution. I hope that some are still able to share their experience with the Odroid eMMC solution.
The banana Pi solution is similar to the solution you can build with RPi, external storage, but booting from SD. Problem is that I had bad experience with that as well, in terms of corruption of data.
The performance was never an issue, since both Linux and OpenHab are perfect platforms for optimization.
Well, you can turn this into a complex discussion: reliability, maintenance efforts required, amount of community experience and support available, performance, pricing, energy & space consumption, compatibility issues with different processors, I/O boards, OS versions etc etc.
Pis are a fine tradeoff as long as you offload disk writes to take care of the SD card corruption issue. Use a USB stick and/or NAS (if you have one).
Still - and that’s true for any other server as well - as you increasingly rely on home automation, you should prepare for as many types of outages as possible.
While a SD card will crash (often), any SSD can fail, too. Or your radio stick breaks. Or your router. Or or or …
What you really need is to identify all your single points of failure, and then come up with a comprehensive HW and OS backup strategy.
See also this thread for some more hints and discussion.
While there’s plenty of options out there, I’m very seriously looking at this new board. It’s an Intel based computer, seems to have the same GPIO connector as the RPi, and is probably the same size as the Pi. This seems like a good combination - going doing the Intel route avoids (hopefully!) some issues with ARM computers with serial ports etc, it has on-board eMMC, and having a common GPIO connector is good for expansion…
It’s more expensive than a Pi, but a lot less than an NUC.
I have been running an ODROID C1+ non-stop for “54 days 20:27” now (that’s the actual output from the System Info binding, :-)) and it seems to be stable enough.
I am running everything off a 32 GB eMCC with a “standard” Ubuntu 14.04 distribution (that came with the card). I have not bothered with a USB disk since I wanted to see how it would work in the most basic setup.
Right now I am only running openHAB with a handful of bindings (and logging enabled) + mosquitto and with that the System Info binding reports 18% disk usage (it started out at 17% after installation), a little bit in excess of 50% memory usage and normally below 5% CPU usage.
Note! I used to run a RPI 2 for about a year or so. Initially it was stable and I was very happy with it, but then I started to get problems with loosing the Ethernet connection more and more frequently. When it got to a point where it could only run for a few hours, I threw it out and ordered the ODROID.
The only thing I do not like with the ODROID (and the same goes for the RPI) is the hassle with finding packages for the ARM CPU. From that point of view I would (probably) have been more happy to go with an Intel-based solution.
Thanks Chris,
This board looks very interesing! I just might order one.
And I agree on the other comment, ssd can crash, everything could. But, i want my base to be as stable as possible, from there i can start looking at failover and redundancy. Thats the plan…
I really appreciate all the comments and feedback!
Ps. We should go for a startup for dedicated openhab appliances
It is a constant topic of discussion. I see it come up at least once a week.
A USB stick is basically an SD card that plugs into a USB port. It has the same problems regarding multiple writes as an SD card does. To avoid corruption you need an external HD or SSD, or just run entirely in read only mode and use a RAM Disk for those things that must absolutely allow writing or else things don’t work.
Interesting. I’m in the process of replacing one of my Pis (original generation B) with a new Pi 3 for that very same reason. Hope I don’t have the same problem again with this one. I’ve added a bunch of new jobs for this little guy to do (running OH is not one of them though).
Finally, to add my two cents: I’m running OH (and a TON of other stuff) on an old but powerful laptop. This laptop isn’t powerful enough to virtualize my whole environment, but I am working towards Dockerizing everything so I can very quickly rebuild the machine should I have an outage or massive failure.
The problem is not with the Pi Variant but with the sd card.
I’m looking at how I can integrate all this into one single box for NAS, OH and Kodi. Anyone got any ideas? Happy with just NAS and OH but I read that some people have had issues with qnap and synology installations?
I run mine setup on a Intel NUC NUC5CPYH. It is way overkill but I wanted something reliable. I put a 40gb ssd and 4gb of ram for around 175. Well worth it for the reliability. BIOS has an option for linux and am running ubuntu server on it. Again I know it is overkill but <$200 for the controller when I have over $2000 in zwave/DSC stuff, it is very minimal.
I am using raspberry 2 and I had some performance issues at the beginning as well. This was caused by the mySQL database when reading out data for Charts. Rasperry is an amazing platform allowing you to do whatever and how you want. So i leveraged internet and i found this:
I had a problem where I thought my sd cards running openhab on a RPI 2 were getting corrupted
but then I realized it was just the card getting full with logs. I’ve since had no problems.
I’m just throwing this out there in case it can help others who think their card is getting corrupted but is just full.
I’d definitely recommend switching to a PC running Linux and save the Pis and other such devices for situations where the Pis size or other features are critical to the project. I personally bought a used PC from my local computer recycler, but there are limitless options based on your needs and budget.