I have now tried and had an astounding success moving Docker system with all images (3-4 gigs) and Docker Compose directory with all data (HomeAssistant, Node-RED and so on can be a gig or so) to SSD’s I have attached to two of my Pi 4’s, in my car and boat. They both have my music library on them, so they are pretty fast 2 TB USB 3 SSD’s (with a separate ext4 partition for everything Docker and another NTFS for the library). So the MicroSD card partition could be shrinked from 22 gig to 14.
Now I want to move the Docker stuff on the Pi’s that run home automation and so on from the card to USB sticks. The reason is that I do frequent, automated system backups, and saving 8 gig per backup saves a lot of space in the long run. Then I can copy only the Docker Compose directory with data and download the images again if something happens.
But how fast do the USB memory need to be not to slow down the system? The automation Pi’s are one 5 and one 3B at my cabin, and one 5 and two 4 at my house. Do I need fast and expensive USB 3.0 memory, or is that not necessary? I could of course save a nice amount of money if I can use 2.0 without a noticeable performance hit. On the 3B I know I can, since that doesn’t even have a 3.0 port, but what about the other ones?
I probably didn’t explain it clearly enough. The full backup is of the system on the SD card, where I make changes all the time. That is automatically backed up every other day between 04 and 05.
The Docker images only changes when I upgrade them, and I don’t care if I have a backup of those since I can pull them in maybe 20 minutes, and the Docker system only changes on manual system updates once or max twice a month. I don’t care about that either, worst case scenario remove and re-install docker. So by moving that to the SSD/USB stick I loose probably at least 3-4 gig, 5 on some Pi’s.
The Docker Compose directory has a gig or so more, most of that is automatically backed up once a week, and I do manual backups of my Node-RED flows and Home Assistant YAML and Zigbee and Z-Wave setup if I change anything.
So bottom line: This way I back up 14 gig every other day instead of 22 gig or more every other day (because with Docker stuff on the USB drive I don’t have anything that grows in size, so I don’t have to keep as much free space in the card). I hope that was clearer.
Wouldn’t it be easier to tell the backup software not to backup certain directories instead of moving them to a different drive?
Anyway, speed of USB connected SSDs should be better than regular USB thumb drives, which are not made for regular wear&tear by applications using them. (Note that neither are regular SD cards)
But the speeds you need depends on the speed want. If the device is slower, than you need to wait a bit longer for things to load. How much delay are you willing to accept?
But in general any SSD using USB3 will be faster than SD when connected to a Pi5. Older Pis usually have USB as bottleneck.
That’s not the way the backup works. They need to be image backups and back up the full partitions, so symlinks and permissions aren’t messed up . So that won’t work. I could of course have the Docker stuff on a second partition of the SD card, which would mean that the backup can be slimmed similarly down, but that creates problems when using balenaEtcher or similar software to restore the backup, because that always deletes the whole card.
And maybe I should go for a few extra SD cards in card readers instead. The price difference isn’t all that much. Or some M2 boxes. I will have to rethink. Thanks!
Yeah, there most certainly is. But I have no intention of looking for it. Nice bieffect: The images start up a LOT faster from the SSD to USB3 than from the card, at least on the Pi 5.