Hello list, 

ZFS can be used in both file level (zfs) and block level access (zvol). When 
using zvols, those are always thin provisioned (space is allocated on first 
write). We use zvols with comstar to do iSCSI and FC access - and exuse me in 
advance - but this may also be a more comstar related question then.

When reading from a freshly created zvol, no data comes from disk. All reads 
are satisfied by ZFS and comstar returns 0's (I guess) for all reads. 

Now If a virtual machine writes to the zvol, blocks are allocated on disk. 
Reads are now partial from disk (for all blocks written) and from ZFS layer 
(all unwritten blocks). 

If the virtual machine (which may be vmware / xen / hyperv) deletes blocks / 
frees space within the zvol, this also means a write - usually in meta data 
area only. Thus the underlaying Storage system does not know which blocks in a 
zvol are really used.

So reducing size in zvols is really difficult / not possible. Even if one 
deletes everything in guest, the blocks keep allocated. If one zeros out all 
blocks, even more space is allocated. 

For the same purpose TRIM (ATA) / PUNCH (SCSI) has bee introduced. With this 
commands the guest can tell the storage, which blocks are not used anymore. 
Those commands are not available in Comstar today :(

However I had the idea that comstar can get the same result in the way vmware 
did it some time ago with "vmware tools". 

Idea: 
  - If the guest writes a block with 0's only, the block is freed again
  - if someone reads this block again - it wil get the same 0's it would get if 
the 0's would be written 
   - The checksum of a "all 0" block dan be hard coded for SHA1 / Flecher, so 
the comparison for "is this a "0 only" block is easy.

With this in place, a host wishing to free thin provisioned zvol space can fill 
the unused blocks wirth 0s easity with simple tools (e.g. dd if=/dev/zero 
of=/MYFILE bs=1M; rm /MYFILE) and the space is freed again on the zvol side. 

Does anyone know why this is not incorporated into ZFS ?
-- 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to