Backup e ripristino dell'immagine con dd

Che cos'è dd?

Il comando dd è un'utilità per la copia e la conversione dei file, comunemente utilizzata nella maggior parte dei sistemi operativi Unix. Può essere utilizzato per operazioni quali la creazione di backup di dati, la clonazione di dischi, la creazione di immagini di partizioni e altro ancora. Tuttavia, è necessario prestare attenzione quando si utilizza dd, poiché un uso improprio può portare alla perdita di dati.

Ecco la sintassi di base del comando dd:

dd if=input_file of=output_file [opzioni]

Dove:
- if (file di input) specifica il file di input o l'origine dei dati.
- of (file di uscita) specifica il file di uscita o la destinazione dei dati.

Di seguito sono riportate alcune opzioni e parametri comuni di dd:

1. bs (dimensione del blocco): Determina la dimensione del blocco di dati. Ad esempio, bs=4K imposta la dimensione del blocco a 4 kilobyte.
2. count: Specifica il numero di blocchi da copiare. Ad esempio, count=100 copia 100 blocchi di dati.
3. iflag e oflag: Opzioni per il controllo dei flag di ingresso e di uscita. Ad esempio, iflag=direct può essere usato per leggere i dati direttamente, aggirando la cache del sistema operativo.
4. seek e skip: Opzioni per spostare il puntatore del file di input o di output per iniziare o terminare la copia da una posizione specifica.
5. stato: Opzione per visualizzare informazioni sull'avanzamento dell'operazione di copia.
6. conv (conversione): Consente varie conversioni di dati, come il cambio di maiuscole e minuscole (conv=ucase o conv=lcase), l'eliminazione di caratteri (conv=sync) e altro.
7. iflag e oflag: Queste opzioni consentono di configurare i flag per i dati in ingresso (iflag) e in uscita (oflag). Ad esempio, direct può essere usato per leggere o scrivere dati direttamente senza buffering.
8. stato: Questa opzione consente di visualizzare le informazioni relative all'avanzamento dell'operazione di copia.
9. cerca e salta: Consentono di spostare il puntatore del file di input o di output per iniziare la copia da una posizione specifica.

Vediamo alcuni esempi di utilizzo di dd per copiare file e directory sul Cloud Storage remoto fornito da Introserv utilizzando il protocollo SSH e il comando rsync. Inoltre, l'esempio dimostrerà il backup e il ripristino di un'immagine di sistema utilizzando un terzo disco. Nota importante: comandi simili, con l'indicazione di un server di destinazione, consentono di copiare directory e file su qualsiasi server remoto tramite SSH. Inoltre, per garantire l'integrità dei dati, utilizzeremo un'immagine di "recupero" chiamata Finnix.

Creazione di un backup dell'immagine del sistema

1.Creazione di un backup:

Preparativi:
1. Scaricare Finnix sul computer da https://www.finnix.org.
2. Collegare l'immagine ISO tramite IP-KVM.
3. Avviare il server dall'immagine ISO Finnix.

2. Lavorare con Finnix

Esploreremo due metodi, uno dei quali è possibile utilizzando il Cloud Storage di Introserv.

Per montare un file storage remoto (cloud storage) tramite SSH, si consiglia di utilizzare uno strumento come SSHFS (SSH File System), che consente di collegare directory remote al computer locale utilizzando il protocollo SSH. Ecco come fare:

2.1. Installare SSHFS.

Poiché è già installato in Finnix, non eseguiremo questo passaggio.

sudo apt-get install sshfs

2.2. Creare una directory locale in cui montare la cartella remota.

Ad esempio:

sudo mkdir -p /root/mnt/backup

Questo comando crea la struttura di directory necessaria, comprese le directory parentali mancanti (flag -p).

2.3. Montare la directory remota tramite SSHFS:

sudo sshfs box17469@box17469.introserv.cloud:/backups ~/mnt/backup/

- box*****: Il nome utente SSH sul server remoto.
- box*****.introserv.cloud: L'indirizzo IP o il nome host del server remoto.
- /backup: Il percorso della directory su cloudstorage.
- ~/remote_mount: Il percorso della directory locale creata in precedenza, dove si vuole montare la cartella remota dal cloudstorage.

Il sistema chiederà la password, che si trova nei dettagli dell'ordine nella sezione Backup.

2.4. Controllare la nostra cartella di rete.

2.5. Per creare un backup del sistema, utilizzare il seguente comando:

dd if=/dev/sda of=/root/mnt/backup/sda.ing bs=8M conv=sync,noerror

2 è possibile utilizzare un terzo disco o un'altra memoria esterna.

2.1 Determinare il disco rigido dove è installato il sistema principale (in questo caso, Ubuntu)

In questo caso, è sda.

2.2 Montare anche la cartella dell'unità esterna in modo da potervi collocare l'immagine di backup.

Per montare il file system creato nella directory /mnt/, eseguire i seguenti comandi:

sudo mount /dev/sdX /mnt/папка # sostituire sdX con il dispositivo o la partizione specifica (in questo caso, abbiamo sdb)

Per creare un backup del disco rigido, utilizzare il seguente comando:

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror

- if=/dev/sda - copia l'intero disco rigido sda;
- of=/mnt/backup/sda.img - copia in /mnt/backup/sda.img, dove la directory /mnt/backup è il punto di montaggio del disco che conterrà l'immagine;
- bs=8M - imposta la dimensione della cache del disco rigido per accelerare il processo di copia (altrimenti i dati verranno scaricati in piccoli lotti di 512 byte);
- conv=sync,noerror - indica a dd di copiare bit per bit ignorando gli errori.

Ripristino di un backup di sistema su un altro server o disco

1. Collegamento dell'immagine di ripristino

  • Collegare l'immagine ISO tramite IP-KVM.
  • Riavviare il server nell'immagine ISO Finnix.

2. Lavorare con Finnix

Come per il backup, abbiamo due modi per utilizzare CloudStorage:

2.1. Creare una directory locale in cui montare la cartella remota. Ad esempio:

sudo mkdir -p /root/mnt/backup

2.2. Montare la cartella remota tramite SSHFS:

sudo sshfs box17469@box17469.introserv.cloud:/backups ~/mnt/backup

Il sistema richiederà una password, che si trova nei dettagli dell'ordine nella sezione Backup.

Controllate anche che la cartella sia montata.

ls -l /root/mnt/backup/

2.3. Trovare l'immagine firmata sda.img sull'unità di rete collegata.

Per ripristinare il sistema da un backup, utilizzare il seguente comando:

dd if=/root/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

2.4. Dopodiché, riavviare il BIOS.

Impostare il disco in cui è stato distribuito il sistema come priorità di avvio, riavviare e provare ad avviare il sistema.

Consideriamo anche la possibilità di distribuire un'immagine di sistema utilizzando un terzo disco o un altro sistema di memorizzazione:

2.1. Перезеграужаемся в Finniх.

Montare il disco o lo storage di rete con l'immagine usando il comando sudo mount /dev/external_network_disk_or_storage /mnt/folder_for_mounting.

Trovare l'immagine firmata sda.img

Per ripristinare il sistema da un backup, utilizzare il seguente comando:

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

Dopodiché, si riavvia il BIOS e si imposta il disco su cui è stato installato il sistema come priorità di avvio, si riavvia e si prova ad avviare il sistema.

    How useful was this article?

    VAT

    • Other

      Other

      0%
    • austria

      Austria

      20%
    • Belgium

      Belgium

      21%
    • Bulgaria

      Bulgaria

      20%
    • Croatia

      Croatia

      25%
    • Cyprus

      Cyprus

      19%
    • Czech Republic

      Czech Republic

      21%
    • Denmark

      Denmark

      25%
    • Estonia

      Estonia

      22%
    • France

      France

      20%
    • Finland

      Finland

      24%
    • Germany

      Germany

      19%
    • Greece

      Greece

      24%
    • Hungary

      Hungary

      27%
    • Ireland

      Ireland

      23%
    • Italy

      Italy

      22%
    • Latvia

      Latvia

      21%
    • Lithuania

      Lithuania

      21%
    • Luxembourg

      Luxembourg

      17%
    • Malta

      Malta

      18%
    • Netherlands

      Netherlands

      21%
    • Poland

      Poland

      23%
    • Portugal

      Portugal

      23%
    • Romania

      Romania

      19%
    • Slovakia

      Slovakia

      20%
    • Slovenia

      Slovenia

      %
    • Spain

      Spain

      21%
    • Sweden

      Sweden

      25%
    • USA

      USA

      0%
    european
    states
    • Other
    • canada
    • poland
    • european-union
    • france
    • germany
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria