Immagine DD più piccola dell'unità copiata


1

Ho eseguito un backup del disco del sistema operativo del mio server tramite un USB live. Utilizzando il comando:

dd if=/dev/sda bs=512 count=(30 gb worth of sectors) conv=noerror,sync status=progress | gzip -c > /path/to/removable/media

Il comando è stato completato senza errori e l'immagine è stata creata. Img.gz è di 16 GB

(Il sistema operativo del server occupa ~ 15 GB di spazio di archiviazione) ma quando apro il .gz in winrar mi dice che i contenuti sono solo 2,21 GB e tuttavia l'archivio è di 16 GB.

Questo significa che si è verificato un errore nel processo di backup o è normale che l'archivio sia più grande dell'immagine al suo interno?

Grazie


Questo è un bug in winrar.
Ipor Sircer,

Quindi sarebbe sicuro per me supporre che posso usare questo backup in caso di guasto del disco?
Scu11y,

Estrai quindi controlla con rsync.
Ipor Sircer,

L'unico backup sicuro da usare è quello da cui hai testato con successo un ripristino. Quindi, prova quello. Ripristina da qualche parte (una macchina virtuale?) E vedi se funziona. Nota a margine, non specificherei a countse volessi un disco completo. Quanto è grande l'unità del tuo server? Non spazio utilizzato ma dimensione intera.
Bob,

@Bob L'unità è di 500 GB e ho consegnato il mio ultimo disco fisso di riserva a un amico, quindi non avevo un posto dove scaricare il file che potesse contenere un'immagine da 500 GB. Poiché il sistema operativo ha solo ~ 15 gb di spazio, ho specificato un conteggio che equivarrebbe a 30 gb di settori solo per sicurezza
Scu11y,

Risposte:


3

I backup

Innanzitutto, alcuni consigli sui backup in generale: non è possibile fare affidamento su un backup fino a quando non si sarà verificato e verificato che il processo di ripristino funzioni. Esistono alcuni metodi per testare i backup:

  • Un ripristino completo dell'hardware fisico, se hai l'hardware a portata di mano ed è un backup critico.
  • Un ripristino completo su una macchina virtuale, se ti manca l'hardware di riserva.
  • Estrazione dei dati e verifica della correttezza e completezza, se non ti interessa ripristinare un sistema operativo avviabile.

In genere non considererei particolarmente utile il controllo delle dimensioni non compresse con WinZip. Tuttavia, i risultati ottenuti potrebbero indicare che hai fornito un errore count, il che ci porta a ...


Problemi con il tuo ddcomando

count=(30 gb worth of sectors)

Il mio primo pensiero nel vedere questo è che non dovresti mai specificare a countquando esegui il backup di un disco. Se si desidera eseguire il backup di una partizione specifica, è necessario utilizzare un dispositivo a blocchi di partizione ( /dev/sdXNdove Nè un numero). Altrimenti, dovresti semplicemente lasciare ddl'intero disco; specificando un countrischio (in effetti, quasi garantito) che tu scarterai i dati e possibilmente corromperai il filesystem.

In un commento, hai fornito il ragionamento:

L'unità è di 500 GB e ho consegnato il mio ultimo disco rigido di riserva a un amico, quindi non avevo un posto dove scaricare il file che potesse contenere un'immagine da 500 GB. Poiché il sistema operativo ha solo ~ 15 GB di spazio, ho specificato un conteggio che equivarrebbe a 30 GB di settori solo per sicurezza

Sfortunatamente, non è così che funzionano i filesystem. La maggior parte dei filesystem non garantisce che tutti i dati saranno archiviati all'inizio dell'unità.


alternative

Ci sono alcuni altri modi per fare quello che vuoi.

Archiviazione solo di file / dati

Se desideri solo un backup dei dati e non ti importa troppo di poter ripristinare un sistema operativo avviabile, puoi eseguire il backup dei file solo con il tarcomando. Ciò significa che avrai ancora i tuoi dati, ma dovrai reinstallare un sistema operativo da zero e ripristinare manualmente i dati (e tutte le applicazioni installate).

  1. Copia i file in un archivio con il tarpiping a gzip.

Backup compressi con spazio libero azzerato

Questo è più o meno quello che hai già tentato. Hai l'idea giusta con gzip: speriamo che comprima qualsiasi spazio inutilizzato ( molto comprimibile) a nulla. Devi solo eliminare il countcomando.

Sfortunatamente, questo non funzionerà necessariamente perché i file eliminati potrebbero ancora esistere sul disco e non appariranno vuoti gzip. Pertanto, è necessario prima liberare spazio inutilizzato . Il processo di backup diventa:

  1. Cancella lo spazio inutilizzato con zerofreeo simile
  2. Copia l'unità su un'immagine compressa con dd(senza count!) Reindirizzatogzip

Utilizzare uno strumento che esegue il backup dei soli blocchi usati, ad es partclone

Esistono alcuni strumenti partcloneabbastanza intelligenti da riconoscere e eseguire il backup dei soli blocchi usati. La wiki di Arch ha alcuni esempi di utilizzo con gzip, e il manuale ha alcuni esempi in fondo. Questo sostituisce efficacemente ddnella tua pipeline.

Sarà necessario utilizzare nuovamente lo stesso strumento quando si ripristinano i dati.


Grazie. Ho completamente ignorato questo aspetto dei filesystem. Ho confermato che c'è un errore nell'immagine poiché quando viene caricato in Virtualbox ricevo un prompt di ripristino grub e il tentativo di trovare la directory / boot provoca un errore "Leggi / Scrivi fuori da HD0". Apprezzo la tua risposta ben scritta alla mia domanda e domani rifare il backup dopo una notte di buon sonno.
Scu11y,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.