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
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