dw+
2014-06-03 15:22:09 UTC
Hi there,
While playing with LVM thin provisioning, I've noticed that snapshots
seem to have different caching semantics compared to their original thin
LV.
I've hunted everywhere for documentation that describes this difference,
or even an indication of on what layer it occurs, but I can find none.
Perhaps someone here could shed some light?
Thin volume behaves like a regular drive:
# echo 1 > /proc/sys/vm/drop_caches
# dd if=/dev/vg0/tv0 of=/dev/null bs=64k count=1000
65536000 bytes (66 MB) copied, 0.946389 s, 69.2 MB/s
# dd if=/dev/vg0/tv0 of=/dev/null bs=64k count=1000
65536000 bytes (66 MB) copied, 0.00810655 s, 8.1 GB/s
Create activated snapshot:
# lvcreate -kn -s -n tv0s /dev/vg0/tv0
Logical volume "tv0s" created
# dd if=/dev/vg0/tv0s of=/dev/null bs=64k count=1000
65536000 bytes (66 MB) copied, 1.00061 s, 65.5 MB/s
Second dd shows no/very little speedup:
# time dd if=/dev/vg0/tv0s of=/dev/null bs=64k count=1000
65536000 bytes (66 MB) copied, 0.921402 s, 71.1 MB/s
Thanks,
David
While playing with LVM thin provisioning, I've noticed that snapshots
seem to have different caching semantics compared to their original thin
LV.
I've hunted everywhere for documentation that describes this difference,
or even an indication of on what layer it occurs, but I can find none.
Perhaps someone here could shed some light?
Thin volume behaves like a regular drive:
# echo 1 > /proc/sys/vm/drop_caches
# dd if=/dev/vg0/tv0 of=/dev/null bs=64k count=1000
65536000 bytes (66 MB) copied, 0.946389 s, 69.2 MB/s
# dd if=/dev/vg0/tv0 of=/dev/null bs=64k count=1000
65536000 bytes (66 MB) copied, 0.00810655 s, 8.1 GB/s
Create activated snapshot:
# lvcreate -kn -s -n tv0s /dev/vg0/tv0
Logical volume "tv0s" created
# dd if=/dev/vg0/tv0s of=/dev/null bs=64k count=1000
65536000 bytes (66 MB) copied, 1.00061 s, 65.5 MB/s
Second dd shows no/very little speedup:
# time dd if=/dev/vg0/tv0s of=/dev/null bs=64k count=1000
65536000 bytes (66 MB) copied, 0.921402 s, 71.1 MB/s
Thanks,
David