Solaris ZFS Administration Guide

Delegating Datasets to a Non-Global Zone

If the primary goal is to delegate the administration of storage to a zone, then ZFS supports adding datasets to a non-global zone through the use of the zonecfg command's add dataset subcommand.

In the following example, a ZFS file system is delegated to a non-global zone by a global administrator in the global zone.

# zonecfg -z zion
zonecfg:zion> add dataset
zonecfg:zion:dataset> set name=tank/zone/zion
zonecfg:zion:dataset> end

Unlike adding a file system, this syntax causes the ZFS file system tank/zone/zion to be visible within the already configured zion zone. The zone administrator can set file system properties, as well as create children. In addition, the zone administrator can take snapshots, create clones, and otherwise control the entire file system hierarchy.

If you are using Solaris Live Upgrade to upgrade your ZFS BE with non-global zones, remove any delegated datasets before the Live Upgrade operation or the Live Upgrade operation will fail with a read-only file system error. For example:

zonecfg:zion> remove dataset name=tank/zone/zion
zonecfg:zion1> exit

For more information about what actions are allowed within zones, see Managing ZFS Properties Within a Zone.