On 08/01/2010 12:40, Peter van Gemert wrote:
By having a snapshot you
are not releasing the
space forcing zfs to allocate new space from other
parts of a disk
drive. This may lead (depending on workload) to more
fragmentation, less
localized data (more and longer seeks).

ZFS uses COW (copy on write) during writes. This means that it first has to 
find a new location for the data and when this data is written, the original 
block is released. When using snapshots, the original block is not released.

I don't think the use of snapshots will alter the way data is fragmented or 
localized on disk.

---
PeterVG

Well, it will (depending on workload).
For example - lets say you have a 80GB disk drive as a pool with a single db file which is 1GB in size. Now no snapshots are created and you constantly are modyfing logical blocks in the file. As ZFS will release the old block and will re-use it later on so all current data should be roughly within the first 2GB of the disk drive therefore highly localized.

Now if you would create a snapshot while modyfing data, then another one and another one, you would end-up in a situation where free blocks are availably further and further onto a disk drive. When you end-up almost filling the disk drive even if you delete all snapshots now your active data will be scattered all over the disk (assuming you were not modyfing 100% of data between creating snapshots). It won't be highly localized anymore.

--
Robert Milkowski
http://milek.blogspot.com


_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to