Please upgrade to a supported version of FreeNAS.
The problem is that those of us who use FreeNAS for datastores do not necessarily have an easy way to do that. Once deployed, and with a few hundred VM's running, either all the VM's need to be shut down, or the datastore needs to be storage vmotion'ed over to a different datastore. In the practical real world, this can be a nightmare. Storage is a 24/7 operation at many sites.
So in an attempt to at least provide a little as-helpful-as-possible-though-really-more-of-a-postmortem-analysis,
2.2TB available space on a 6TB usable pool would put you over the recommended maximum capacity for a pool being used for block storage on mirrors (~60%, but I prefer lower). RAIDZ2 acts as a badness multiplier in this case, as RAIDZ isn't good for block storage.
A 1.2TB zvol is a massive amount of data, especially if there are any snapshots or other complications, and you really need a ton of memory in order to help to offset the IOPS that are probably being soaked up here. Because it is a RAIDZ, you probably only have approx. a few hundred IOPS available for I/O that needs to involve the pool, and you need to be doing a massive number of metadata updates, this is going to take A Really Long Time.
A mirror based pool has somewhat higher read and write capabilities which is really helpful.
I don't have any really good suggestions for you. I haven't been tracking this particular problem so I don't know if this has been resolved in more recent versions.