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
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…