Configuring the dataset Property on solaris Zones
            
         Non-global zones use the ZFS file system as their Oracle Solaris hosts do. Although ZFS is supported as an fs type, you typically use the dataset property instead of the fs property when configuring non-global zones' datasets. The dataset property enables you to have control over the dataset from within the zone, where you can access the dataset and configure ZFS properties as needed.
               
You can add, export, and remove datasets from non-global zones while the zones are running. You can change a snapshot of the zone by using live mode, or modify the zone in default mode, which affects the zone that is running on the system. For a fuller explanation, see About Configuring Zone Properties. The 
                     zonecfg(8) man page describes the ‐r option for configuring a zone in live mode.
               
The following examples show how to add a dataset, remove a dataset, and remove a dataset by exporting it. Export operations precede migrating a zone.
Example 3-8 Adding a Dataset to a Zone
Suppose that you created a ZFS pool called rpool/zonefs. To add this pool to the non-global zone using the default mode, you would do the following steps:
                  
global$ zonecfg -z zoneA zonecfg:zoneA> add dataset zonecfg:zoneA:fs> set name=rpool/zonefs zonecfg:zoneA:fs> end zonecfg:zoneA> exit global$ zonecfg -z zoneA info ... dataset name: rpool/zonefs alias: zonefs ...
Apply the changes.
global$ zoneadm -z zoneA apply
                  You can now run zfs subcommands on the dataset.
                  
Example 3-9 Removing a Dataset From a Running Zone
- 
                        
                        The administrator starts by viewing the dataset information of a running zone from the global zone. global$ pfbash zonecfg -z ZoneA -r info dataset ... dataset: name: rpool/export/zonefs1 alias: zonefs1 dataset: name: rpool/export/zonefs2 alias: zonefs2 ...
- 
                        
                        The administrator then removes the zonefs1dataset from the zone snapshot.global$ zonecfg -z ZoneA -r zonecfg:ZoneA> remove dataset name=rpool/export/zonefs1 zonecfg:ZoneA> info dataset dataset 0: name: rpool/export/zonefs2 alias: zonefs2 ... zonecfg:ZoneA> commit zone 'ZoneA': Checking: Removing dataset name=rpool/export/zonefs1 zone 'ZoneA': Applying the changes zonecfg:ZoneA> exit 
- 
                        
                        The administrator verifies that the dataset is removed. global$ zonecfg -z ZoneA -r info dataset dataset: name: rpool/export/zonefs2 alias: zonefs2
When ZoneA is rebooted, or when you use the zoneadm apply command, the dataset is restored to the zone. The ‐r option is for temporary changes only.
                  
Example 3-10 Exporting a Dataset From a solaris Zone
                  
In this example, the administrator exports a dataset for migration or move. If the dataset is in use, the export might not succeed. For more information, see Exporting a ZFS Storage Pool in Managing ZFS File Systems in Oracle Solaris 11.4.
The administrator exports the dataset from the snapshot of the zone. At reboot, the dataset is still in the zone.
- 
                        
                        From the global zone, the administrator displays the zone datasets. global$ pfbash zonecfg -z ZoneA info dataset ... dataset: name: rpool/export/zonefs1 alias: zonefs1 dataset: name: rpool/export/zonefs2 alias: zonefs2 ...
- 
                        
                        From the global zone, the administrator exports the zonefs2dataset.global$ zpool export zonefs2
- 
                        
                        The list of running zpools does not include the exported dataset. global$ zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT zonefs1 68G 21.5G 46.5G 31% 1.00x ONLINE - rpool 68G 21.5G 46.5G 31% 1.00x ONLINE -