Short question: I'm curious as to how ZFS manages space (free and used) and how its usage interacts with thin provisioning provided by HDS arrays. Is there any effort to minimize the number of provisioned disk blocks that get writes so as to not negate any space benefits that thin provisioning may give?
Background & more detailed questions: In Jeff Bonwick's blog[1], he talks about free space management and metaslabs. Of particular interest is the statement: "ZFS divides the space on each virtual device into a few hundred regions called metaslabs." 1. http://blogs.sun.com/bonwick/entry/space_maps In Hu Yoshida's (CTO, Hitachi Data Systems) blog[2] there is a discussion of thin provisioning at the enterprise array level. Of particular interest is the statement: "Dynamic Provisioning is not a panacea for all our storage woes. There are applications that do a hard format or write across the volume when they do an allocation and that would negate the value of thin provisioning." In another entry[3] he goes on to say: "Capacity is allocated to 'thin' volumes from this pool in units of 42 MB pages...." 2. http://blogs.hds.com/hu/2007/05/dynamic_or_thin_provisioning.html 3. http://blogs.hds.com/hu/2007/05/thin_and_wide_.html This says that any time that a 42 MB region gets one sector written, 42 MB of storage is permanently[4] allocated to the virtual LUN. 4. Until the LUN is destroyed, that is. I know that ZFS does not do a write across all of the disk as part of formatting. Does it, however, drop some sort of metaslab data structures on each of those "few hundred regions"? When space is allocated, does it make an attempt to spread the allocations across all of the metaslabs, or does it more or less fill up one metaslab before moving to the next? As data is deleted, do the freed blocks get reused before never used blocks? Is there any collaboration between the storage vendors and ZFS developers to allow the file system to tell the storage array "this range of blocks is unused" so that the array can reclaim the space? I could see this as useful when doing re-writes of data (e.g. crypto rekey) to concentrate data that had become scattered into contiguous space. -- Mike Gerdts http://mgerdts.blogspot.com/ _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss