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.
Thanks million.
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
zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
data1 2.25T 2.08T 179G 92% ONLINE /mnt