I use ZFS in FreeNAS 8.0.4 and use iSCSI to provide a LUN to Vmware ESXi 5.0.
I post it at http://forums.freenas.org/showthread.php?10990-Memory-utilization-and-performance-problem/page4, but I believe people here may have more expertise on ZFS.
FreeNAS doesn't have iSCSI unmap. I have create / move / delete virtual machine between ZFS iSCSI. After a while, zpool list report 95% capacity used. However, Vmware shows VMFS only uses 50% capacity.
AFAIK, when creating a virtual machine, zvol allocated disk space. However, when we moved / deleted virtual machine, zvol didn't update / didn't aware to update the free capacity.
[root@data1] ~# zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT data1 2.25T 2.07T 185G 95% ONLINE /mnt
Now, I believe due to the wrong free capacity reported in zpool list, the performance is deeply affected.
How I should do to let ZFS know the real free capacity.
zpool status -v
pool: data1 state: ONLINE scrub: scrub stopped after 10h31m with 0 errors on Wed Feb 6 13:32:53 2013 config: NAME STATE READ WRITE CKSUM data1 ONLINE 0 0 0 raidz1 ONLINE 0 0 0 ada0p2 ONLINE 0 0 0 ada1p2 ONLINE 0 0 0 ada2p2 ONLINE 0 0 0 ada3p2 ONLINE 0 0 0 ada4p2 ONLINE 0 0 0 spares ada5p2 AVAIL errors: No known data errors
NAME SIZE USED AVAIL CAP HEALTH ALTROOT data1 2.25T 2.08T 179G 92% ONLINE /mnt