Relatore: Daniele Salvini - http://daniele.salvini.org
Possedere gli strumenti teorici e pratici per avere il controllo dei propri dati (Big o Little data)
Il backup è noioso, come minimo.
Oggi è venerdì 13, un buon giorno per parlare di backup..
Con backup si intende una copia di riserva dei dati, recuperabile in caso di perdita
- Salve, questo è un servizio pubblico. Sono qui a parlarvi del backup. È molto semplice
- Opzione 1. Non ti interessa. Non salvare le vecchie email, fai foto in pellicola, ascolta solo Cd e non MP3.
- Se non possiedi nulla, non hai nulla da perdere.
- Opzione 2. Facciamo il backup.
I dati sono una merce di scambio che in grosse quantità si possono rivendere. Difatti esistono servizi -gratuiti- che si occupano di conservare i dati per conto nostro.
L'identità dell'individuo in rete è composta dall'insieme dei suoi
dati. cit. Stefano Rodotà.
Uno strappo a questi dati si ripercuote sul corpo dell'individuo.
Partiamo dal fatto che abbiamo dati che ci appartengono e che questi dati sono importanti. Per avere il controllo sui miei dati dovrò imparare a conservarli.
Noi siamo interessati a mantenere il controllo sui nostri dati,
per esempio potremmo volerli cancellare e dunque effettueremo un backup con
i nostri mezzi
(questo non esclude l'utilizzo di un servizio commerciale)
Avere un backup è necessario in caso di perdita o corruzione dei dati
Sincronizzazione: mantiene uguali due cartelle (mirror) rsync, rdiff-backup, Syncthing, Unison
Incrementale: mantiene le differenze tra un backup e l'altro (storia)Borg, Duplicity (duply/deja-dup), Areca, bup, Attic, Rclone, Time-machine
Terze parti: il combo provider e software Amazon aws, backblaze b2, Crashplan, Dropbox, Google Drive, iDrive, Mega, ecc
Provider: strumenti liberi e avanzati (rsync e derivati, ssh-sftp) nextcloud, rsync.net
Versioning (archivio): subversion, git
Software proprietario:
Software di cui non è disponibile il codice sorgente.
Open source software:
Software di cui è disponibile il codice sorgente.
Free software:
Software accompagnato da una licenza che ne assicura (oltre che l'utilizzo) lo studio, la modifica e la redistribuzione.
In tutte le categorie il software potrebbe essere gratis o a pagamento.
Idealmente vorrei usare strumenti liberi perché sono modulari e ben mantenuti, e
non ho bisogno di fidarmi del venditore (vedi: la crittografia al tempo del Patriot act).
HTTPS, SSL, SSH, PGP, online banking e WA
Open-source: algoritmi e protocolli pubblici e pubblicati.
End2End: niente man in the middle
la "crittografia olio di serpente".
Esci di casa e compera una pennina Usb più grande della tua $HOME.
Inserisci la pennina, formattala se è il caso e copiaci dentro la tua $HOME
Ecco, hai fatto una copia de-strutturata dei tuoi file.
Piutost che nagott, l'è mej piutost
Problema: richiede molto tempo e usura la pennina, ma è il primo backup da fare.
Video - 3 minuti - 2010
Nota: nella versione web di queste slide il video potrebbe non comparire
Hai un computer, il computer ha un disco rigido. Compera due dischi rigidi della stessa capienza o più grandi,
Compera due scatolette esterne con connessione Usb, costano circa 20 euro. Inserisci un disco nella scatoletta e collegalo al Pc, formattalo e dagli un nome indicativo come: "Backup"
Fai il backup uguale per ognuno dei due dischi, meglio se lo automatizzi in modo che parta da solo di notte. Se hai un portatile, fai il backup prima di andare a letto. Ogni sera quando lo metti in carica.
Se usi un Mac, apri il terminale e usa questo comando
sudo rsync -n -vaxAX --del / /Volumes/Backup/
-n dry-run, -v verboso, -axAX mantiene attributi, --del cancella nella destinazione
Oppure usa la grafica:
iBackup o Time-Machine o Grsync
Se usi GNU/Linux, monta il disco in /mnt e usa
sudo rsync -n -vaxA --del / /mnt/Backup/
oppure usa la grafica: Grsync
Se usi Windows, usa Cobian o Grsync
(nota che Grysync esiste per tutte le piattaforme, perché è software libero)
Comunque tu lo faccia, stai copiando il contenuto del disco del tuo computer in un altro disco.
Un backup sincronizzato, invece che ricopiare ogni volta tutto, copia solo i file nuovi o modificati, cancella quelli che non sono presenti dalla fonte ed è veloce. (mirror).
Nota per Mac: il disco di backup è utilizzabile come disco d'avvio, dunque quando (QUANDO e non SE) il disco interno smetterà di funzionare, basterà sostituire il disco di backup nel computer al posto di quello rotto
p.s. perché il disco sia "bootable" settare la partizione come "GUID". Da: Info del disco de-spunta "ignora permessi su questo disco". Fare un test se è avviabile accendendo il computer tenendo premuto OPTION e selezionando il disco di backup come disco di avvio.
E così QUANDO il tuo disco di backup se ne va a male, cosa di cui ti
accorgerai
perché non riuscirai a usarlo, rimpiazzalo immediatamente.
Subito. Non aspettare la settimana prossima quando avrai tempo, fallo ora,
prima di continuare ad usare il tuo computer. Prima di fare colazione.
L'universo tende alla massima ironia.
E il terzo disco? Usalo per fare un backup nello stesso modo, poi portalo in ufficio o a casa della nonna e chiudilo in un cassetto. Ogni qualche mese, portalo a casa, fai un backup e riportalo indietro. Quel disco è il tuo backup del tipo: "mi è bruciata la casa". Inoltre fai una buona cosa facrendo visite frequenti alla nonna>
Caspita! Ma i dischi rigidi costano!
Inoltre tutta la procedura è una fatica!
RAID è una perdita di tempo e soldi. Il tuo Pc è un server sempre disponibile con dischi estraibili a caldo? No? Allora non hai bisogno di un RAID. Tantomeno dello stesso disco partizionato. Anche se usi RAID, devi comunque fare un backup.
Ripeti dopo di me tre volte: il RAID non è un Backup.
Il problema del considerare RAID 1 (dischi mirror) come un backup è che non ripara da dati cancellati, corrotti da applicazioni o da un virus, o uno sbalzo di corrente.
Quando faccio un backup duplico i dati, se butto l'originale non è più un backup.
Attenzione ai metadati, che voglio copiare anch'essi (nel caso di uso di cline).
Voglio copiare i miei dati personali, forse meglio non tenere nella HOME dati
altrui o facilmente recuperabili come audio o video. Altrimenti aumenta lo
spazio necessario e il tempo di backup.
Soluzione: fare un symlink/alias/collegamento della cartella Musica e Video fuori dalla HOME
Cessione: se cedo i miei dati, farlo con consapevolezza
Delega a qualcuno solo se pago (altrimenti sto pagando con i miei dati).
Devo avere una strategia di backup indipendente dalla device e dall'OS
Ransomware: sono virus che sequestrano i dati, la difesa è un backup offline
Recovery point objective (RPO): il punto a cui voglio ritornare durante un recovery (appena prima che facessi il danno) (scheduling) -TEMPO
Recovery time objective (RTO): quanto tempo ci metto a fare il recovery e a tornare operativo -TEMPO
Data security: i dati vengono recuperati senza che nessuno li rubi (autenticazione) -CRITTO
Data retention period: quanto tempo i dati archiviati vengono tenuti (se no troppo spazio avrei bisogno) -SPAZIO/TEMPO
Impatto della performance: mentre faccio il backup il pc è impallato -TEMPO
Costo dell'hardware, software e del mio lavoro: -KISS
Rete: se uso la rete posso recuparare dati anche se non ho banda? (se rete locale sì)
Ad esempio: rdiff-backup (Unices), Time-machine (Mac) o Cobian (Win). Giornaliero, in supporto removibile, crittato, tenuto offline ma in casa, e copia ridondante dalla nonna.
dove
come
tipo
strumento
tempo
recupero
automazione
Definisci la backup-directory
In una parte dello stesso disco? (non va bene)
Su di un supporto removibile: (dvd, penna Usb, hard disk)
Remoto su pc/disco in rete locale
Remoto in internet (cloud personale o cloud commerciale)
Caldo (online)
Freddo (offline)
Compresso (risparmio spazio e tempo
di spostamento)
Crittografato (encryption dei dati o del media di destinazione)
Ridondante
Clone: immagine disco, completo, ghost, snapshot. Si usa l'intero disco per fare swap (scambio dischi), livello hardware
Copia de-strutturata: (una semplice copia dei file, ad esempio su penna Usb)
Sincronizzazione: (mirror uguale all'originale, se cancelli dall'originale, cancelli anche nel backup)
Sincronizzazione differenziale: (Backup cumulativo di tutti i cambi da l'ultimo full backup) tiene il sync e anche le differenze, ma le differenze alla lunga occupano molto spazio) -non si usa-
Incrementale: Dopo il primo full backup, copia solo la
differenze tra incrementi, cioe' le differenze rispetto all'ultimo backup.
È veloce e occupa poco spazio, ma per il recupero c'è bisogno del primo backup e di tutti i suoi incrementi. Il solo svantaggio di utilizzare le immagini incrementali è che tutti i file devono essere conservati. Infatti se dovesse mancare anche una sola delle immagini intermedie incrementali, non sarà possibile ripristinare il sistema all'ultimo backup.
Differenziale: dopo il primo backup completo (full), copia solo i dati
che sono cambiati, ma confontandosi sempre al primo backup completo.
È veloce, occupa alla lunga dello spazio in più dell'incrementale,
ma per il ripristino serve solo il primo (il full) backup e l'ultimo (il differenziale)
Il backup differenziale è simile al backup incrementale.
Entrambe le modalità di backup sono utilizzate per salvare le parti
modificate dei dati.
(Il backup incrementale viene confrontato con l'ultimo backup,
mentre il backup differenziale viene confrontato con il primo backup completo).
I termini sono stati standarizzati e sono spesso interscambiabili nella definizione generica.
Incrementale rovesciato o anche reverse delta:
è un backup differenziale che tiene le differenze delle modifiche
ma tiene come ultimo backup la copia dal vivo memorizzando a parte i dati
necessari
(le differenze) per ricostruire le versioni precedenti.
È veloce e per recuperare l'ultimo backup basta copiarlo come un mirror senza curarsi delle differenze). Ad esempio usando rdiff-backup o Time Machine.
importante: Se in un incrementale ho bisogno di tutti i file e in un differenziale solo del primo e dell'ultimo file, in un delta rovesciato mi basta solo l'ultimo file.
Continuo o backup in tempo reale:
(lavora sui blocchi e non sui files ma non è un semplice RAID)
un repository versioning commit (git) e qui si introduce la condivisione e l'archiviazione (per programmatori o aziende).
Occorre fare ogni tanto (6 mesi) un full backup
GNU/Linux: duplicity, obnam, duply, rdiff-backup, gddrescue, clonezilla, dd
Macintosh: time-machine, ibackup, rsync
Windows: cobian, comodo (ma non supportano win 10)
Uno per tutti: grsync (sincronizzazione)
Quanto tempo ci metto a implementare una strategia di backup? Quanto tempo ci metto a fare il backup? Quanto tempo ci metto a recuperarlo? Quanto tempo ci metto a ritornare operativo?
Considera la variabile tempo per decidere che metodo usare.
Non vuoi arrivare al recupero dati, il recupero dati è costoso in termini di denaro e di tempo
Uso di cron (o script all'avvio/spegnimento)
Messaggio che mi avvisa di farlo a mano.
C'è chi fa il backup e chi no. Fai quello che devi.
Ogni giorno direi, di solito il file che cerchi è quello su cui stavi lavorando, non quello dell'anno scorso, dunque ti serve un backup del file che hai appena cancellato per errore.
Ridondante
Crittografato
Differenziale
A prova di ransonware
Self-hosted
Un primo backup verso un dispositivo removibile crittato, offline, sempre con me. Un secondo backup verso un pc remoto in casa, crittato. Un terzo backup verso un laptop con disco crittato (non crittato, un mirror, facile da recuperare e a disposizione in viaggio)
Attivare il backup automatico sui server Google (vale anche per Apple con iPhone)
Se hai un telefono con il bootloader sbloccato (rooted) puoi riavviare il telefono in modalità recovery (TWRP) ed effettuare una copia. Nandroid sta per nand flash memory e serve a creare una mirror image del telefono (sia personal data che apk che rom che il sistema operativo) è utile per rimettere un sistema nell'esatto stato di partenza se qualcosa va storto. Puoi copiare questo backup sul computer usando adb.
Amazon è il più grande custode di dati e introduce il conto di risparmio nel
backup:
Cold data backup (backup freddo).
Amazon Glacier si usa con uno strumento a linea comando chiamato AWS,
utilizzabile per creare o cancellare uno o più vault (cripta, cassaforte).
Ogni operazione d'archivio come caricare, scaricare o cancellare viene
effettuata con awscli
Storage: 0.007 $ per giga/mese
Non si paga l'upload transfert (ma il download sì)
esempio pratico con 12 giga:
Usare come backup il nastro magnetico è un esempio di dati freddi. (il
nastro gira in tempo reale)
Ogni video cassetta magnetica MiniDV contiene 1 ora di video.dv, ossia 12GB di dati
Tenere su glacier un backup di 12GB costa 1.008 $/anno
Puoi scaricare 600MB al mese gratis (ossia il 5% al mese)
Per scaricare di
più, si paga 0.01 per gigabyte, dunque scaricare in una giornata 12GB
costa 0.12
A questo punto siamo in grado di calcolare quanto ci costano i dati grezzi, dunque quanto ci costa un disco di backup di 1 Tera, fisico o affidato a un gestore.
Si tratta di un conto di risparmio (non di un conto corrente)
Conviene se non muovi spesso i dati e se quando lo scarichi lo fai lentamente,
ossia se hai una programmazione.
È disegnato per archivi a lungo termine che vengono
esplorati non frequentemente. Dunque perché convenga bisogna scaricare a pezzi, e caricare
pezzi piccoli (vault) e non cancellare spesso.
Recuperare i dati da Amazon Glacier è un processo in due tempi (asincrono):
1. Inizia il job (azione) di recupero
2. al completamento del job (circa 4 ore) scarichi i dati (e paghi il download)
backup
Creare un vault su Glacier
Caricare l'archivio (compresso per i costi e crittografato per la sicurezza)
recupero
Creare un job per scaricare l'archivio
Ricevere il job output
Cancellare l'archivio da Glacier
Le dimensioni massime di un archivio caricabile in una singola operazione è 4GB Non si può aggiornare il contenuto di un archivio o la sua descrizione (cancelli e rifai)
Ad ogni archivio Amazon assegna un ID unico in forma numerica (es:
123DF45678SF963TD363)
(a parte una descrizione, opzionale)
Dunque occorre tenere un database
lato
cliente con segnato il contenuto di ogni ID
(ossia i metadati dell'archivio sono a carico nostro).
C'è una spesa aggiuntiva di $0.021 per gigabyte se si cancella qualcosa prima di 90 giorni. Il sistema è progettato per accessi infrequenti. (sono dati freddi, è un conto di risparmio).
L'ideale è fare tanti pezzi da 10MB ognuno (in modo da poter fare piccoli recuperi e piccole cancellazioni). ad esempio Duplicity supporta questa funzionalità.
Amazon non è l'unica: BlackBlazeB2 funziona in modo simile.backblaze 60 € all'anno, spazio illimitato
Dropbox: 1TB 10 € all'anno, per 180 €/anno spazio illimitato (per 3 utenti, servizi a parte)
Google drive for work: 10 € all'anno per ogni utente
G-Suite business 96 € all'anno, spazio illimitato
ownCloud, NextCloud, Seafile self-hosting o provider
https://nextcloud.com/providers/
owncube: provider NextCloud, 18 €/anno
https://owncube.com/single_en.php
Servizi addizionali (esempio: calendario o
fogli di calcolo)
Il tempo di backup: le cloud sono backup de-strutturati
Non ho copie in caso di cancellazione
Il diritto all'oblio (non posso
veramente cancellare i miei dati da una cloud)
La privacy (anche se potrei
caricare sulle cloud dei dati crittografati)
Il ransomware (se sono sempre connesso, anche il backup sarà compromesso)
Il costo: meno se ne sa più aumenta.
VPS OVH server fai da te: 100GB costano 144 € l'anno
Richiede costruzione e manutenzione
il costo del disco esterno: un disco da 500GB circa 50 €
Location: Usa, Hong kong, Zurigo
GNU/Linux: duplicity
Mac: Time-machine, rsync, filezilla,
sshFS
Windows: BackupAssist, Rsync Windows Backup Agent
https://www.rsync.net/resources/notices/canary.txt
Un esempio: duplicity, rsync-backup, Time-machine, filezilla in SOHO e/o su rsync.net
http://www.opbyte.it/grsync/
Un esempio: grsync su pennina crittata con Veracrypt
Per il recupero è sufficiente copiare i dati dalla pennina
http://duplicity.nongnu.org/
Un esempio: duplicity verso una SD card o verso un server locale o verso rsync.net
backup con duplicity
duplicity /home/uid sftp://uid@server//backup
restore
duplicity sftp://uid@server//backup /home/uid
restore di un solo documento
duplicity -t 7D --file-to-restore="Documenti/cv.odt" \
sftp://uid@server//backup /home/uid
uno script per duplicity verso un server locale
#!/bin/sh
USER=`whoami`
SERVER=192.168.1.12
duplicity --encrypt-sign-key key-id --full-if-older-than 6M \
--exclude-filelist $HOME/.exclude.txt $HOME/ sftp://$USER@$SERVER//home/$USER/backups
duplicity remove-older-than 7M --encrypt-sign-key key-id \
--force sftp://$USER@$SERVER//home/$USER/backups
FreeBSD
OpenZFS
checksum, snapshots
La carta resiste più delle memorie magnetiche.
Particolarmente indicato ad esempio per la propria agenda telefonica, è stampare la rubrica e conservarla in luogo asciutto. La carta resiste agli urti a non è facile da cancellare inavvertitamente (e resiste alle tempeste magnetiche).
Ci sono due tipi di persone: quelli che fanno un backup e quelli che non hanno mai perso dei dati.
Se veramente tieni ai tuoi dati, tienili vicini e non li mettere sul
computer di qualcun altro..
Questa slide si trova all'indirizzo:
http://tinyurl.com/backup-odg-1304218