Jeff Victor wrote:
Brian Kolaci wrote:
Jerry Jelinek wrote:
Brian Kolaci wrote:
I've tried this as well, still doesn't take it. I've been able to boot
the zone (without the fs added), play with it, then halt it and add it
back in. Still gives an error...
could not verify fs /data: could not access zfs dataset
zoneadm: zone omc1 failed to verify
I just tried this and it worked for me. What does your zone and zfs
configuration look like? What build are you running?
OK, here's a whole scenario (which also fails):
# zfs create zpool/tstdata
# zfs set mountpoint=legacy zpool/tstdata
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zpool 346M 117G 25.5K /zpool
zpool/home 346M 117G 27.5K /zpool/home
zpool/home/bk 346M 117G 346M /zpool/home/bk
zpool/home/zoneadm 102K 117G 102K /zpool/home/zoneadm
zpool/tstdata 24.5K 117G 24.5K legacy
# zonecfg -z tst
tst: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:tst> set zonepath=/opt/zones/tst
zonecfg:tst> set autoboot=true
zonecfg:tst> add net
zonecfg:tst:net> set address=10.0.0.105
zonecfg:tst:net> set physical=e1000g0
zonecfg:tst> add fs
zonecfg:tst:fs> set type=zfs
zonecfg:tst:fs> set dir=/data
zonecfg:tst:fs> set special=zpool/tstdata
# zoneadm -z tst install
Preparing to install zone <tst>.
ERROR: No such file or directory: cannot mount
</opt/zones/tst/root/data> in non-global zone to install: the source
block device or directory <zpool/tstdata> cannot be accessed
ERROR: cannot setup zone <tst> inherited and configured file systems
ERROR: cannot setup zone <tst> file systems inherited and configured
from the global zone
ERROR: cannot create zone boot environment <tst>
zoneadm: zone 'tst': '/usr/lib/lu/lucreatezone' failed with exit code 74.
Can you see something missing?
Yes. Following the commands above, /zpool/tstdata is not mounted, and a
directory with that name does not exist. Were there other commands that
used to mount the fs?
I tested your command example and got the same results. Further, "ls
/zpool" doesn't show the dir /zpool/tstdata. So I'm not surprised that
the install fails.
This logic isn't really correct. You are looking in the wrong place.
The zfs filesystem won't be mounted under zpool since zpool/tstdata has
the legacy mount property. The filesystem should be mounted within the
non-global zone, not the global zone. The zone itself should mount the
filesystems while it boots (i.e. SMF usually does it) so you don't need
extra commands. The trick is during the install process where we are
not booting the zone. I haven't looked at the LU code in detail here but
I think what could be happening is that we are using an (undocumented)
option to zoneadm to mount the zones filesystems. We might be hitting
6412875 zoneadm mount does not mount filesystems in vfstab
or we could be hitting some other problem in the LU code whre it is
supposed to mount the zone's filesystems prior to installation.
zones-discuss mailing list