My SD card died a week ago. rPi stopped booting.
I bought a new SD card and tried to reinstall everything, but realized that it is too hard.
The old SD card was not readable from the PC. But it was from rPi. It just was in a read-only mode. This is how they die.
I created a backup and restored it on 128Gb SSD. Then ran sudo fsck -v -p /dev/sda1 and it found and reset the dirty bit on the sda1 partition. sda2 partition was fine.
Then it booted from SSD without a problem. HA UI works much faster. History and Logbook load in less than one second. Home, map and cameras appear immediately.
Write speed:
$ dd if=/dev/zero of=/tmp/test1.img bs=300M count=1 oflag=dsync
1+0 records in
1+0 records out
314572800 bytes (315 MB, 300 MiB) copied, 9.20859 s, 34.2 MB/s
Latency:
$ dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync
1000+0 records in
1000+0 records out
512000 bytes (512 kB, 500 KiB) copied, 2.48363 s, 206 kB/s
So, if your SD card died and you do not have a backup, you may still be able to restore your installation.
I would recommend to switch to a cheap SSD.
Hi, could you let me know how you restored backup to ssd?
Iˇve tried connect my ssd to rpi usb slot but rpi did not find it
Shall I do any additional settings?
Honestly the best way (not the fastest) is to do a fresh install and copy the files that you need back 1 by 1 and add all the components, sensors etc back from scratch. Because HA gets updated very very frequently there is a lot of unused files that remain etc (or corrupt files etc). I have had many problems fixed just because of a fresh install.
I know it is not the fastest, but you asked for the best way. I sincerely believe that this is the best way. As is with computers and phones. Installing Windows from scratch is always better than to restore a backup.
But then again it is totally up to you. If I were you I’d take a friday or saturday and work through this. I have a pretty large setup and it takes me about 2 evenings to get a fresh install going. This will take considerably less time on smaller setups.
Flash Hassbian on a new ssd using Etcher and boot rPI from it.
Mount your SSD and old SD card on rPI. Use an External Hard Drive Enclosure and a USB card reader, these commands are useful:
dmesg - system log about drives, you need to find your flash drive.
lsusb
sudo lsblk -o UUID,NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL
sudo blkid
E.g. sda1 is your SSD.
sudo mkdir /mnt/bak
sudo mount /dev/sda1 /mnt/bak
ls /mnt/PIHDD
Create the backup. Be careful with disks’ and partitions’ names! Yours may be different, and I may have a mistake here.
E.g. mmcblk0 is your old SD card
I have done some more research and it seems on my pi3b+ this should work as expected. My understanding is that setting the boot bit is only necessary on the non-"+" models. Flashing a bootable image with etcher should just work like an sd… i hope.
I’m about to pull the trigger on a startech usb3-sata3 adapter and a kingston 120gb ssd for this. Any advice/pointers are welcome.
With hassos, hasbian, or other? From what I’ve been reading, it seems this may not actually work for me as I’m running hassos. I’ve seen there is a usb boot compatible image of hassos here, and that may be the closest method to what I was after thus far:
I’m still unclear on the differences between running raspbian+hassio as outlined in this thread:
…versus just using that usb bootable image instead. Either way, I have to learn how to transfer my configuration to the new system.
I do not think it matters whether you have HASSIO or Hassbian. You just need to boot from something to run my steps. You also can use a different method to create a backup, e.g. on a PC. But anyway you need to fix a file system corruption on the restored image.
mgluk, I may well not understand it correctly. I have read a lot of info about how hassos cannot be made usb bootable… devs only intend to allow moving the database to ssd… etc. All the tut’s on installing hassio on ssd seem to make use of either resin-os or hassbian, then you install docker, then install hassio in docker (or something like that?). Some folks use scripts to do it, some do it manually.
I’m not sure on how that goes as I’ve never done it that way; my previous instance was just a hassio (hassos based) image for rpi flashed on an sdcard… plug it in, turn it on, and lovelace pops up to guide you through… no terminal commands to install docker, hassio, etc. OS updates are done through the gui (vs having to ssh in to use apt-get… or making a cron job, etc). This is the ‘noob’ level system I’m talking about.
Well, it works! I’ve got hassos running on my pi3b+ with no sd card:
Hi, I managed to get mine restored to an SSD and it seems to work fine, the only problem is that i can no longer update my hassio. I checked the File System and my dev/root is full. My SSD is 120gb so i am guessing the file system never expanded to use all the space. Is there anyway to expand it? Thanks.
I’m not sure there is a way after it is installed to reallocate missing drive space. How did you go about ‘restoring’? The recommended method to upgrade to ssd is with a ‘fresh install’ of hassos 3.5rc… then you restore your data from a snapshot file (which should be taken before the upgrade).
Since some folks have had issues with snapshot restores, I would also recommend first attempting to restore a full snapshot on your existing system to make sure it works before attempting to upgrade to an ssd.
Install HASSIO 3.5 to ssd using Etcher (i enabled the unsafe mode just incase)
Hassio booted up, created a user and made a snapshot (just so i could find the snapshot folder).
I uploaded my SD Card snapshot and did a full restore.
Hassio booted up fine.
As i mentioned earlier i wasnt able to update afterwards even though everything seemed to be working. It was nothing to do with the hd space as i orginally thought, it turned out to be the http entry in my config file (legacy api password i think). I removed the hole thing and it finally updated (i guess it had been depreciated).
So far i have been running it on the SSD for 2 weeks and everything works much better, logs open quicker, reboots are fast etc and i feel safer that its not suddenl going to die on me.
Is it a 32GB or 64GB? I bought a 64GB msata wuth a X850 board and when I use etcher to load Hassio onto it I get an error that my drive is too large. I also noticed that when it writes to the SSD it uploads between 9mb/s and 1mb/s (goes up and down never stable) and then stops for like a few seconds then uploads again…is it normal that it stops and goes like this (etcher)? It takes forever to load the Hassio image…
Also do I need to connect the 5V on the X850? I noticed it gets power from the USB so is it needed?
I get this error after etcher finishes loading the image:
So etcher keeps destroying my ssd, I have to always use disk management to revive it…