Zones

By | 2 juli 2012

Algemeen

Solaris kent een eigen virtualisatie, zones genaamd. Een Solaris server heeft altijd een globale zone. Vanuit die globale zone kunnen non-global zones (virtuele servers) worden aangemaakt. Voor het managen van zones zijn twee tools essentieel: zoneadm en zonecfg. In deze uitleg wordt op een eenvoudige manier aangegeven hoe praktisch een zone kan worden aangemaakt op basis van een bestaande zone. Als die er niet is, kan de voorbeelduitvoer dienen als basis voor het aanmaken van de eerste non-global zone. De zones zijn op zich staande servers die maar een ding met elkaar delen, de kernel van de global-zone.

Tijdens de installatie van een zones kennen we de volgende fases waarin een zone zich kan bevinden:

  • configured: de configuratie is afgerond en uitgevoerd.
  • incomplete: tussentijds stadium tijdens installatie of de-installatie.
  • installed: alle packages zijn geinstalleerd. De post-configuratie rest nog.
  • ready: de zone is klaar met de gehele installatie en kan geboot worden (running)
  • running: de zone is up en running na een sucesvolle boot.
  • shutting down: de zone is bezig met een shutdown procces, wordt dus gevolgd door down.
  • down: de zone is klaar met het shtudown proces en is down

Klonen van een bestaande zone

Het aanmaken van een nieuwe zone op basis van een (goed geconfigureerde) bestaande zone is erg eenvoudig. Vanuit de global zone kan met zoneadm list -cv een overzicht gekregen worden van de reeds bestaande zones en hun status.

Met zonecfg -z {zone_naam} export wordt op het scherm de bestaande configuratie van een zone getoond. Door dit naar een bestand weg te schrijven dient dit als basis voor de aan te maken zone. Voorbeeld:

      zonecfg -z {naam_bestaande_zone} export > config.txt

Voorbeeld van een uitvoerbestand:

     create -b
     set zonepath=/zones/webserver4
     set autoboot=false
     set ip-type=shared
     add inherit-pkg-dir
     set dir=/lib
     end
     add inherit-pkg-dir
     set dir=/platform
     end
     add inherit-pkg-dir
     set dir=/sbin
     end
     add inherit-pkg-dir
     set dir=/usr
     end
     add net
     set address=192.168.244.6/27
     set physical=hme0
     set defrouter=192.168.244.1
     end

Uiteraard dienen het zonepath en de netwerkgegevens voor de aan te maken zone aangepast te worden. Als alle wijzigingen gedaan zijn kan met zonecfg -z {nieuwe_zone_naam} -f uitvoer.txt de nieuwe zone worden geinitaliseerd.

installeren zone

Start de installatie van de nieuwe zone met: zonecfg -z {nieuwe_zone_naam} install

opstarten van een zone

Boot de nieuwe zone met: zonecfg -z {nieuwe_zone_naam} boot

post configuratie

Log op de nieuwe zone in met zlogin -C {nieuwe_zone_naam} om de post-configure te starten. Er worden een aantal standaard vragen gesteld zoals in het onderstaande voorbeeld:

    Language selection: 0 English

    Type terminal: 3 DEC VT100

    Confirm network configuration

    Configure Kerberos Secuirty: No

    NFSv4 Domain Configuration: [X] Use the NFSv4 domain derived by the system

    Time Zone: [X] Europe

    Country or Region: [X] Netherlands

Als alle vragen doorlopen zijn log uit met ~.

Hierna kan met ”zlogin {nieuwe_zone_naam} (zonder de -C toevoeging dus) als root worden ingelogd en bijv. users worden aangemaakt of de nieuwe zone verder worden ingericht.