Aynı dosyanın iki ZFS anlık görüntüsü arasındaki değiştirilmiş bayt sayısını belirleme


10

Diyelim ki sanal makine diski görüntüleri içeren bir ZFS dosya sistemim var.

/tank/examplevm/examplevm-flat.vmdk

Ayrıca, bu ZFS dosya sisteminin günlük anlık görüntülerini aldığımı varsayalım.

$ zfs snapshot tank@20120716
$ zfs snapshot tank@20120717

Açıkçası, her günlük anlık görüntü arasındaki dönemde, examplevm-flat.vmdk dosyamda değişiklikler yapılır (çoğu durumda görüntünün boyutu sabit kalır, ancak sanal diskteki bloklar değiştirilir).

Buna göre, ZFS diff komutu şimdi dosyayı iki anlık görüntü arasında değiştirilmiş olarak bildirecektir:

$ zfs diff tank/@20120716 tank@20120717
M       /tank/examplevm/examplevm-flat.vmdk

Dosyanın değiştirildiğini bilmek iyi olsa da, vmdk'de değiştirilmiş bayt / blok sayısı ile çok daha fazla ilgileneceğim.

Bu nedenle, aşağıdaki sorularla ilgili herhangi bir ipucu ile ilgilenirim:

  • ZFS'nin belirli bir dosyadaki değiştirilen blok sayısını iki anlık görüntü arasında bildirme özelliği var mı?
  • İkili iki dosya sistemi görüntüsünü dağıtacak ve değiştirilen blok veya bayt sayısını bildirecek başka bir araç var mı? Bunu anlıyorum cmp –l file1 file2 | wc –l, ama korkunç, korkunç derecede yavaş.

Yanıtlar:


7

ZFS'nin belgelenmemiş zdb aracının belirli bir veri kümesindeki (dosya sistemi veya anlık görüntü) bir dosya tarafından kullanılan blokları almak için kullanılabileceğini bildirmek için hiçbir özelliği yoktur, bu nedenle biraz komut dosyasıyla aradığınız şeyi elde etmek mümkündür. zdb çıktısını işlemek çok uzun zaman alacaktır.

İşte bir dosyanın bloklarını ayıklamak için zdb'nin nasıl kullanılacağını gösteren bir blog.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.