On 2/4/11 10:32 PM, Darren Reed wrote:
On a test system that is using only ZFS, I'm trying to create a zone
but it keeps failing with:
netvirt-d1 ~# zoneadm -z exclusivetestzone1 install
ERROR: the zonepath must be a ZFS dataset.
The parent directory of the zonepath must be a ZFS dataset so that the
zonepath ZFS dataset can be created properly.
I don't get it. This restriction never used to exist.
Why do I need to do something extra that is mandatory?
Further to this, there's a script on Oracle's website here:
http://download.oracle.com/docs/cd/E19963-01/821-1460/z.conf.start-1/index.html
that also fails to configure & create a zone that can be installed with b154
bits.
To give an example (/tmp/ozone is the script from the above page)...
/ is rpool/ROOT/solaris
# zfs create rpool/ROOT/solaris/zone
# zfs set mountpoint=/zone rpool/ROOT/solaris/zone
The first thing I can see is that you are attempting to create a zone within the
root pool's ROOT dataset which is not supported. If you had run zoneadm install
directly you should have seen something like the following error message.
admin@snv-158:/# zoneadm -z zone2 install
ERROR: Installing a zone inside of the root pool's 'ROOT' dataset is
unsupported.
The interesting thing here is that when I run this by hand I get this message
the first time. However if I then uninstall the zone and retry to install it I
get the error that you're seeing:
admin@snv-158:/# zoneadm -z zone2 uninstall
Are you sure you want to uninstall zone zone2 (y/[n])? y
admin@snv-158:/# zoneadm -z zone2 install
ERROR: the zonepath must be a ZFS dataset.
The parent directory of the zonepath must be a ZFS dataset so that the
zonepath ZFS dataset can be created properly.
I think this is because the zoneadm uninstall is removing the offending dataset
and if you were to add that back in (but don't because it's not correct) you
would see the original error.
<...>
# zoneadm -z exclusivetestzone1 uninstall
Are you sure you want to uninstall zone exclusivetestzone1 (y/[n])? y
# zoneadm -z exclusivetestzone1 install
ERROR: the zonepath must be a ZFS dataset.
The parent directory of the zonepath must be a ZFS dataset so that the
zonepath ZFS dataset can be created properly.
# cat /zone/exclusivetestzone1.config
create
set zonepath=/zone/exclusivetestzone1
As you can see from this, the parent of the zonepath is /zone and that
is a freshly created ZFS dataset. Furthermore, / which is the parent of
/zone is also a ZFS dataset. Having /zone as a directory within / and
not a dataset also results in the above error.
Between zoneadm and zonecfg, I can't see anything that instructs me on
how to resolve this. Am I missing something?
Try changing the dataset you're using to something more like rpool/zones and try
again.
For example doing the following should work (I don't know what other steps your
script is doing...):
# zfs create -o mountpoint=/zones rpool/zones
# zonecfg -z zone1
> create
> set zonepath=/zones/zone1
> commit
> exit
# zoneadm -z zone1 install
-evan
Darren
_______________________________________________
zones-discuss mailing list
zones-discuss@opensolaris.org
_______________________________________________
zones-discuss mailing list
zones-discuss@opensolaris.org