Supponiamo che io abbia un filesystem ZFS che contiene immagini del disco della macchina virtuale, ad es
/tank/examplevm/examplevm-flat.vmdk
Supponiamo inoltre che prenda istantanee quotidiane di quel filesystem ZFS, ad es
$ zfs snapshot tank@20120716
$ zfs snapshot tank@20120717
Ovviamente, nel periodo tra ogni istantanea giornaliera, vengono apportate modifiche al mio esempiovm-flat.vmdk (nella maggior parte dei casi, la dimensione dell'immagine rimane costante, ma i blocchi nel disco virtuale vengono modificati).
Di conseguenza, il comando diff ZFS ora segnalerà il file come modificato tra le due istantanee:
$ zfs diff tank/@20120716 tank@20120717
M /tank/examplevm/examplevm-flat.vmdk
Mentre è bene sapere che il file è stato modificato, sarei molto più interessato al numero di byte / blocchi che sono stati modificati in vmdk.
Pertanto, sarei interessato a qualsiasi suggerimento sulle seguenti domande:
- ZFS ha qualche funzione per segnalare il numero di blocchi modificati in un file specifico tra due istantanee?
- Esiste un altro strumento che differenzierà binariamente due immagini del file system e segnalerà il numero di blocchi o byte modificati? Mi rendo conto che lo
cmp –l file1 file2 | wc –l
fa, ma è orribilmente, orribilmente lento.