You can add or create a ZFS volume in a non-global zone or you can add access to a volume's data in a non-global zone in the following ways:
In a non-global zone, a privileged zone administrator can create a ZFS volume as descendent of a previously delegated file system. For example:
# zfs create -V 2g tank/zone/zion/vol1
The above syntax means that the zone administrator can manage the volume's properties and data in the non-global zone.
In a global zone, use the zonecfg add dataset subcommand and specify a ZFS volume to be added to a non-global zone. For example:
# zonecfg -z zion zonecfg:zion> add dataset zonecfg:zion:dataset> set name=tank/volumes/vol1 zonecfg:zion:dataset> end
The above syntax means that the zone administrator can manage the volume's properties and data in the non-global zone.
In a global zone, use the zonecfg add device subcommand and specify a ZFS volume whose data can be accessed in a non-global zone. For example:
# zonecfg -z zion zonecfg:zion> add device zonecfg:zion:device> set match=/dev/zvol/dsk/tank/volumes/vol2 zonecfg:zion:device> end
The above syntax means that only the volume data can be accessed in the non-global zone.