Emotional!

Yeah; it was a rough week. My wife and family were not so supportive of my HA hobby last week :wink:

Just back up the config yml files and the zwave config if you need it. I feel you though. I lost everything once and started backing things up. I’ve only had to restore it once after a bad update.

OT, looking for a dashcam, any forum/community recommendations to look out for good info? Thanks

I have recently sprung for this card:
https://www.amazon.com/gp/product/B00V5Q1N1I

And my secondary Pi3 runs on the 32GB version of it.

I used this one before and didn’t encounter any problems - but I thought ‘better safe than sorry’:
https://www.amazon.com/gp/product/B06XX29S9Q

I’ve asked for HA minor updates to be available ASAP to Hassio users in order to not wait about 24 hours to get bug fixes to major releases… but my request has been closed:

Hassio is always delayed. Takes extra time to build. Always been that way. You can try and force an update via ssh by issuing this command from ssh
hassio ha update -o version=0.xx.x
It will update that way if it’s available whereas the update ‘prompt’ will take much longer to appear.

Usually I check here https://hub.docker.com/r/homeassistant/home-assistant/tags/ and if the update is listed there you can do the ssh update.

I’m never in a rush to update, especially given the number of point updates (.1 or even .1.1) after each release…

I always stay a release or so behind. Not worth the agro updating, finding stuff doesnt work and rolling back. I’m not externally facing though so I’m not too worried about that stuff. Once I am externally facing then I’ll have to upgrade each time and just grin and bear any teething issues…

1 Like

No performance hits I guess?
I’ve got a handful of these cards on my birthday list :slight_smile: I just thought other than the price there must be a downside, surely…?

Actually, when I started using the new card, I moved my log and database files back onto the card.
And this gave me quite the performance boost.

1 Like

None, look at it this way, if they’re fast enough to write 60fps HD video to in a dashcam, anything you do in HA will be fine.

They do still have a finite life though so not a replacement for regular backups etc.

1 Like

Hello, the SD card on a Raspberry Pi will always be a problem (further readings: https://hackaday.com/2016/08/03/single-board-revolution-preventing-flash-memory-corruption/ ) . The only solution is to have everything run in rams, and mount the root read-only. The “overlayfs” system will do that.
So I just installed this excellent script: https://github.com/janztec/empc-arpi-linux-readonly by running sudo bash install-experimental.sh first and making the other changes, swap, /var/log … etc later. It works very well on my: uname -a : Linux rpi3b_Hass 4.14.71-v7+ #1145 SMP Fri Sep 21 15:38:35 BST 2018 armv7l GNU/Linux.
Hass is spamming /var/syslog and /var/daemon.log so I had to tell rsyslogd to stop logging with /etc/rsyslog.d/00-hass.conf with content: if $programname == "hass" then ~. It is also a good idea to moderate the /.homeassistant/homeassistant.log wih a: logger:
default: fatal
after you finalized your setup in in configuration.yalm.
A df will show you that the root is now mounted ro and any changes will now be written in /rw/upper which is a type tmpfs hence in ram… caveat: they won’t survive a reboot, so to make updates or permanent changes change overlay=yes to overlay=no in /boot/cmdline.txt … reboot… etc…
You can expect the SD card to last for a very long time if used that way, and this will really make your Raspberry Pi totally reliable.
jrb.

only problem is none of that is possible to do with hass.io

Hello, would you enlighten me… I indeed manually installed hass on a full raspbian, so I don’t know about hass.io

you’re posting in the hass.io section. This is a lot different to installing home assistant in raspbian. Hassio is like an appliance with no real access to the underlying operating system (which is a minimal version of linux)

Thank’s, I understand, I will have a look at hass.io, I think the SD issue is important enough in any platform !
bye

Hi, it seems HassOS already mounts the root folder as read-only, as I’ve been unable to edit files in the /etc/ folder.

My uname -a = Linux hassio 4.14.78-v7 #1 SMP Sat Oct 27 15:51:10 UTC 2018 armv7l Hassio/O

Also there already seems to be an overlay filesystem mounted in /mnt/overlay/ so you may not not need to install extra stuff.

Hello, I’m very happy to hear that, because if Hass.io already works that way, you get no more SD card corruptions, and the PI becomes a very reliable platform. I hadn’t realize Hass.io was this different from HA on Raspbian when I posted…
Could I ask how you can see the HassOS internals, I was reading that ssh has a somewhat limited commands set !
If Hass.io does not already work that way, the most reliable solution remains what I did, with overlayfs and HA on Raspbian. This could be an improvement request to Hass.io if not.

Well I’m not 100% on how the whole of Hass.io/HassOS works, It does need to write to the SD card to write to the Database files, but it seems 99% of the files that aren’t in /config/ are mounted read-only from what I’ve seen so far.

If you want to check it out for yourself you can login over SSH as the root user using the instructions here: https://developers.home-assistant.io/docs/en/hassio_debugging.html#hassos-based-hassio

Currently I have an addon that backs up my snapshots to dropbox every night, so if I do get SD card corruption I won’t lose my settings and config files.

Hello, I just installed hass.io and the ssh addon, and I was struck by the light !!!

If you do a mount command, you will see that the root (/) is indeed an overlay mount, with lowerdir, upperdir, etc… Hass.io definitely uses the overlayfs system, the vital parts are mounted ro, /dev/mmcblk0p8 receives some infrequent writings… a df command will show you that the rest is tmpfs, in other words in rams.

This is great works from the developers, and justify switching to hass.io .

If we convert this discussion to a constructive way of avoiding recurrences:

How would you extend the backup system to validate that the backup is functional?

I recently worked in a multi-exabyte (not a typo) backup system wherein a key issue was that users didn’t validate their backups. Consider this sort of surprise in a ridiculously huge backup. This is why I ask how the backup could be validated to assuage fears, and really, how the system could possibly validate it for the user.

1 Like