Newsgroup: it.lavoro.informatica
Titolo: Cos'e' 'sto Delta-Copy ?

https://www.bvckup2.com/#delta-copying
 
 
E' un programma di backup, che pubblicizza la velocita' di esecuzione 
anche in considerazione della funzionalita' di Delta-Copy
In sostanza sembra che vengano inviati al disco/pc destinazione, solo i 
settori (da capire cosa effettivamente siano) di file effettivamente 
cambiati
Il programma viene installato solo sul sistema mittente oppure solo sul 
sistema destinazione
La domanda e':  come fa ad essere piu' rapido rispetto alla copia brutale?
Quello che vorrei capire e', se imposto il backup di un solo file da 10 
Gbyte, il primo giorno verra' copiato interamente, quindi nessun 
risparmio di tempo
Il secondo giorno, se il file sara' stato cambiato di 10 Mbyte, il 
programma, essendo installato solo da un 'lato' supponiamo il computer 
mittente, dovra' prima leggere l'intero Gigabyte del file sul computer 
destinazione, e solo dopo sapra' se e dove e' stato cambiato
Ma il tempo di lettura di un Gigabyte di roba + tempo scrittura dei 10 
Mbyte modificati sara' sempre superiore al tempo di sola scrittura 
dell'intero Gigabyte (supponendo che i dischi leggano/scrivano sempre 
piu' rapidamente della comunicazione in rete)
Ad esempio lettura 1 Gigabyte=30 secondi + scrittura 10 Mbyte=1 secondo, 
rispetto a scrittura 1 Gigabyte=30 secondi
La domanda e': come fa ad essere piu' veloce sto delta-copy?
Ovviamente il db dei file dove sta il programma non vale, perche' il 
file destinazione potrebbe essere stato modificato da altri
Ciao e grazie
RobertoA
 

 La domanda e': come fa ad essere piu' veloce sto delta-copy?
Sarebbe da vedere se nella parte che riceve il backup ci sono anche 
altri file creati a corredo, magari marcati come nascosti.
Perché già anche un solo file di appoggio in più che mantiene i checksum 
su blocchi di dati rende la verifica delle variazioni decisamente più 
veloce (vista la minor quantità di dati da leggere).
 

 La domanda e':  come fa ad essere piu' rapido rispetto alla copia brutale?
 
bisognerebbe conoscere l'algoritmo. lo stesso rsync (che però prevede che
il componente sia anche dall'altra parte) usa un algoritmo ottimale per
verificare i blocchi variati.

 La domanda e': come fa ad essere piu' veloce sto delta-copy?
 
La domanda è: ma che conti fai? A parte che esistono svariati modi per individuare i blocchi modificati da inviare al backup più efficienti che non leggersi ogni volta l'intero file (dirty bit, db di hash, ecc.), ma comunque il secondo passo è comunque quello di salvare il dato via rete. Se a salvare 10 Mbyte ci metti un secondo, a salvare un Giga ce ne metti 100, anche secondo la tua metrica. Invece tu hai equiparato il tempo di lettura dell'intero file da disco con il tempo di scrittura via rete... in realtà ci sono almeno due ordini di grandezza di differenza. E comunque, per poter scrivere un intero file sul backup, devi comunque leggerlo prima per intero dal disco, quindi quell'overhead lì ce l'avresti comunque. 
 
bye!


Si, ma anche se ci fossero il problema sta nel fatto che il file 
destinazione (su pc2) da 1 Gbyte te lo devi leggere tutto (sul pc1) dove 
gira il programma di backup, oppure c'e' modo di sapere se il file e' 
stato cambiato anche senza leggerlo completamente?
E supponiamo si possa fare, se il file da 1 Gbyte e' cambiato negli 
ultimi 10 Mbyte, materialmente come si fa ?
 
 
 
 

 ultimi 10 Mbyte, materialmente come si fa ?
 
Si usano le funzioni che il sistema operativo ti mette a disposizione per accedere solo ai blocchi di interesse. 
 
bye!


Eh si, se dall'altra parte ci fosse qualcosa che spazzola i file 
modificati e mantiene un checksum sarebbe facile, basta passarsi il 
checksum al posto del Gbyte del file completo, ma il programma e' 
installato da una parte sola
Tra l'altro ho l'ho provato, su 700 Gbyte di backup impostato, la prima 
volta ci mette 3-4 ore, dalla seconda in poi ci mette 10 minuti o giu' 
di li in funzione dei cambiamenti trovati sul disco mittente
Sarei curioso di capire come fa
 
 


In che senso due ordini di grandezza tra scrittura e lettura?
Mi sembra di aver specificato che la velocita' disco mittente e 
destinatario e' maggiore della velocita' rete, e quindi il collo di 
bottiglia e' la rete locale, che nel mio caso viaggia sui 70-75 
Mbyte/sec al max
E questo sia leggendo il disco destinatario, sia scrivendoci sopra
Per quanto riguarda i conti sopra, volevo esprimere solo la differenza 
tra lettura1Gbyte+scrittura10Mbyte e scrittura1Gbyte, mi sembra chiaro 
che se a scrivere 10 Mbyte ci mettesse un secondo, a scrivere 10 Mbyte * 
100 (un Gigabyte) ci metterebbe 100 secondi e non 30 come ho scritto
Riguardo agli svariati modi per individuare i blocchi modificati sul 
file destinazione, stando sul pc mittente, mi potresti far capire quali 
sono? E' proprio questo che sto cercando di capire
Ciao e grazie
RobertoA
 

 ultimi 10 Mbyte, materialmente come si fa ?
 
ti dico a grandi linee come fa rsync. suddivide il file in blocchi, ciascun
blocco lo legge e ne calcola l'hash. se sono diversi li sincronizza, 
altrimenti passa al successivo. se sono cambiati solo gli ultimi 10 mbyte
lui sincronizzerà solo quelli. 
 


Si, usando Rsync capisco
Ma con Rsync c'e' un programma da una parte ed uno dall'altra che si 
parlano per sapere che blocchi-file aggiornare
Questo e' "tutto da una parte"
Parli di meta-informazioni sul file destinatario, a cosa ti riferisci di 
preciso?
 
 
 
 

 preciso?
 
https://en.wikipedia.org/wiki/File_system#Metadata
 


Vedi sopra :-)
Non te le da il sistema operativo, sono da gestire a manina.
Hai provato a verificare se nella destinazione sbucano file in più oltre 
a quelli che fanno parte effettivamente della copia?
 


Se sei in ambiente windows mi è venuto in mente qualcosa di simile 
all'utility che hai segnalato, mai usato synctoy su windows?
 
 


Ho provato a vedere, sia durante la copia, sia dopo la copia
I file da sorgente a destinazione sono esattamente uguali
Quindi o c'e' un file temporaneo che viene usato durante la copia oppure 
non c'e' niente sul sistema destinazione
 
 
 


Si sto parlando di Windows, e non non ho mai provato Synctoy
Ora do' un'occhiata
 
 


Non può essere un file temporaneo, deve essere disponibile anche a copia 
eseguita.
Terrà traccia dei file di supporto da qualche altra parte, sarebbe da 
vedere che combina mentre gira usando process monitor di sysinternals. 
Ma dovrebbe bastare anche il resource monitor di windows: usando il tab 
disk e filtrando sul processo creato dall'utility mentre sta girando, 
puoi vedere che disk activity è associata a quel processo.
 
 


Gia' e' quello che dico anch'io
Va be', la mettiamo nelle 'cose da fare'
 
 


Mi hai fatto incuriosire, ho fatto una prova veloce appoggiandomi al 
resource monitor e risulta che l'utility mantiene quelle info aggiuntive 
per realizzare il delta-copy in:
 
%USERPROFILE%\AppData\Local\Bvckup2\engine\backup-0001\deltas\
 
 

 sono? E' proprio questo che sto cercando di capire
 
Per quale motivo dovrebbe importarti qualcosa di individuare i blocchi modificati sul file *destinazione*? E' un programma di backup, mica di mirror. Prende i blocchi modificati sulla sorgente e li scrive sulla destinazione, that's all. 
 
bye!


Si, ma tu stai parlando di roba sul pc dove gira il programma
Se parliamo del pc destinazione, non c'e' niente oltre i file copiati 
dal backup
E se le informazioni le tiene, in locale, allora ipotizzavo dovesse 
leggere completamente i file sulla destinazione
Ma evidentemente non e' cosi'
Comunque e' una vera scheggia, su una copia da 1,6 Terabyte, la prima 
volta ci ha messo circa 5 ore, dalla seconda in poi ci mette tra i 10 e 
20 minuti, dipende dalla roba modificata
Per andare sul sicuro-sicuro c'e' anche l'opzione di copiare 
completamente il file modificato anche di un byte
 
 


Veramente la mia rete viaggia circa a 70-75 Mbyte/sec il 
lettura/scrittura, ed i dischi meccanici poco di piu' sui 100 Mbyte/sec 
in lettura e 70 Mbyte/sec in scrittura, non capisco sti due ordini di 
grandezza di differenza tra dischi e rete dove li trovi
 
Nel 'periodo incomprensibile' ho voluto dire che ho fatto una 
proporzione inesatta tra lo scrivere 10 Mbyte e 1000 Mbyte, era 
solamente per dare l'idea che scrivere 1000 Mbyte avrebbe impiegato piu' 
tempo dello scrivere 10 Mbyte
 
"..Prende i blocchi modificati sulla sorgente e li scrive sulla 
destinazione.."  e come fa a sapere quali sono i file modificati se non 
li legge sia sul pc mittente che sul pc destinazione?
Sul pc destinazione il singolo file 'pippo.txt' potrebbe essere stato 
modificato da qualcun altro, e quindi anche se sul pc mittente quello 
stesso pippo.txt non e' mai stato toccato dall'ultimo backup, avrebbe 
comunque bisogno di essere copiato
 

 comunque bisogno di essere copiato
 
Ma questo è ovvio per qualunque software di backup to disk. Se vai ad alterare o corrompere il file destinazione, in pratica invalidi il repository, a quel punto probabilmente il soft ripeterà una copia totale. 
 
bye!
 

 Ma evidentemente non e' cosi'
Non è così no, e il perché ti è stato detto enne volte, mi pare...