Learning Solaris 10 Check out the Zones F.A.Q. !

Google


CentOS 3.9 running in an lx branded zone  5 e

Posted on March 20th, 2009. About s10 stories, Zones, Installation, OpenSolaris.

Recently tried the Linux Branded zone within OpenSolaris, part of the BrandZ project, added to Solaris 8/07. It is said to be working with only a defined number of Linux distributions, namely CentOS 3.x and Red Hat Enterprise Linux 3.x. So I went to the CentOS site and downloaded the DVD iso of CentOS 3.9 (i386).

Then created my zone :


  • root@kiwi:~# zonecfg -z lx1
    lx1: No such zone configured
    Use ‘create’ to begin configuring a new zone.
    zonecfg:lx1> create -t SUNWlx
    zonecfg:lx1> add net
    zonecfg:lx1:net> set address=172.22.1.1/16
    zonecfg:lx1:net> set physical=rge0
    zonecfg:lx1:net> end
    zonecfg:lx1> set zonepath=/zones/lx1
    zonecfg:lx1> exit

    root@kiwi:~# zonecfg -z lx1 info
    zonename: lx1
    zonepath: /zones/lx1
    brand: lx
    autoboot: false
    bootargs:
    pool:
    limitpriv:
    scheduling-class:
    ip-type: shared
    net:
    address: 172.22.1.1/16
    physical: rge0
    defrouter not specified

    root@kiwi:~# ls -lh /zones/CentOS-3.9-i386-binDVD.iso
    -rw-r–r– 1 nieuwenj staff 1.8G 2009-03-18 15:10 /zones/CentOS-3.9-i386-binDVD.iso

Next I have to install the zone by pointing the zoneadm command to the directory that contains the ISO file.


  • root@kiwi:/# zoneadm -z lx1 install -d /zones
    A ZFS file system has been created for this zone.

    Checking for valid Linux distribution ISO images...
    /zones/CentOS-3.9-i386-binDVD.iso

    No supported Linux distributions found.

    Installation of CentOS to zone
    'lx1' FAILED Thu Mar 19 14:24:26 CET 2009.

    Cleaning up after failed install...

    Installation of zone 'lx1' FAILED.

    See the log file:
    '/zones/lx1/root/var/log/lx1.install.12491.log'
    for details.

Doesn’t work, my ISO file is seen but it seems that it is not a supported version. Some more looks in the documentation shows that only 3.5 –> 3.8 are supported. Damn’, took me hours to download the 3.9 version. Let’s try some more.
Zoneadm probably calls some brand-specific check script so, using the Dtrace Toolkit (truss -t open would do…)


  • root@kiwi:/opt/DTT# ./opensnoop -n zoneadm
    UID PID COMM FD PATH
    0 11904 zoneadm -1 /var/ld/ld.config
    0 11904 zoneadm 3 /lib/libc.so.1
    0 11904 zoneadm 3 /usr/lib/locale/en_US.UTF-8/en_US.UTF-8.so.3
    0 11904 zoneadm 3 /usr/lib/locale/common/methods_unicode.so.3
    0 11904 zoneadm 3 /lib/libzfs.so.1
    0 11904 zoneadm -1 /usr/lib/locale/en_US.UTF-8/LC_MESSAGES/SUNW_OST_SGS.mo
    0 11904 zoneadm -1 /usr/lib/locale/en_US.UTF-8/LC_MESSAGES/SUNW_OST_OSLIB.mo
    0 11904 zoneadm 3 /usr/lib//libshare.so.1
    0 11904 zoneadm 3 /lib/libxml2.so.2
    0 11904 zoneadm 3 /lib/libpthread.so.1
    0 11904 zoneadm 3 /lib/libz.so.1
    0 11904 zoneadm 3 /lib/libm.so.2
    0 11904 zoneadm 3 /lib/libsocket.so.1
    0 11904 zoneadm 3 /lib/libnsl.so.1
    0 11904 zoneadm 3 /dev/zfs
    0 11904 zoneadm 4 /etc/mnttab
    0 11904 zoneadm 5 /etc/dfs/sharetab
    0 11904 zoneadm 6 /usr/lib/libzonecfg.so.1
    0 11904 zoneadm 6 /etc/zones/lx1.xml
    0 11904 zoneadm 7 /usr/share/lib/xml/dtd/zonecfg.dtd.1
    0 11904 zoneadm 6 /usr/lib/brand/lx/config.xml
    (…)

The first “lx-related” file is ‘/usr/lib/brand/lx/config.xml’


  • root@kiwi:/usr/lib/brand/lx# cat config.xml
    < ?xml version="1.0"?>
    (…)

    --install-- /usr/lib/brand/lx/lx_install --/install--

OK, the script is lx_install. After some reading, I see that the script will return more information if the variable verbose_mode is defined. So I change the code at the right function :

validate_iso_distros()
{
export verbose_mode=”t”
typeset cd

And we try again


  • root@kiwi:/# zoneadm -z lx1 uninstall
    Are you sure you want to uninstall zone lx1 (y/[n])? y
    The ZFS file system for this zone has been destroyed.
    root@kiwi:/#
    root@kiwi:/# zoneadm -z lx1 install -d /zones
    A ZFS file system has been created for this zone.

    Checking for valid Linux distribution ISO images...
    /zones/CentOS-3.9-i386-binDVD.iso

    Checking ISOs against distro file "/usr/lib/brand/lx/distros/centos35.distro"...
    ISO "/zones/CentOS-3.9-i386-binDVD.iso":

    Checking ISOs against distro file "/usr/lib/brand/lx/distros/centos36.distro"...
    ISO "/zones/CentOS-3.9-i386-binDVD.iso":

    Checking ISOs against distro file "/usr/lib/brand/lx/distros/centos37.distro"...
    ISO "/zones/CentOS-3.9-i386-binDVD.iso":

    Checking ISOs against distro file "/usr/lib/brand/lx/distros/centos38.distro"...
    ISO "/zones/CentOS-3.9-i386-binDVD.iso":

    Checking ISOs against distro file "/usr/lib/brand/lx/distros/rhel35.distro"...
    ISO "/zones/CentOS-3.9-i386-binDVD.iso":

    Checking ISOs against distro file "/usr/lib/brand/lx/distros/rhel36.distro"...
    ISO "/zones/CentOS-3.9-i386-binDVD.iso":

    Checking ISOs against distro file "/usr/lib/brand/lx/distros/rhel37.distro"...
    ISO "/zones/CentOS-3.9-i386-binDVD.iso":

    Checking ISOs against distro file "/usr/lib/brand/lx/distros/rhel38.distro"...
    ISO "/zones/CentOS-3.9-i386-binDVD.iso":

    No supported Linux distributions found.

    Installation of CentOS to zone
    'lx1' FAILED Thu Mar 19 14:35:06 CET 2009.


    Cleaning up after failed install...

    Installation of zone 'lx1' FAILED.

    See the log file:
    '/zones/lx1/root/var/log/lx1.install.12836.log'
    for details.

OK, it seems that I need a distro file for CentOS 3.9. Let’s copy the one for 3.8 and try to modify the relevant fields :


  • #
    # Installation information for the CentOS 3.8 distribution disc set:
    #
    # + Serial number (as found in the disc set's .discinfo file)
    # + Version Name
    # + Order CDs holding the distribution must be installed in
    # + MB of disk space required to hold a full install of the distribution
    #
    distro_serial=1155307611.42
    distro_version="3.8"

So I need to find the serial number of my 3.9 distro.


  • root@kiwi:~# lofiadm -a /zones/CentOS-3.9-i386-binDVD.iso
    /dev/lofi/1
    root@kiwi:~# mount -F hsfs /dev/lofi/1 /linux
    root@kiwi:~#
    root@kiwi:~# cd /linux
    root@kiwi:/linux# ls
    ./ ../ .discinfo
    root@kiwi:/linux# cat .discinfo
    1183469235.986110
    final
    i386
    1,2,3
    RedHat/base
    RedHat/RPMS
    RedHat/pixmaps

I just copy the serial number just found in the centos39.distro newly created file (with updated comments from 3.8 to 3.9)


  • root@kiwi:/usr/lib/brand/lx/distros/# cat centos39.distro
    (…)
    #
    # Installation information for the CentOS 3.9 distribution disc set:
    #
    # + Serial number (as found in the disc set’s .discinfo file)
    # + Version Name
    # + Order CDs holding the distribution must be installed in
    # + MB of disk space required to hold a full install of the distribution
    #
    distro_serial=1183469235.986110
    distro_version=”3.9″
    set -A distro_cdorder 1 2 3
    (…)

And let’s try again :


  • root@kiwi:/# zoneadm -z lx1 uninstall
    Are you sure you want to uninstall zone lx1 (y/[n])? y
    The ZFS file system for this zone has been destroyed.
    root@kiwi:/#
    root@kiwi:/# zoneadm -z lx1 install -d /zones
    A ZFS file system has been created for this zone.


    Checking for valid Linux distribution ISO images...
    (...)
    Checking ISOs against distro file "/usr/lib/brand/lx/distros/centos39.distro"...
    ISO "/zones/CentOS-3.9-i386-binDVD.iso":
    Serial #1183469235.986110
    Release Name "CentOS"
    DVD, representing CDs #1,2,3
    (...)
    Distro "CentOS" (DVD) found.
    Installing distribution 'CentOS (DVD)'...
    Installing cluster 'desktop'
    (...)
    Installing miniroot for zone 'lx1'.
    (...)
    Found DVD (representing CDs 1,2,3), Serial #1183469235.986110
    Release Name "CentOS"
    (...)
    seamonkey-chat ##################################################
    (...)

Here we go !
Wait ! No, an error after successful installation of hundreds of packages :


  • Install of zone 'lx1' from
    FAILED.

    Installation of CentOS to zone
    'lx1' FAILED Thu Mar 19 20:55:48 CET 2009.

    Looking in the logfile :
    ERROR: Unable to locate some needed packages:
    gaim expectk tcl-html tcllib

    Seems I don’t really need these packages anyway…


    root@kiwi:/usr/lib/brand/lx/distros# grep gaim *
    rhel_centos_common: gaim \
    root@kiwi:/usr/lib/brand/lx/distros# grep expectk *
    centos38.distro: expectk \
    centos39.distro: expectk \
    root@kiwi:/usr/lib/brand/lx/distros# grep tcl-html *
    centos38.distro: tcl-html \
    centos39.distro: tcl-html \
    root@kiwi:/usr/lib/brand/lx/distros# grep tcllib *
    centos38.distro: tcllib”
    centos39.distro: tcllib”

So let’s update rhel_centos_common and centos39.distro and remove all the lines that refer to packages that seem not to be there in CentOS 3.9…
And try another install afterwards…


  • Completing installation; this may take a few minutes.
    Setting up the initial lx brand environment.
    System configuration modifications complete.
    Installation of CentOS to zone
    'lx1' completed Thu Mar 19 21:29:31 CET 2009.

    Installation of zone 'lx1' completed successfully.

Yope ! Finally….


  • root@kiwi:~# zoneadm -z lx1 boot
    root@kiwi:~# zoneadm list -cv
    ID NAME STATUS PATH BRAND IP
    0 global running / native shared
    3 lx1 running /zones/lx1 lx shared
    (…)
    root@kiwi:~# zlogin lx1
    [Connected to zone ‘lx1′ pts/6]
    (…)
    -bash-2.05b# top
    08:39:41 up 5 min, 1 user, load average: 1.23, 0.79, 0.41
    12 processes: 10 sleeping, 2 running, 0 zombie, 0 stopped
    CPU states: cpu user nice system irq softirq iowait idle


    -bash-2.05b# uname -a
    Linux lx1 2.4.21 BrandZ fake linux i686 i686 i386 GNU/Linux

T: , , ,

Security Advantages of the Solaris Zones Software  69 e

Posted on January 15th, 2009. About s10 stories, Zones, Docs.

Another blueprint dedicated to only the security features of Solaris zones
Go to the document

Understanding the Security Capabilities of Solaris Zones Software  0 e

Posted on January 8th, 2009. About s10 stories, Zones, Security, Docs.

Another good recap of the zones from a security point of view

The whole Sun virtualization story  77 e

Posted on April 23rd, 2008. About s10 stories, Zones.

told by a Sun guy with some support slides.

Go to the presentation

How to Upgrade the Solaris 10 OS With Non-global Zones Using Solaris Live Upgrade  74 e

Posted on November 29th, 2007. About s10 stories, Zones, Docs.

From Sun docs, everything one should know to upgrade a system with zones to Solaris 10 08/2007

Go to the document

Solaris 8 Migration Assistant 1.0  0 e

Posted on November 6th, 2007. About s10 stories, Zones.

Update 4 of Solaris 10 gives us the second type of branded zone : one that allows you to run your old applications using Solaris 8 on a brand new machine running S10, either because you want to have them run on better/newer machines, either because of support reasons. ( or because you want to DTrace it ;-) . Seems that lots of customers are still quite happy with Solaris 8 and legacy apps.

This feature comes with an extra download but it doesn’t come for free, although you can get an evaluation version here.
There is also a FAQ available on the product.

Installing Sun Java System Application Server 9.1 in Solaris Zones  0 e

Posted on October 24th, 2007. About s10 stories, Zones, JES, App. Server.

A developers.sun.com article that describes the possible conflicts between the Solaris 10 preinstalled bundled version of Application Server (8.2) and the newest App. server (9.1 aka Glassfish v2), whether installed in the global zone, a sparse zone or a whole-root zone.

Go to the article

User Scenarios for Sun Java System Web Server 7, Solaris Zones, and a DMZ  0 e

Posted on January 19th, 2007. About s10 stories, Zones, Web Server.

Go to the BigAdmin article

Application and Database Server Consolidation on the Sun Fire X4600 Server using Solaris Containers  0 e

Posted on November 3rd, 2006. About s10 stories, Zones, Docs.

Another blueprint document from Sun that insists on Virtualization capabilities. The originality here lies on the ‘Application server - X4600′ area.

View the document

The Sun BluePrints Guide to Solaris Containers  0 e

Posted on October 31st, 2006. About s10 stories, Zones, Docs.

Updated collection of white papers & blueprints now assembled in one big document (226 pages). Great to have everything in one piece. Not only zones but also resource management & the likes…

View the document

T: , ,


Learning Solaris 10 is powered by WordPress 1.5.2 and delivered to you in 0.394 seconds.
Design by Matthew & modified by JC.