Inside zones…

Oggi avevo la necessità di effettuare dei test su più database MySQL contemporaneamente, inizialmente avevo pensato di utilizzare una installazione sul mio portatile e una sul server aziendale (FreeBSD), poi però avevo la necessità di aggiungere una terza istanza MySQL ed avevo le mani legate… solo in quel momento mi sono venute in mente le zone di OpenSolaris e mi sono deciso ad installare tre zone distinte sul mio portatile, in modo da spostare tutti i test in locale, così da poterli fare anche fuori ufficio!!
Bene, iniziamo creando la prima zona:

# zfs create rpool/export/zones
# zonecfg -z mysqlz001
mysqlz001: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:mysqlz001> create
zonecfg:mysqlz001> set zonepath=/export/zones/mysqlz001
zonecfg:mysqlz001> set ip-type=shared
zonecfg:mysqlz001> add net
zonecfg:mysqlz001:net> set physical=wpi0
zonecfg:mysqlz001:net> set address=192.168.0.33/24
zonecfg:mysqlz001:net> set defrouter=192.168.0.254
zonecfg:mysqlz001:net> end
zonecfg:mysqlz001> commit
zonecfg:mysqlz001> exit

controlliamo che sia tutto OK:

# zoneadm list -vc
ID NAME             STATUS     PATH                           BRAND    IP
0 global           running    /                              native   shared
- mysqlz001        configured /export/zones/mysqlz001        ipkg     shared

come noterete la nostra zona è configurata, ora dovrà essere installata e successivamente avviata:

# zoneadm -z mysqlz001 install
A ZFS file system has been created for this zone.
Authority: Using http://pkg.opensolaris.org:80/.
Image: Preparing at /export/zones/mysqlz001/root ... done.
Installing: (output follows)
DOWNLOAD                                    PKGS       FILES     XFER (MB)
Completed                                  51/51   7873/7873 209.19/209.19

PHASE                                        ACTIONS
Install Phase                            12962/12962
PHASE                                          ITEMS
Reading Existing Index                           8/8
Indexing Packages                              51/51

Note: Man pages can be obtained by installing SUNWman
Postinstall: Copying SMF seed repository ... done.
Postinstall: Working around http://defect.opensolaris.org/bz/show_bug.cgi?id=681
Postinstall: Working around http://defect.opensolaris.org/bz/show_bug.cgi?id=741
Done: Installation completed in 2057.069 seconds.

Next Steps: Boot the zone, then log into the zone console
 (zlogin -C) to complete the configuration process
# zoneadm -z mysqlz001 boot

Come ci viene suggerito dopo l’installazione, occorrerà loggarsi alla zona e completare la fase di configurazione, infatti al primo login apparirà un semplice wizard che richiederà tutta una serie di informazioni riguardo al nuovo “host” appena creato (timezone, DNS, password di root ecc…), comunque ogni volta che vogliamo loggarci alla console daremo il comando:

# zlogin -C mysqlz001

oppure, visto che il servizio sshd è attivo di default, possiamo creare un utente ed abilitarlo al login via ssh…
Ora non resta altro da fare che installare mysql nella nostra zona, configurarlo a dovere… e cominciare ad usarlo! Per l’installazione useremo come al solito:

# pkg install SUNWmysql5

Ora basta ripetere le operazioni viste per tutte le zone che vogliamo creare, avendo cura di cambiare il nome!!
Ultima nota, nel mio esempio ho deliberatamente scelto di avviare manualmente le zone quando ne ho bisogno (giusto per risparmiare risorse), comunque se volete che al momento del boot si attivi anche la zona basta settare la relativa proprietà con:

# zonecfg -z mysqlz001
zonecfg:mysqlz001> set autoboot=true
zonecfg:mysqlz001> commit
zonecfg:mysqlz001> exit

E’ possibile aggiornare anche aggiornare le zone così come avviene per il sistema base, come spiegato in questo nuovo post: Aggiornare le zone.

3 comments to Inside zones…

  • maurizio cavalletti

    l’ignoranza: quindi le zone sarebbero una sorta di virtual machine?

  • sempre maurizio

    era: scusa l’ignoranza :)

  • Luca Morettoni

    Si, possiamo “intenderle” così, sono virtualizzazioni (partizioni) del sistema stesso; ovviamente puoi limitare le risorse utilizzate da ogni zona (cpu, processi, memoria, disco ecc…), inoltre esistono anche le “branded zone”, che ti permettono di installare su Solaris sistemi differenti da quello di base, come versioni precedenti di Solaris oppure linux, magari può essere un argomento per i prossimi post…

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>