Archivio mensile:luglio 2022

Bare metal restore con backuppc

Nonostante svariate ricerche, in ambito Linux non ho trovato software open source in grado di fare il backup completo dell’intero sistema di una vm o macchina fisica.

Il software per backup che preferisco è backuppc, il quale si è rivelato molto versatile (anche se un po’ spartano).

Ora, su una macchina Linux mi permette di fare il backup di tutto il file system, ma come ne effettuo il restore avendo al termine del processo una macchina in grado di fare il boot senza dover fare rituali di magia nera?

Dopo qualche prova la cosa si è rivelata molto più semplice del previsto. Lascio su questa pagina un appunto, in quanto al momento del bisogno, sicuramente non avrò tempo per cercare i comandi corretti e/o fare prove.

Non è immediato come potrebbe essere Veeam, ma la cosa è comunque abbastanza veloce.

Per prima cosa, prepariamo la nostra macchina di destinazione. Facciamo il boot con una distro live a nostro piacimento.

Una volta dentro partizioniamo il disco come nella macchina di origine e montiamolo in /mnt

Ora partiamo con il restore. Nell’esempio, mi sono già scaricato da backuppc un file .tar con il contenuto di tutta la macchina. Per semplicità, preferisco fare il trasferimento di dati via ssh.

Se necessario installiamo o facciamo partire ssh sulla nostra macchina di destinazione.

Dopo di che, da un altro pc (in questo caso uno windows) lanciamo il comando per il restore del contenuto del disco:

type restore_192.168.0.17_2022-07-22.tar | ssh root@192.168.85.130 "cd /mnt; tar -xvf -"

Attendiamo il termine della copia dei dati.

Una volta finito, andiamo a visionare fstab per controllare che i nomi delle partizioni siano corretti. Se, come ormai è diventato di moda, la vostra distro ha inserito in fstab i nomi delle partizioni usando l’UUID, dovrete variare le righe incriminate immettendo l’UUID corretto o sostituendolo con i nomi classici delle partizioni, es.: /dev/sda1.

Ora viene il momento di reinstallare grub:

mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

sudo chroot /mnt

grub-install /dev/sda

update-grub

A questo punto riavviate la macchina e, salvo sorprese, vi ritroverete la macchina funzionante.

Quanto sopra è stato provato con BIOS tradizionali. In caso di UEFI mi riprometto di fare delle prove ed aggiornare l’articolo.