On 12/14/11 15:16, Mike Gerdts wrote:
On Wed 14 Dec 2011 at 05:10PM, Ian Collins wrote:
On 12/14/11 05:06 PM, Mike Gerdts wrote:
On Wed 14 Dec 2011 at 05:02PM, Ian Collins wrote:
On 12/14/11 04:54 PM, Ian Collins wrote:
On 12/14/11 04:48 PM, John D Groenveld wrote:
In message<[email protected]>, Ian Collins writes:
The zone originally came from a Solaris 10 update 9 system. How do I go
about patching it?
Can you v2v the zone back to an S10 system and then apply the latest
patches there?
I was hoping no one would suggest that!
That's probably harder than it appears, the zone's root zfs
filesystems have been migrated, so they can't be sent back to an
older OS version.
By this, do you mean that you ran /usr/lib/brand/shared/dsconvert?
Yes.
You should be able to get out of the situation you are in with:
1. Reboot to the Solaris 11 Express BE
root@global# beadm activate<s11express-be-name>
root@global# init 6
2. Partially revert the work done by dsconvert
In this example, the zone's zonepath is /zones/s10.
root@global# zfs list -r /zones/s10
rpool/zones/s10 3.18G 11.3G 51K /zones/s10
rpool/zones/s10/rpool 3.18G 11.3G 31K /rpool
rpool/zones/s10/rpool/ROOT 3.18G 11.3G 31K legacy
rpool/zones/s10/rpool/ROOT/zbe-0 3.18G 11.3G 3.18G /
rpool/zones/s10/rpool/export 62K 11.3G 31K /export
rpool/zones/s10/rpool/export/home 31K 11.3G 31K /export/home
The goal here is to move rpool/zones/s10/rpool/ROOT up one level. We
need to do a bit of a dance to get it there. Do not reboot or issue
'zfs mount -a' in the middle of this. If something goes wrong and a
reboot happens, it won't be disasterous - you will just need to
complete the procedure when the next boot stops with
svc:/filesystem/local problems.
root@global# zfs set mountpoint=legacy rpool/zones/s10/rpool/ROOT/zbe-0
root@global# zfs set zoned=off rpool/zones/s10/rpool
root@global# zfs rename rpool/zones/s10/rpool/ROOT/zbe-0 \
rpool/zones/s10/ROOT
root@global# zfs set zoned=on rpool/zones/s10/rpool
root@global# zfs set zoned=on rpool/zones/s10/ROOT
Now the zone's dataset layout should look like:
root@global# zfs list -r /zones/s10
NAME USED AVAIL REFER MOUNTPOINT
rpool/zones/s10 3.19G 11.3G 51K /zones/s10
rpool/zones/s10/ROOT 3.19G 11.3G 31K legacy
rpool/zones/s10/ROOT/zbe-0 3.19G 11.3G 3.19G legacy
rpool/zones/s10/rpool 93K 11.3G 31K /rpool
rpool/zones/s10/rpool/export 62K 11.3G 31K /export
rpool/zones/s10/rpool/export/home 31K 11.3G 31K /export/home
3. Boot the zone and patch
root@global# zoneadm -z s10 boot
root@global# zlogin s10
root@s10# ... (apply required patches)
make sure 119254/119255 rev 75 is installed at a minimum ( patch utils
patch SPARC/x86 ) before any other patches are applied, that is very
important.
Then apply u9 kernel patch 142909-17/142910-17 ( SPARC/x86 )
Enda
4. Shutdown the zone
root@s10# init 0
5. Revert the dataset layout to the way that dsconvert left it.
Again, try to avoid reboots during this step.
root@global# zfs set zoned=off rpool/zones/s10/ROOT
root@global# zfs set zoned=off rpool/zones/s10/rpool
root@global# zfs rename rpool/zones/s10/ROOT rpool/zones/s10/rpool/ROOT
root@global# zfs set zoned=on rpool/zones/s10/rpool
root@global# zfs inherit zoned rpool/zones/s10/rpool/ROOT
6. Reboot to Solaris 11
root@global# beadm activate<solaris11-be-name>
root@global# init 6
At this point, the zone should be bootable on Solaris 11.
I've filed:
7121298 dsconvert should prevent conversion if not at right S10 patch level
Sorry for the troubles you had.
_______________________________________________
zones-discuss mailing list
[email protected]