Tecnologia e non solo

aprile 13, 2007

Backup / clone di partizioni.

Filed under: Attrezzi,Guida pericolosa — telperion @ 1:10 pm

Un mio post tratto dal forum.
lo pubblico qui, ripulito e corretto,
con la speranza che non vada disperso nel “nulla”,
e che magari sia utile a qualcuno.

Re: sistema di backup “rozzo”
Risposta #2 il: 10 Aprile, 2007, 00:12:26 »

Se io prendo la mia ubuntu box e grazie ad uno bello script ridondante copio ogni singolo stramaledettissimo bit dal mio hd su un hd esterno, senza compresisone, niente tar o iso o nulla..
un clone esatto del mio sistema su un hd esterno.
In caso io volessi ripristinare qualcosa mi basterebbe ricopiare i miei file sulla mia ubuntu.box?
oppure palesemente non funziona per qualche motivo particolare?

Si funziona, io faccio cosi perchè è il modo piu rapido, circa 10 minuti sul mio hd,
funziona anche da partizione a partizione nello stesso hd.

Parti da una live (consigliata: http://www.sysresccd.org/Main_Page )
poi ad esempio

cd /tmp

mkdir in out

crei due mount point in e out nella cartella /tmp.

Se hai spazio vuoto nel disco
e devi creare una nuova partizione per la copia,
nelo stesso hd, fallo ora
con il potentissimo e semplice fdisk.

Ora monti il disco/partizione sorgente nella cartella in
esempio se è hda3

sudo mount /dev/hda3 in -o ro

– o ro lo protegge in scrittura per evitare “disavventure”.

Ora devi creare e formattare,
meglio se con lo stesso filesystem della partizione origine
la partizione/disco destinazione
per esempio hdb1 in ext3

sudo mke2fs -j /dev/hdb1

poi la monti nella cartella out

sudo mount /dev/hdb1 out

Ora la copia magica (clone compresi link simbolici permessi eccetera)

sudo cp -ax in/* out

Al termine in out avrai un clone perfetto,
talmente perfetto che se gli editi l’fstab per puntare il root mount a /dev/hdb1 (nell’esempio)
e crei una entri nel menu list del grub dell’hda3,
lo puoi far partire da grub perfettamente funzionante.

Per ripristinare monti i dischi al contrario in /tmp/in (il clone)
e /tmp/out (la partizione da riportare allo stato clonato)
poi cancelli out

sudo rm -Rrf out/*

e poi gli copi su il contenuto di in

sudo cp -ax in/* out

Oppure per recuperare file o cartelle
si monta semplicemente e si copia quello che serve.

Nota in questo modo si possono clonare partizioni da dedicare a test,
da upgrade a versioni superiori eccetera.

Sul mio hd copiare una partizione con 8Gb di dati (mediamente sono così)
impiega al massimo 15 minuti,
contro circa un’ora un’ora e mezza di tar, dar o mondobackup,
da sommare ad un’altra ora per il ripristino, mentre con questo sistema
in 10 minuti (il tempo di un’incrementale degli altri sistemi)
avete disponibili subito 2 copie funzionati.

Esempi:
clone di una Edgy, dist-upgrade del clone a Feisty con gli stessi settaggi
ed ho entrambe funzionanti.
Clone di una Etch upgrade del clone a testing o unstable,
ed ho entrambe funzionanti.

A buon intenditore…

APPENDICE

Rendere avviabile la partizione clonata.

Bisogna solo cambiare l’fstab nella partizione clone
si monta il clone e si edita es.

sudo nano -w /puntomontaggio/etc/fstab

basta cambiare solo la root, (/), swap rimane la stessa,
mentre la root deve puntare (ovviamente) alla partizione nuova,
dove abbiamo la copia.

Se nel fstab e nella entri del menu list di grub
i dischi vengono indicati con l’UUID (tipo Ubuntu)
basta usare l’UUID della partizione clone (la copia)
che si ottiene col comando (Ubuntu):

sudo vol_id /dev/hda1

dove al posto di hda1 mettete la partizione dove c’è la copia,
oppure si puo sostituire l’UUID con i consueti riferimenti /dev/hxxn.

Aggiungere al menu di grub la voce per la nuova partizione

Per il menu-list del grub
nelle Debian /boot/grub/menu.lst
bisogna creare una nuova entri
in QUELLO ORIGINALE (partizione di partenza),
ricordate al boot parte SEMPRE quello.

esempio:

…..
## quello originale in hda1
title Debian GNU/Linux, kernel 2.6.20-01k7mc
root (hd0,0)
kernel /boot/vmlinuz-2.6.20-01k7mc root=/dev/hda1 ro
initrd /boot/initrd.img-2.6.20-01k7mc
savedefault

## il clone in hda6 copiato dall’orginale
## variate le righe title root e kernel
title Debian GNU/Linux, copia test
root (hd0,5)
kernel /boot/vmlinuz-2.6.20-01k7mc root=/dev/hda6 ro
initrd /boot/initrd.img-2.6.20-01k7mc
savedefault

….

Il grub menulist della partizione clonata
è come non esistesse.

Attenzione in caso di aggiornamenti kernel
sulla partizione clonata, le modifiche vengono
apportate solo al menu.lst della partizione clonata,
bisogna ricordari di cambiare a mano anche il menu.lst
della partizione che fà il vero boot.

Annunci

4 commenti

  1. CIAO, ma se copio direttamente tutto la partizione di root su un HD esterno cioè faccio sudo cp /* /media/Hdest/backup si incasina?

    Commento di raffaele — aprile 29, 2007 @ 1:25 am

  2. devi fare
    sudo cp -ax
    altrimenti i link simboli e permessi si perdono. Anche il filesystem deve essere lo stesso altrimenti i permessi si perdono e sono fondamentali. Inoltre è molto meglio fare tutto con la partizione /root non attiva, partendo come detto con una live.

    Commento di telperion — aprile 29, 2007 @ 1:52 pm

  3. […] Avanti, c’è posto! Archiviato in: Facce ride, Humor, Varie — telperion @ 4:00 pm Convivenza difficile? Assolutamente no. La situazione del mio disco hdb2: 8 distribuzioni installate e alcuni backup […]

    Pingback di Avanti, c’è posto! « Tecnologia e non solo — ottobre 16, 2007 @ 4:06 pm

  4. lol.. quella del comando vol_id non la sapevo! agli esordi di questa modalità avevo chiesto a destra e manca quale comando fosse ma non ho avuto risposte.
    allora io mi sono ingegnato frugando in /dev/disk/by-uuid/ e facendone un ls -l ^_^

    guida interessante , ciao

    Commento di richardms — ottobre 16, 2007 @ 10:34 pm


RSS feed for comments on this post.

%d blogger hanno fatto clic su Mi Piace per questo: