Watch this video about ZFS overview and demo. A good one..
ZFS organizes physical devices into logical pools called storage pools. Both individual disks and array logical unit numbers (LUNs) that are visible to the operating system can be included in a ZFS pools. These pools can be created as disks striped together with no redundancy (RAID 0), mirrored disks (RAID 1), striped mirror sets (RAID 1 + 0), or striped with parity (RAID Z). Additional disks can be added to pools at any time but they must be added with the same RAID level.
ZFS Filesystem :
ZFS offers a POSIX-compliant file system interface to the Solaris/OpenSolaris operating system. ZFS file systems must be built in one and only one storage pool, but a storage pool may have more than one defined file system. ZFS file systems are managed & mounted through /etc/vfstab file. The common way to mount a ZFS file system is to simply define it against a pool. All defined ZFS file systems automatically mount at boot time unless otherwise configured.
Here are the basic commands for getting started with ZFS.
Creating Storage pool using “zpool create” :
bash-3.00# zpool create demovol raidz c2t1d0 c2t2d0
bash-3.00# zpool status
 pool: demovol
state: ONLINE
scrub: none requested
config:
       NAME        STATE    READ WRITE CKSUM
       demovol     ONLINE      0    0    0
         raidz1    ONLINE      0    0    0
           c2t1d0  ONLINE      0    0    0
           c2t2d0  ONLINE      0    0    0
errors: No known data errors
bash-3.00#
“zfs list” will give the details of the pool and other zfs filesytems.
bash-3.00# zfs list
NAMEÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â USEDÂ AVAILÂ REFERÂ MOUNTPOINT
demovol              1.00G 900G 38.1K /demovol
bash-3.00#
Creating File Systems : “zfs create” is used to create zfs filesytem.
bash-3.00# zfs create demovol/testing
bash-3.00# zfs list
NAMEÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â USEDÂ AVAILÂ REFERÂ MOUNTPOINT
demovol              1.00G 900G 38.1K /demovol
demovol/testing      32.6K 900G 32.6K /demovol/testing
bash-3.00#
bash-3.00# ls /dev/zvol/dsk/demovol — This should show you the disk file.
Setting Quota for the filesytem : Until Quota is set, the filesytem shows the total available space of the containter zfs pool.
bash-3.00# zfs set quota=10G emspool3/testing
bash-3.00# zfs list
NAMEÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â USEDÂ AVAILÂ REFERÂ MOUNTPOINT
demovol                1.00G 900G  39.9K /demovol
demovol/testing        32.6K 10.0G 32.6K /demovol/testing
Creating a snapshot :
bash-3.00# zfs snapshot demovol/testing@snap21
bash-3.00# zfs list
NAMEÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â USEDÂ AVAILÂ REFERÂ MOUNTPOINT
demovol                1.00G 900G  39.9K /demovol
demovol/testing        32.6K 10.0G 32.6K /demovol/testing
demovol/testing@snap21Â Â Â Â Â 0Â Â Â Â Â –Â 32.6KÂ –
bash-3.00#
Get all properties of a ZFS filesytem :
bash-3.00# zfs get all demovol/testing
NAMEÂ Â Â Â Â Â Â Â Â Â Â Â PROPERTYÂ Â Â Â Â Â Â Â VALUEÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â SOURCE
demovol/testing type            filesystem            –
demovol/testing creation        Mon Feb 9 9:05 2009 –
demovol/testing used            32.6K                 –
demovol/testing available       10.0G                 –
demovol/testing referenced      32.6K                 –
demovol/testing compressratio   1.00x                 –
demovol/testing mounted         yes                   –
demovol/testing quota           10G                   local
demovol/testing reservation     none                  default
demovol/testing recordsize      128K                  default
demovol/testing mountpoint      /demovol/testing      default
..
Cloning a ZFS filesystem from a snapshot :
bash-3.00# zfs clone demovol/testing@snap21 demovol/clone22
bash-3.00# zfs list
NAMEÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â USEDÂ AVAILÂ REFERÂ MOUNTPOINT
demovol                1.00G 900G  39.9K /demovol
demovol/clone22Â Â Â Â Â Â Â Â Â Â Â Â 0Â 900GÂ Â 32.6KÂ /demovol/clone22
demovol/testing        32.6K 10.0G 32.6K /demovol/testing
demovol/testing@snap21Â Â Â Â Â 0Â Â Â Â Â –Â 32.6KÂ –
bash-3.00#
Performance IO Monitoring the ZFS storage pool:
bash-3.00# zpool iostat 1
              capacity    operations   bandwidth
pool        used avail  read write  read write
———-Â —–Â —–Â —–Â —–Â —–Â —–
demovol    4.95M 900G     0     0     0    35
demovol    4.95M 900G     0     0     0     0
demovol    4.95M 900G     0     0     0     0
demovol    4.95M 900G     0     0     0     0
Please refer to the man pages, zfs and zpool, for more detailed information. Additional documentation may be found at docs.sun.com and OpenSolaris ZFS Community.