It is related to cloning zones.
I have a reproducible example.
# zonecfg -z zone1
zone1: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:zone1> create
zonecfg:zone1> set zonepath=/zones/zone1
zonecfg:zone1> verify
zonecfg:zone1> end
# zoneadm -z zone1 install
# zoneadm -z zone1 boot
# zoneadm -z zone1 halt
# zonecfg -z zone2
zonecfg:zone2> create
zonecfg:zone2> set zonepath=/zones/zone2
zonecfg:zone2> end
# zoneadm -z zone2 clone zone1
# zoneadm -z zone1 boot
# zoneadm -z zone2 boot
# zonecfg -z zone3
zone3: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:zone3> create
zonecfg:zone3> set zonepath=/zones/zone3
zonecfg:zone3> end
The end command only makes sense in the resource scope.
zonecfg:zone3> exit
root@oi-vm:~# zoneadm -z zone3 clone zone1
root@oi-vm:~# zlogin zone2
[Connected to zone 'zone2' pts/9]
Last login: Thu Apr 26 08:24:53 on pts/9
The Illumos Project SunOS 5.11 illumos-094e47e980 April
2018
root@zone2:~# beadm list
BE Active Mountpoint Space Policy Created
zbe NR / 7.68M static 2018-04-26 08:25
root@zone2:~# beadm create zbe-2
Created successfully
root@zone2:~# logout
[Connection to zone 'zone2' pts/9 closed]
root@oi-vm:~# zoneadm -z zone3 boot
root@oi-vm:~# zlogin zone2
[Connected to zone 'zone2' pts/9]
Last login: Thu Apr 26 08:27:40 on pts/9
The Illumos Project SunOS 5.11 illumos-094e47e980 April
2018
root@zone2:~# beadm activate zbe-2
Unable to activate zbe-2.
BE promotion failed.
root@zone2:~# truss beadm activate zbe-2
...
open("/dev/zfs", O_RDWR) = 6
...
ioctl(6, ZFS_IOC_PROMOTE, 0x08045978) Err#2 ENOENT
...
---
System Administrator of Southern Federal University Computer Center
On 25.04.2018 18:43, Alexander Pyhalov wrote:
Hi.
I see the following issue in zone - I can't activate boot environment.
I can do, for example,
beadm destroy zbe-backup-2
but not
beadm activate zbe-backup-2 (or any other BE, including active one).
$ pfexec beadm activate -v zbe-14
be_promote_ds_callback: promote of data/zones/os36/ROOT/zbe-14 failed:
dataset does not exist
be_activate: failed to activate the datasets for
data/zones/os36/ROOT/zbe-14: dataset does not exist
Unable to activate zbe-14.
BE promotion failed.
If I halt zone, manually set org.opensolaris.libbe:active=on on
necessary dataset and boot it, everything works as expected.
truss'ing beadm activate shows the following:
open("/dev/zfs", O_RDWR) = 3
open("/etc/mnttab", O_RDONLY) = 4
...
ioctl(4, MNTIOC_GETMNTANY, 0x080420D4) = 1
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08041008) Err#3 ESRCH
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08042238) = 0
llseek(4, 0, SEEK_CUR) = 0
llseek(4, 0, SEEK_SET) = 0
ioctl(4, MNTIOC_GETMNTANY, 0x080420D4) = 1
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08041008) Err#3 ESRCH
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08042238) Err#12 ENOMEM
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08042238) = 0
llseek(4, 0, SEEK_CUR) = 0
llseek(4, 0, SEEK_SET) = 0
ioctl(4, MNTIOC_GETMNTANY, 0x080420D4) = 1
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08041008) Err#3 ESRCH
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08042238) = 0
llseek(4, 0, SEEK_CUR) = 0
llseek(4, 0, SEEK_SET) = 0
ioctl(4, MNTIOC_GETMNTANY, 0x080420D4) = 1
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08041008) Err#3 ESRCH
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08042238) Err#12 ENOMEM
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08042238) = 0
llseek(4, 0, SEEK_CUR) = 0
llseek(4, 0, SEEK_SET) = 0
ioctl(4, MNTIOC_GETMNTANY, 0x080420D4) = 0
ioctl(3, ZFS_IOC_OBJSET_STATS, 0x08045958) = 0
llseek(4, 0, SEEK_CUR) = 0
llseek(4, 0, SEEK_SET) = 0
ioctl(4, MNTIOC_GETMNTANY, 0x08045D74) = 0
zone_lookup(0x00000000) = 76
ioctl(3, ZFS_IOC_OBJSET_STATS, 0x08045D98) = 0
ioctl(6, ZFS_IOC_PROMOTE, 0x08045968) Err#2 ENOENT
close(3) = 0
....
ioctl(6, ZFS_IOC_PROMOTE, 0x08045948) Err#2 ENOENT seems
suspicios...
------------------------------------------
illumos: illumos-discuss
Permalink:
https://illumos.topicbox.com/groups/discuss/discussions/T00ccd97df9cb1d97-Mea76f91a229542dea3338eb4
Delivery options: https://illumos.topicbox.com/groups