This discussion is archived
9 Replies Latest reply: Aug 9, 2012 3:09 AM by JulianG RSS

lucreate and non-global zones

JulianG Newbie
Currently Being Moderated
Hi - I'm trying to get my head around Live Upgrades now that I've switched to ZFS on Solaris 10 for our test servers. The problem I have is we have a number of non-global zones and when I ran the lucreate command I get a number of warnings:

lucreate -n CPU_2012-07
Analyzing system configuration.
Updating boot environment description database on all BEs.
Updating system configuration files.
Creating configuration for boot environment <CPU_2012-07>.
Source boot environment is <10>.
Creating file systems on boot environment <CPU_2012-07>.
Populating file systems on boot environment <CPU_2012-07>.
Temporarily mounting zones in PBE <10>.
Analyzing zones.

WARNING: Directory </export/zones/tdukwxstestz01> zone <global> lies on a filesystem shared between BEs, remapping path to </export/zones/tdukwxstestz01-CPU_2012-07>.
WARNING: Device <rpool/export/zones/tdukwxstestz01> is shared between BEs, remapping to <rpool/export/zones/tdukwxstestz01-CPU_2012-07>.
WARNING: Directory </export/zones/tdukwbprepz01> zone <global> lies on a filesystem shared between BEs, remapping path to </export/zones/tdukwbprepz01-CPU_2012-07>.
WARNING: Device <rpool/export/zones/tdukwbprepz01> is shared between BEs, remapping to <rpool/export/zones/tdukwbprepz01-CPU_2012-07>.

Duplicating ZFS datasets from PBE to ABE.
Creating snapshot for <rpool/export/zones/tdukwbprepz01> on <rpool/export/zones/tdukwbprepz01@CPU_2012-07>.
Creating clone for <rpool/export/zones/tdukwbprepz01@CPU_2012-07> on <rpool/export/zones/tdukwbprepz01-CPU_2012-07>.
Creating snapshot for <rpool/export/zones/tdukwxstestz01> on <rpool/export/zones/tdukwxstestz01@CPU_2012-07>.
Creating clone for <rpool/export/zones/tdukwxstestz01@CPU_2012-07> on <rpool/export/zones/tdukwxstestz01-CPU_2012-07>.
Creating snapshot for <rpool/ROOT/10> on <rpool/ROOT/10@CPU_2012-07>.
Creating clone for <rpool/ROOT/10@CPU_2012-07> on <rpool/ROOT/CPU_2012-07>.
Creating snapshot for <rpool/ROOT/10/var> on <rpool/ROOT/10/var@CPU_2012-07>.
Creating clone for <rpool/ROOT/10/var@CPU_2012-07> on <rpool/ROOT/CPU_2012-07/var>.
Mounting ABE <CPU_2012-07>.
Generating file list.
Finalizing ABE.
Fixing zonepaths in ABE.
Unmounting ABE <CPU_2012-07>.
Fixing properties on ZFS datasets in ABE.
Reverting state of zones in PBE <10>.
Making boot environment <CPU_2012-07> bootable.
Population of boot environment <CPU_2012-07> successful.
Creation of boot environment <CPU_2012-07> successful.

So ALL my non-global zones live under /export/zones/<zonename> - what do all the WARNINGS mean?

I then applied the Oracle CPU, activated the ABE and shutdown the server. When it came back up non of the zones would start and this seems to be because now all the zonepaths and references to the zones are labelled with CPU_2012-07 on the end. Now I can edit the zone xml files to fix this but am sure this is not the recommended method and something I would prefer not to do.

So basically I think I have not set my ZFS resource pools up correctly to take into account my non-global zones and where I have created them.

My zfs list output looks like this now, unfortunately I don't have the output prior to me starting this work:

zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 91.2G 456G 106K /rpool
rpool/ROOT 9.06G 456G 31K legacy
rpool/ROOT/10 38.2M 456G 4.34G /.alt.10
rpool/ROOT/10/var 22.6M 24.0G 3.60G /.alt.10/var
rpool/ROOT/CPU_2012-07 9.02G 456G 4.34G /
rpool/ROOT/CPU_2012-07@CPU_2012-07 566M - 4.34G -
rpool/ROOT/CPU_2012-07/var 4.12G 456G 4.11G /var
rpool/ROOT/CPU_2012-07/var@CPU_2012-07 13.8M - 3.58G -
rpool/dump 2.00G 456G 2.00G -
rpool/export 5.94G 456G 35K /export
rpool/export/home 76.9M 23.9G 76.9M /export/home
rpool/export/zones 5.87G 456G 36K /export/zones
rpool/export/zones/tdukwbprepz01 21.7M 456G 323M /export/zones/tdukwbprepz01
rpool/export/zones/tdukwbprepz01-10 321M 31.7G 312M /export/zones/tdukwbprepz01-10
rpool/export/zones/tdukwbprepz01-10@CPU_2012-07 8.50M - 312M -
rpool/export/zones/tdukwxstestz01 29.6M 456G 5.49G /export/zones/tdukwxstestz01
rpool/export/zones/tdukwxstestz01-10 5.51G 26.5G 5.47G /export/zones/tdukwxstestz01-10
rpool/export/zones/tdukwxstestz01-10@CPU_2012-07 32.1M - 5.48G -
rpool/logs 8.23G 23.8G 8.23G /logs
rpool/swap 66.0G 458G 64.0G -

Any help would be greatly appreciated.

Thanks - Julian.
  • 1. Re: lucreate and non-global zones
    JulianG Newbie
    Currently Being Moderated
    OK, so been tinkering with this. I'm not sure this is my exact problem but a few people have reported issues with the following package:

    121430-xx

    In that it gives the exact same WARNINGS when trying to create an ABE via lucreate and you have non-global zones. So one of the suggestions was to go back to an earlier version of this patch and then someone said it was fixed in version 71 of the patch. So I installed the very latest version 121430-81 and now it fails with a different error. Fortunately this time I have a screen shot of the before and after:

    BEFORE:
    bash-3.2# zoneadm list -cv
    ID NAME STATUS PATH BRAND IP
    0 global running / native shared
    1 build14 running /export/zones/build14 native shared


    bash-3.2# zfs list
    NAME USED AVAIL REFER MOUNTPOINT
    rpool 70.0G 477G 106K /rpool
    rpool/ROOT 1.98G 477G 31K legacy
    rpool/ROOT/10 1.98G 477G 1.95G /
    rpool/ROOT/10/var 28.8M 24.0G 28.8M /var
    rpool/dump 2.00G 477G 2.00G -
    rpool/export 36.5M 477G 33K /export
    rpool/export/home 35K 24.0G 35K /export/home
    rpool/export/zones 36.4M 477G 32K /export/zones
    rpool/export/zones/build14 36.4M 32.0G 36.4M /export/zones/build14
    rpool/logs 3.78M 32.0G 3.78M /logs
    rpool/swap 66.0G 543G 16K -



    bash-3.2# df -h |grep rpool
    rpool/ROOT/10 547G 1.9G 477G 1% /
    rpool/ROOT/10/var 24G 29M 24G 1% /var
    rpool/export 547G 33K 477G 1% /export
    rpool/export/home 24G 35K 24G 1% /export/home
    rpool/export/zones 547G 32K 477G 1% /export/zones
    rpool/export/zones/build14 32G 36M 32G 1% /export/zones/build14
    rpool/logs 32G 3.8M 32G 1% /logs
    rpool 547G 106K 477G 1% /rpool



    bash-3.2# lustatus
    Boot Environment Is Active Active Can Copy
    Name Complete Now On Reboot Delete Status
    -------------------------- -------- ------ --------- ------ ----------
    10 yes yes yes no -



    bash-3.2# lucreate -n 10-CPU_2012_07
    Analyzing system configuration.
    Updating boot environment description database on all BEs.
    Updating system configuration files.
    Creating configuration for boot environment <10-CPU_2012_07>.
    Source boot environment is <10>.
    Creating file systems on boot environment <10-CPU_2012_07>.
    Populating file systems on boot environment <10-CPU_2012_07>.
    Temporarily mounting zones in PBE <10>.
    Analyzing zones.
    Duplicating ZFS datasets from PBE to ABE.
    Creating snapshot for <rpool/ROOT/10> on <rpool/ROOT/10@10-CPU_2012_07>.
    Creating clone for <rpool/ROOT/10@10-CPU_2012_07> on <rpool/ROOT/10-CPU_2012_07>.
    Creating snapshot for <rpool/ROOT/10/var> on <rpool/ROOT/10/var@10-CPU_2012_07>.
    Creating clone for <rpool/ROOT/10/var@10-CPU_2012_07> on <rpool/ROOT/10-CPU_2012_07/var>.
    Mounting ABE <10-CPU_2012_07>.
    Generating file list.
    Copying data from PBE <10> to ABE <10-CPU_2012_07>.
    100% of filenames transferred
    Finalizing ABE.
    Fixing zonepaths in ABE.
    Unmounting ABE <10-CPU_2012_07>.
    Fixing properties on ZFS datasets in ABE.
    Reverting state of zones in PBE <10>.
    Making boot environment <10-CPU_2012_07> bootable.
    ERROR: Unable to mount zone <build14> in </.alt.tmp.b-0ob.mnt>.
    zoneadm: zone 'build14': zone root /export/zones/build14/root already in use by zone build14
    zoneadm: zone 'build14': call to zoneadmd failed
    ERROR: Unable to mount non-global zones of ABE <10-CPU_2012_07>: cannot make ABE bootable.
    ERROR: umount: /.alt.tmp.b-0ob.mnt/var/run busy
    ERROR: cannot unmount </.alt.tmp.b-0ob.mnt/var/run>
    ERROR: failed to unmount </.alt.tmp.b-0ob.mnt/var/run>
    ERROR: cannot fully unmount boot environment - <1>: file systems remain mounted
    ERROR: Unable to make boot environment <10-CPU_2012_07> bootable.
    ERROR: Unable to populate file systems on boot environment <10-CPU_2012_07>.
    Removing incomplete BE <10-CPU_2012_07>.
    ERROR: Cannot make file systems for boot environment <10-CPU_2012_07>.


    bash-3.2# lustatus
    Boot Environment Is Active Active Can Copy
    Name Complete Now On Reboot Delete Status
    -------------------------- -------- ------ --------- ------ ----------
    10 yes yes yes no -
    10-CPU_2012_07 no no no yes -


    So the very latest Live Upgrade patch doesn't seem to have fix this, I get even more errors now.

    Again any help would be greatly appreciated.

    Thanks - Julian.
  • 2. Re: lucreate and non-global zones
    cindys Pro
    Currently Being Moderated
    Hi Julian,

    Live Upgrade doesn't support all non-global zone configurations so to rule out an unsupported
    configuration, check this info here:

    http://docs.oracle.com/cd/E23823_01/html/819-5461/ggpdm.html#gigek

    Supported ZFS with Zone Root Configuration Information (at Least Solaris 10 5/09)

    Thanks,

    Cindy
  • 3. Re: lucreate and non-global zones
    JulianG Newbie
    Currently Being Moderated
    Thanks Cindy - I've taken a look at this section and followed the example but it still fails - set it up in the exact same way as the example. The only way I could get lucreate to work was to shut the non-global zone(s) down. I've also seen this mentioned on other forums, which sort of doesn't make it a Live Upgrade anymore. There's also mention that the patch 121430-66 is broken so I installed the latest 121430-81 patch as well.

    The 2nd problem I now have is when I ran luactivate -n <alt-be> the command works but then doing an init 6 just boots it back to the current boot environment and not the alt-be that has just been activated. If I also init 0 the server and do boot -L I only ever see my default / existing boot environment and not the alt-be.

    Thanks - Julian.
  • 4. Re: lucreate and non-global zones
    JulianG Newbie
    Currently Being Moderated
    So, as an example:

    cat /etc/release
    Oracle Solaris 10 8/11 s10s_u10wos_17b SPARC
    Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
    Assembled 23 August 2011

    zfs list
    NAME USED AVAIL REFER MOUNTPOINT
    rpool 72.1G 475G 108K /rpool
    rpool/ROOT 4.03G 475G 31K legacy
    rpool/ROOT/10 4.03G 475G 4.00G /
    rpool/ROOT/10/var 30.7M 24.0G 30.7M /var
    rpool/dump 2.00G 475G 2.00G -
    rpool/export 63K 475G 32K /export
    rpool/export/home 31K 24.0G 31K /export/home
    rpool/logs 3.78M 32.0G 3.78M /logs
    rpool/swap 66.0G 541G 16K -
    rpool/zones 29.2M 32.0G 32K /rpool/zones
    rpool/zones/build14 29.1M 32.0G 29.1M /rpool/zones/build14

    zoneadm list -cv
    ID NAME STATUS PATH BRAND IP
    0 global running / native shared
    - build14 installed /rpool/zones/build14 native shared

    lucreate -n 10-CPU_2012_07
    Analyzing system configuration.
    Updating boot environment description database on all BEs.
    Updating system configuration files.
    Creating configuration for boot environment <10-CPU_2012_07>.
    Source boot environment is <10>.
    Creating file systems on boot environment <10-CPU_2012_07>.
    Populating file systems on boot environment <10-CPU_2012_07>.
    Temporarily mounting zones in PBE <10>.
    Analyzing zones.
    Duplicating ZFS datasets from PBE to ABE.
    Creating snapshot for <rpool/ROOT/10> on <rpool/ROOT/10@10-CPU_2012_07>.
    Creating clone for <rpool/ROOT/10@10-CPU_2012_07> on <rpool/ROOT/10-CPU_2012_07>.
    Creating snapshot for <rpool/ROOT/10/var> on <rpool/ROOT/10/var@10-CPU_2012_07>.
    Creating clone for <rpool/ROOT/10/var@10-CPU_2012_07> on <rpool/ROOT/10-CPU_2012_07/var>.
    Mounting ABE <10-CPU_2012_07>.
    Generating file list.
    Copying data from PBE <10> to ABE <10-CPU_2012_07>.
    100% of filenames transferred
    Finalizing ABE.
    Fixing zonepaths in ABE.
    Unmounting ABE <10-CPU_2012_07>.
    Fixing properties on ZFS datasets in ABE.
    Reverting state of zones in PBE <10>.
    Making boot environment <10-CPU_2012_07> bootable.
    Population of boot environment <10-CPU_2012_07> successful.
    Creation of boot environment <10-CPU_2012_07> successful.

    lustatus
    Boot Environment Is Active Active Can Copy
    Name Complete Now On Reboot Delete Status
    -------------------------- -------- ------ --------- ------ ----------
    10 yes yes yes no -
    10-CPU_2012_07 yes no no yes -

    ./installpatchset apply-prereq s10patchset

    Setup .


    CPU OS Patchset 2012/07 Solaris 10 SPARC (2012.07.10)

    Application of patches started : 2012.08.08 12:01:19

    Applying 120900-04 ( 1 of 10) ... skipped
    Applying 121133-02 ( 2 of 10) ... skipped
    Applying 119254-85 ( 3 of 10) ... success
    etc.
    etc.


    ./installpatchset -B 10-CPU_2012_07 --s10patchset

    Setup .


    CPU OS Patchset 2012/07 Solaris 10 SPARC (2012.07.10)

    Application of patches started : 2012.08.08 12:02:59

    Applying 120900-04 ( 1 of 351) ... skipped
    Applying 121133-02 ( 2 of 351) ... skipped
    Applying 119254-85 ( 3 of 351) ... success
    etc.
    etc.

    Installation of patch set to alternate boot environment complete.

    Please remember to activate boot environment 10-CPU_2012_07 with luactivate(1M)
    before rebooting.

    Install log files written :
    /.alt.10-CPU_2012_07/var/sadm/install_data/s10s_rec_patchset_short_2012.08.08_12.02.59.log
    /.alt.10-CPU_2012_07/var/sadm/install_data/s10s_rec_patchset_verbose_2012.08.08_12.02.59.log



    bash-3.2# luactivate -n 10-CPU_2012_07
    A Live Upgrade Sync operation will be performed on startup of boot environment <10-CPU_2012_07>.
    etc.
    etc.
    Modifying boot archive service
    Activation of boot environment <10-CPU_2012_07> successful.


    bash-3.2# init 6


    And when the server comes back up:

    bash-3.2# lustatus
    Boot Environment Is Active Active Can Copy
    Name Complete Now On Reboot Delete Status
    -------------------------- -------- ------ --------- ------ ----------
    10 yes yes yes no -
    10-CPU_2012_07 yes no no yes -


    Why isn't the new BE now Active?

    Thanks - Julian.
  • 5. Re: lucreate and non-global zones
    JulianG Newbie
    Currently Being Moderated
    Righto' after many, many installs I've come to the conclusion that.

    1) Live Upgrade does NOT work with running non-global zones.

    2) With patch 121430-66 installed and shutdown non-global zones, lucreate + luactivate work although throw a few warning with lucreate.

    3) With patch 121430-81 installed and shutdown non-global zones, lucreate works without any warnings but luactivate appears to do nothing. It runs fine and says it has worked but the server does not boot from the ABE.

    Thanks - Julian.
  • 6. Re: lucreate and non-global zones
    885866 Newbie
    Currently Being Moderated
    Live upgrade is designed to work on a live production system. This includes running zones. So you should not have to shutdown your zones for the live upgrade process to work.

    Having said that, I've dealt with a large number of LU bugs just within the past year so it's obviously not working perfectly. Just over the past year they released patches from 121430-53 to 121430-81. If you have a support contract I'd recommend opening up a service request. I've done so in the past and they tracked the issue and notified me when a new patch was available.
  • 7. Re: lucreate and non-global zones
    cindys Pro
    Currently Being Moderated
    I have an S10 system where the luactivate is successful but it doesn't boot
    from the ABE and it has no zones so let me look into this problem further and
    get back to you.

    Can you boot this ABE by selecting it directly from the boot -L command?

    Thanks,

    Cindy
  • 8. Re: lucreate and non-global zones
    cindys Pro
    Currently Being Moderated
    My sense is that you can't select the ABE from the boot -L output (because I can't).

    This problem is reproducible (even without zones) so I filed CR 7189982.

    If you could send me your customer information, privately, this would help get
    more attention on this problem:

    cindy.swearingen@oracle.com

    Thanks,

    Cindy
  • 9. Re: lucreate and non-global zones
    JulianG Newbie
    Currently Being Moderated
    Hi Cindy - have sent you an email with all the details requested.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points