Supposons que j'ai un système de fichiers ZFS qui contient des images de disque de machine virtuelle, par exemple
/tank/examplevm/examplevm-flat.vmdk
Supposons en outre que je prenne des instantanés quotidiens de ce système de fichiers ZFS, par exemple
$ zfs snapshot tank@20120716
$ zfs snapshot tank@20120717
Évidemment, dans la période entre chaque instantané quotidien, des modifications sont apportées à mon examplevm-flat.vmdk (dans la plupart des cas, la taille de l'image reste constante, mais les blocs du disque virtuel sont modifiés).
Par conséquent, la commande diff ZFS signale désormais le fichier modifié entre les deux instantanés:
$ zfs diff tank/@20120716 tank@20120717
M /tank/examplevm/examplevm-flat.vmdk
Bien qu'il soit bon de savoir que le fichier a été modifié, je serais beaucoup plus intéressé par le nombre d'octets / blocs qui ont été modifiés dans le vmdk.
Par conséquent, je serais intéressé par des indices sur les questions suivantes:
- ZFS a-t-il une fonctionnalité pour signaler le nombre de blocs modifiés dans un fichier spécifique entre deux instantanés?
- Existe-t-il un autre outil qui diffère deux images du système de fichiers en binaire et signale le nombre de blocs ou d'octets modifiés? Je me rends compte que ça
cmp –l file1 file2 | wc –l
fait ça, mais c'est horriblement, horriblement lent.