I've been thinking about how to manage delegated datasets in zones and
I keep thinking that it would be a good idea to allow datasets to be
aliased.  As I've been looking at Ops Center 2.5, I see that zpools
that it creates are named by UUID (ugh!).

# zonecfg -z soltrain3 info zonepath

While a UUID as a zpool name is an extreme example, I would like to
hide the overall storage hierarchy[1] chosen by the global zone
administrator from the non-global zone administrator.  The suggested
interface change to zonecfg would be:

# zonecfg -z soltrain3
zonecfg:soltrain3> add dataset
zonecfg:soltrain3:dataset> set
zonecfg:soltrain3:dataset> set alias=tank

Then within the zone, the administrator would do operations like:

# zfs create -o mountpoint=/myapp tank/myapp

There would need to be corresponding changes in the kernel[2] to do
this translation.  Not only would this affect the usage and output of
zfs(1M) but also the contents of /etc/mnttab to indirectly affect df

Are there reasons why this would be a bad idea?  Are there better
ideas waiting in the wings?

1.  Suppose in one architecture there is one zpool for the entire
system, shared by all zones.  In another, there is a zpool per zone,
and in yet another there is a zpool for the stuff that belongs to the
sysadmin and one that belongs to the application admin.  Over time
there may be a migration from one to the next.  I'd like such global
zone administrative decisions to be hidden from the non-global zone
2.  Assuming complete hiding and userland portions of zfs(1M) would
not have access to data required to do mapping.

Mike Gerdts
zones-discuss mailing list

Reply via email to