Una zona es un entorno virtual del sistema operativo creado en una única instancia del sistema operativo Solaris.
La creación de zonas en solaris viene por defecto como "sparse", la cual tiene los directorios /usr, /sbin, /lib y /platform en forma de solo lectura. Pero en ciertas ocaciones, necesitamos que la zona tenga esos directorios como propios y no compartidos desde la zona global.
1.- El primer paso es crear el ZFS filesystem para la zona.
[root@intalio]:/ > zfs create zfs1/bdvbmc [root@intalio]:/ > zfs list NAME USED AVAIL REFER MOUNTPOINT zfs1 34.9G 99.0G 29.5K /zfs1 zfs1/bdvbmc 80.5K 99.0G 80.5K /zfs1/bdvbmc zfs1/intaliod 14.1G 99.0G 14.1G /zfs1/intaliod zfs1/intaliop 10.2G 99.0G 10.2G /zfs1/intaliop zfs1/intalioq 9.48G 99.0G 9.48G /zfs1/intalioq zfs1/zones 1.13G 99.0G 1.13G /export/zones
2.- Para poder instalar la zona es necesario darle la siguiente perisología al filesystem.
[root@intalio]:/ > chmod 700 /zfs1/bdvbmc
3.- Validando las zonas que tenemos actualmente.
[root@intalio]:/ > zoneadm list -vi ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 intaliod running /zfs1/intaliod native shared 2 wz-template running /export/zones/wz-template native shared 3 intalioq running /zfs1/intalioq native excl 4 intaliop running /zfs1/intaliop native shared
4.- Procedemos a configurar la zona con el comando zonecfg.
[root@intalio]:/ > zonecfg -z bdvbmc bdvbmc: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:bdvbmc> create zonecfg:bdvbmc> set zonepath=/zfs1/bdvbmc zonecfg:bdvbmc> set autoboot=true zonecfg:bdvbmc> add net zonecfg:bdvbmc:net> set physical=aggr1 zonecfg:bdvbmc:net> set address=180.183.194.69 zonecfg:bdvbmc:net> end zonecfg:bdvbmc> remove inherit-pkg-dir dir=/usr zonecfg:bdvbmc> remove inherit-pkg-dir dir=/sbin zonecfg:bdvbmc> remove inherit-pkg-dir dir=/lib zonecfg:bdvbmc> remove inherit-pkg-dir dir=/platform zonecfg:bdvbmc> info zonename: bdvbmc zonepath: /zfs1/bdvbmc brand: native autoboot: true bootargs: pool: limitpriv: scheduling-class: ip-type: shared net: address: 180.183.194.69 physical: aggr1 defrouter not specified zonecfg:bdvbmc> verify zonecfg:bdvbmc> commit zonecfg:bdvbmc> exit
la diferencia entre el "sparse zone" y el "whole root" son los siguientes parámetros.
zonecfg:bdvbmc> remove inherit-pkg-dir dir=/usr
zonecfg:bdvbmc> remove inherit-pkg-dir dir=/sbin
zonecfg:bdvbmc> remove inherit-pkg-dir dir=/lib
zonecfg:bdvbmc> remove inherit-pkg-dir dir=/platform
zonecfg:bdvbmc> remove inherit-pkg-dir dir=/usr
zonecfg:bdvbmc> remove inherit-pkg-dir dir=/sbin
zonecfg:bdvbmc> remove inherit-pkg-dir dir=/lib
zonecfg:bdvbmc> remove inherit-pkg-dir dir=/platform
5.- Instalamos La zona.
[root@intalio]:/ > zoneadm -z bdvbmc install Preparing to install zone. Creating list of files to copy from the global zone. Copying <150903> files to the zone. Initializing zone product registry. Determining zone package initialization order. Preparing to initialize <1283> packages on the zone. Initialized <1283> packages on zone. Zone is initialized. Installation of <4> packages was skipped. The file contains a log of the zone installation.
6.- Arrancamos la zona.
[root@intalio]:/ > zoneadm -z bdvbmc boot
7.- Entramos a la consola para terminar el proceso de instalación
[root@intalio]:/ > zlogin -C bdvbmc