by ilovezfs » Mon Nov 04, 2013 11:35 pm
I assume you mean 1TB and 3TB, not 1GB and 3GB.
It is impossible to shrink a given vdev without starting from scratch. However, with sparse files (non OS X) or OS X's sparseimages or sparsebundles, you could convert your vdev to a mirror vdev, and have a sparse second half of the mirror, only taking up 1TB instead of 3TB. However, that would still require 1TB of free space somewhere else, in which case you could have copied the data off of the pool anyway, without bothering with ZFS stuff like mirrors.
Another choice would be to "zfs send" the datasets to a ZFS send-receive stream, received into a file, or a new dataset. But that too would require 1TB of free space on another drive to complete the transition.