==================== Back up ==================== --------------------------------------------- Appunti introduttivi alle strategie di bak-up --------------------------------------------- :Author: Andrea Manni :Copyright: GFDL :Version: 0.1 .. contents:: Indice degli argomenti *Generato con: http://docutils.sourceforge.net/rst.html* Scegliere i supporti di back-up ================================= Prima di cominciare le procedure di back-up e' fondamentale decidere su quale supporto di memorizzazione fare i back up: * su un file system diverso diverso da quello oggetto di back-up. * Utilizzare possibilmente un supporto di storaggio: - Esterno, collegato ad una fonte di alimentazione indipendente dalla macchina principale. In caso di danneggiamento del filesystem originale causato da sbalzo elettrico, il supporto di back up potrebbe essere sopravvissuto. - Possibilmente *Write Once Read Many*, che si possa leggere piu' volte ma scrivibile una sola. Questo per scongiurare la possibilita' di accidentali modifiche ai dati contenuti sul supporto di back-up. Nel caso si usi un normale hard-disk assicurarsi che sia montato in sola lettura (quando non si e' nella finestra temporale necessaria per la scrittura del back-up). - Possibilmentte dislocato in altra sede, in caso di incendio, vandalismi, eventi che possano danneggiare anche le macchine vicine a quella di nostro interesse. Si consideri la possibilita' di usare uno spazio di back up remoto in un altro continente, una cassetta di sicurezza nella banca di fiducia per i dati particolarmente *sensibili* (dati personali, segreti aziendali, chiavi di sistemi di criptaziuone). * S i tenga sempre presente che l'evento che puo' compromettere i dati potrebbe compromettere anche i back-up, e che nessun supporto di storaggio ha un *aspettativa di vita* infinita. Gli hard-disk prima o poi smetteranno di funzionare correttamente, il back-up va' quindi preparato **prima** piuttosto che dopo. Possibili eventi che possono compromettere i supporti di sotoraggio: ----------------------------------------------------------------------- Sostanzialmente qualunque evento che possa modificare i dati, o renderli non piu' leggibili per motivi fisici (rottura hardware): 1. virus 2. errore di distrazione (cancellazione accidentale, sovrascrittura di vecchie versioni...) 3. Aggiornamento software non riuscito 4. problema hardware (hard disk fail) 5. Incendio! Terremoto! Pestilenze! 1,2,3) sono tutte cose che possono modificare i files (da software): - Li mettiamo in sola lettura, non scrittura. Cosi' non si puo' modificarli accidentalmente **I back-up devono essere in sola lettura** 4) I dati vanno tenerli su un supporto fisico diverso dall'originale, Possibilmente collegato ad un altro sistema. Il problema principale e' l'alimentazione: quindi un HD esterno con alimentazione autonoma e' gia' un miglioramento. 5) Dislocare i media, tenerli in luoghi separati. Tenere una copia in una banca, su un server remoto tramite gli appositi servizi online. ---------------------------- Come si fa il back-up ===================== * Si stabilisce dove e come fare i back up * Si fanno fisicamente i back up * Si **ripristina** un back up per vedere se tutto funziona * Periodicamente si fa un ripristino per vedere se i back up sono ancora utilizzabili. Strategia di back-up ======================= Bisogna stabilire una strategia di back-up: 1. Decidere **cosa** possa essere back uppato. Dato che le risorse di storaggio sono limitate 2. Quando e quanto spesso fare il back up. Anche questo inciude sulla quantita' di aspazio necessario. Aiuterebbe poter creare un back up incrementale. Per il punto primo: 1. Bisogna fare un'alisi dei dati. Dimensioni, natura dei file (se sono binari o testo) Un file di **testo** si puo' comprimere, o si puo' tenere una versione incrementale. Un file binario (tipo un mp3, un progetto...) non e' comprimibile o spezzettabile. 2. Analisi dell'utilizzo dei dati: quanto spesso vengo utilizzati, da chi, a quale scopo, quanto spesso cambiano i dati. Gestione dei back up: ===================== Si potrebbe fare una copia semplce con ``cp``. Il sistema e' semplice e gestibile. Es: `` # cp -ar sorgente destinazione/`` Esercizio con le patch ----------------------- | 502 mkdir patch | 503 cd patch/ | 504 ifconfig > rete | 505 cat rete | 506 cp rete rete_new | 507 vim rete_new | 508 tail rete | 509 tail rete_new | 510 vimdiff rete rete_new | 511 diff rete rete_new | 512 diff rete rete_new > rete_patch | 513 mkdir paccio | 514 cp rete rete_patch paccio/ | 515 cd paccio/ | 516 ls | 517 ls -sh | 518 patch rete < rete_patch | 519 cat rete | 520 tail ../rete | 521 ls | 522 ls | 523 gunzip rete | 524 gunzip -h | 525 gunzip rete > rete.gz | 526 man gunzip | 527 gzip -c rete > rete.gz | 528 ls -sh | 529 du -sh ./* | 530 vim rete.gz | 531 cd ../../ | 532 history >patch | 533 history >patch.txtx Storia del backup ------------------ | 252 cfdisk /dev/hda | 253 reboot | 254 cat /proc/partitions | 255 cfdisk /dev/hda | 256 cd /mnt/ | 257 ls | 258 mount /dev/hda8 hda8/ | 259 mount /dev/hda10 hda10/ | 260 mount | 261 umount hda10 | 262 mkfs.ext3 /dev/hda10 | 263 mount /dev/hda10 hda10/ | 264 ls hda10/ | 265 ls hda8/ | 266 time cp -arv /mnt/hda8/ /mnt/hda10/ Controllare da un'altra shell che la copia stia avanzando correttamente mentre e' in corso. Ripristino sistema con rsync ----------------------------- | 281 cd /mnt/ | 282 ls | 283 mount | 284 mount /dev/hda8 /mnt/hda8/ | 285 mount /dev/hda10 /mnt/hda10/ | 286 mount | 287 ls hda8/ | 288 ls hda10/hda8/ | 289 rsync -arv --delete /mnt/hda10/hda8/* /mnt/hda8/ Esercizio con rsync ---------------------- | * E' stata creata una cartella ``originale`` e un'altra nominata ``copie``. | * E' stata fatta una copia di originale in copie: linea 519 | * varie prove a seguire, ancghe con l'opzione ``--delete`` (che potete cercare nella pagina MAN di rsync) | * Rsync usando una destrinazione remota tramite ssh: linea 547 | | 512 mkdir originale | 513 cd originale/ | 514 touch primo secondo terzo | 515 cd ../ | 516 ls -l originale/ | 517 mkdir copie | 518 rsync originale copie/ | 519 rsync -r originale copie/ | 520 ls | 521 tree -l3 | 522 tree -L3 | 523 tree -L 3 | 524 cd originale/ | 525 ls | 526 touch quarto | 527 rm primo | 528 cd ../ | 529 tree -L 3 | 530 rsync -r originale copie/ | 531 tree -L 3 | 532 rsync -r --delete originale copie/ | 533 tree -L 3 | 534 cd originale/ | 535 ls | 536 mkdir nuovi | 537 touch nuovi/pippo | 538 rm secondo | 539 touch altra_cosa | 540 cd ../ | 541 rsync -r --delete originale copie/ | 542 tree -L 3 | 543 tree -L 4 | 544 rsync -ar --delete originale copie/ | 547 rsync -ar --delete originale andrea@bender:/home/andrea/copie | 548 rsync -var --delete originale andrea@bender:/home/andrea/copie | 549 touch originale/locale | 550 rsync -var --delete --progress originale andrea@bender:/home/andrea/copie | 551 cd originale/ | 552 ls | 553 rm -r nuovi/ | 554 ifconfig > quarto | 555 cd ../ | 556 trere -L 3 | 557 tree -L 3 | 558 rsync -var --delete --progress andrea@bender:/home/andrea/copie ./ | 559 tree -L 3 | 560 cat originale/quarto | 561 ls | 562 tree -L 3 copie/ | 563 rm -r copie/ | 564 rsync -var --delete --progress andrea@bender:/home/andrea/copie/originale ./ | 565 ls | 566 tree -L 3