linux user group brescia

immagine del castello

Archivio della mailing list

[LugBS] Backup e Sbackup

Diego Guella diego.guella a sircomtech.com
Mer 25 Feb 2009 08:47:33 UTC
----- Original Message ----- 
From: "Luca Coianiz"
>home:~# cat /proc/mdstat
>Personalities : [raid1]
>md0 : active raid1 hda3[0] hdb3[1]
>       156007104 blocks [2/2] [UU]
>
>unused devices: <none>
>
>  Solo hda3/hdb3 sono in RAID.
ok


>Ok... è corretto pensare sempre ad un server come "popolato da N  utenti che possono fare N^M cose"... anche se, realisticamente, 
>sul  mio server di casa in quel momento ci sarò solo io. ;)
>(mal che vada setto nologin :D)
Il file da 10GB era un esempio: anche se nessuno eccetto te è loggato ci sono tutti i vari servizi accesi (che so, apache, samba, 
ecc ecc), che sicuramente scrivono su qualche logfile, dunque il rischio che qualche file (almeno i logfile) non sia consistente 
credo ci sia sempre (a meno che tu non sia così accorto da fermare tutto, ma proprio tutto)


>>>  2) volendo anche solo ripristinare un MBR su hda (o hdb) mi   basterebbe prenderlo da hdd
>> si
>Perfetto (questo, in passato, mi ha creato problemi dato che facevo  un backup incrementale dei soli file)
In alternativa potresti fare il raid dell'intero disco (cioè esattamente come fanno i fakeraid o i controller raid hw), ma non ho 
mai sperimentato niente su quello.


>partire hdb come primario (spostandolo sul canale primario del primo  controller IDE intendo) copiandogli sopra il MBR (meglio 
>ancora se  l'MBR lo copio ogni volta che aggiorno il kernel, forse... insomma,  ci devo pensare ;))
Suppongo tu stia usando grub.
Allora perchè non copiare il MBR _una_ volta per tutte?
Questo è quello che ho fatto per rendere avviabile ogni disco sul mio sistema (ho / su sdX2, /home su sdX3) :
-Dal menu di grub (all'avvio del sistema), premi c
-Per ogni disco <N>:
   -root (hd<N>,<P>)
   -setup (hd<N>)

con <P> = la partizione con / (nel mio caso, nel tuo dovrai usare /boot)
Comunque meglio leggersi un pò di documentazione di grub :)


>  Ecco... pensavo di fare qualcosa di simile, ma senza spegnere/ accendere: mount/umount dovrebbero bastare, unitamente al mettere 
> parzialmente fuori servizio parte del mirror, ma tutto via sw.
So che il discorso spegnere/accendere è "poco elegante" e può stare antipatico.
Io ho scelto quel sistema perchè:
1) se spegni, il filesystem è sicuramente a posto e non ci pensi più.
2) se togli il disco, puoi "portarlo via" alla larga dal sistema e da incendi, alimentatori che si rompono, furti, ecc ecc.
3) per smontare un filesystem in uso, devi far chiudere tutti i file aperti a tutti (o mi sbaglio?), il che significa spegni apache, 
spegni mysql, spegni tutto in pratica.
Se hai spento tutti i servizi, effettivamente da un punto di vista il tuo sistema è come se fosse "spento".
Allora perchè non spegnerlo?
4) forse ce ne sono altri ma non mi vengono in mente ora.


>  In pratica l'idea sarebbe di aver sempre i tre dischi "online" (AKA  visibili al controller): due montati ed in RAID ed il terzo 
> unmounted.
>  Ad intervalli regolari, mdadm -r /dev/hdb, umount /dev/hdb, mount / dev/hdc, mdadm -a /dev/hdc (ed in hdb ho il backup) e via 
> così a  rotazione (tra hdb ed hdc, per sicurezza).
hmm.. Allora, le partizioni che hai montato dei tuoi dischi sono swap e /boot.
swap la "stacchi" con swapoff.
/boot la smonti.
la terza partizione (quella che viene usata da /dev/md0) in realtà non la monti, perchè tu monti /dev/md0.
Quella non credo abbia bisogno di essere smontata.
Comunque, la sintassi corretta per mdadm te l'ha scritta Nicolo' nella sua mail.

Ma c'è un'altra questione.
Io sto usando mdadm in modalità "auto", cioè mdadm si crea da solo gli array, andando a vedere cosa c'è scritto nei superblocchi.
(Questo è quanto ha fatto Debian di default nell'installatore).
Se tu crei un array di 3 mirror sempre con questa modalità, ogni volta che riavii la macchina mdadm andrà a ricreare l'array _con 
tutti e 3 i dischi_, dunque il backup è andato (nel senso che se cancelli per errore una cartella, non la puoi più andare a cercare 
da nessuna parte perchè tutti i disci sono sincronizzati o si stanno sincronizzando).
Per essere veramente sicuro che il disco che hai "rimosso" come backup non venga riaggiunto automaticamente, devi andare a editare 
mdadm.conf.
Anche in questo caso, meglio leggersi un pò di documentazione :)

>  Fra l'altro ho visto che, per il momento, un resync dei due HD del  mirror impiega c.ca 3 ore (che sarebbero le "ore pericolose" 
> in cui  il mirror va a mezzo servizio).
Se questo ti preoccupa, purtroppo la soluzione è: prendi un altro disco :)

3 ore e mezza è il tempo che impiega il mio sistema a fare un resync di una partizione da 850GB.
Dischi sata da 1 tera (che ormai si trovano a meno di 100? l'uno) su ICH10.
Ovviamente i tuoi dischi saranno un pochino più vecchietti dei miei, ma così hai un dato da confrontare se e quando mediterai su un 
upgrade hardware.


>> Tieni conto che puoi anche fare il mirror di /boot (io lo sto  facendo, con Lenny), e puoi anche mettere un boot loader su ogni 
>> disco, così che se hai la necessità puoi ripartire istantaneamente  con un backup.
A parte che ho scritto una cavolata, nel senso che io non faccio il mirror di /boot, ma faccio il mirror di / (che a sua volta 
contiene /boot, ma è solo una cartella, non una partizione)

>  Insomma, a parte qualche piccola verifica da fare, più o meno quel  che pensavo è fattibile: ti ringrazio delle conferme, Diego, 
> è un pò  che devo sistemare il capitolo "backup" in modo sensato.
Lieto di esserti stato d'aiuto :)


Ciao,
Diego




Maggiori informazioni sulla lista Lug