I have installed OpenMediaVault and a bunch of Docker services.
Is it possible to clone everything on my microSD, and put it in my SSD, and then boot from the SSD as if nothing changed?
I’m asking because microSD cards don’t last long.
Edit: Using a Raspberry Pi 4 Model B 8GB with the Argon Eon case
Raspberry Pi4? Then yes, here’s a guide to update your bootloader:
https://www.raspberrystreet.com/learn/how-to-boot-raspberrypi-from-usb-ssd
For older models(Pi<4), no but kinda: Afaik oder models could only boot from SD-cards. But that only means the bootloader has to be on the SD-card. So you can copy everything but the bootpartition and change the entry in the /etc/fstab to the new root on the SSD.
Listen to this guy, he obviously knows better than I do, I was doing that long time ago and dont even remember completely. Was just trying to help while you wait smart guys to answer 🤣
Thanks, this looks like it’ll work. I’ll report back
I just did some more research and aparently my intel was a bit outdatet (from arount 2020). The guide should still work, though booting from SSD should be working by default and does not require any eeprom-updates. So you can probably start with step 4.
Both the SD cards and SSDs are interpreted as block storage devices by the Linux kernel. You should be able to clone the SD card to a SSD with tools such as
dd
.Would you happen to have an example? I’m fairly new to all this. Thanks!
Can I do it from the same machine which is running? I only have two devices - my Raspberry Pi NAS and a phone
Edit, it seems possible: https://raspberrystreet.com/learn/how-to-backup-raspberrypi-sdcard - they provide a dd example
I think using dd is the way.
Why dd over rsync?
dd
is transferring in blocks whilersync
is transferring in files (or file tree). If you wanna clone a disk, the former is a better option as you want a clone and a block device may contain more than one partition.I would argue that rsync is better suited to clone your file system when using linux. Just prepare the partitions (plus point: you can alter partition sizes and reorganise like having a new partition (or even device) for your /home or whatever) and mount them, then
sudo rsync -ahPHAXx --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} / /mnt
Then fix your fstab and reinstall your boot loader. Way faster than dd and can be done on a running system.
Your preference may vary but I would not recommend anyone trying to “clone” anything on a running system.
Why not? Of course you should not install or uninsta anything while rsync runs…
Use dd on the entire disk?
Maybe clonezilla?
Im not 100% if that changed or not, but if you are using raspberry pi I think you still need sd card to boot from SSD. The way you install it is actually installing OS on both of them and then doing some tricks to boot from USB after initiall boot from SD card. Once you start your OS you can unplug SD card, but still need it for next reboot. Maybe there is a good way how to clone, but deffo not simple as regular cloning.
You can just add SSD as a storage and move docker volumes and catch folder to it (not sure about omv tho), but that wouldnt move your OS.
Many SSDs failed on me, but never SD card in raspberry pi. I do use high quality cards tbf and Im aware SSD is much better for OS, but feels like its all about luck. Just my 2c