jueves, 14 de junio de 2012

Clonando Zonas en Solaris 10


Listamos las zonas, vemos sólo que aparece la global:

-bash-3.00# zoneadm list
global


Crearemos dos zonas, primero empezamos con "zona1" editando un archivo de configuración. Más adelante crearemos la zona2 clonando la zona1.

-bash-3.00# vi /root/config_de_zona1
create -b
set zonepath=/export/home/zona1
set autoboot=true
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.0.227
set physical=rtls0
end


Creamos la "zona1" desde el archivo creado previamente:

-bash-3.00# zonecfg -z zona1 -f /root/config_de_zona1


Vemos que el estado pasa a configurado:

-bash-3.00# zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared
   - zona1            configured /export/home/zona1             native   shared


Luego de configurarla debemos instalarla con el siguiente comando:

-bash-3.00# zoneadm -z zona1 install
Preparing to install zone .
Creating list of files to copy from the global zone.
Copying <14418> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <1214> packages on the zone.
Initialized <1214> packages on zone.
Zone is initialized.
La instalación de estos paquetes ha generado errores: SUNWpostgr-82-server-data-root SUNWpostgr-82-server SUNWpostgr-82-contrib SUNWpostgr-82-devel
SUNWpostgr-83-server-data-root>
El archivo contiene un registro de la instalación por zonas.


Ahora ya está instalada la zona1:

-bash-3.00# zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared
   - zona1            installed  /export/home/zona1             native   shared


Iniciamos la zona recién creada:

-bash-3.00# zoneadm -z zona1 boot


Vemos que está en ejecución:

-bash-3.00# zoneadm list
global
zona1


Nos logueamos a la zona para crear un archivo cualquiera para clonarla y ver que existe dicho archivo en la zona2:

-bash-3.00# zlogin zona1
[Conectado a la zona 'zona1' pts/3]
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
#
# echo "Archivo creado en zona1" > /file.txt
# cat /file.txt
Archivo creado en zona1
# exit
[Conexión con zona 'zona1' pts/3 cerrada]
-bash-3.00#


Bajamos la zona1 para poder clonarla:

-bash-3.00# zoneadm -z zona1 halt
-bash-3.00# zoneadm list
global


Exportamos la config de zona1 a un archivo llamado config_de_zona1:

-bash-3.00# zonecfg -z zona1 export -f /root/config_de_zona1


Verificamos que fue exportado al archivo:

-bash-3.00# cat /root/config_de_zona1
create -b
set zonepath=/export/home/zona1
set autoboot=true
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.0.228
set physical=rtls0
end


Copiamos el archivo config_de_zona1 a config_de_zona2 y cambiamos los parámetros zonepath y la ip:

-bash-3.00# cp -pf /root/config_de_zona1 /root/config_de_zona2
-bash-3.00# vi /root/config_de_zona2
create -b
set zonepath=/export/home/zona2
set autoboot=true
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.0.229
set physical=rtls0
end


Creamos la "zona2" con el archivo que exportamos y modificamos:

-bash-3.00# zonecfg -z zona2 -f /root/config_de_zona2


Clonamos "zona2" utilizando la "zona1" existente:

-bash-3.00# zoneadm -z zona2 clone zona1
Copiando /export/home/zona1...
grep: can't open /a/etc/dumpadm.conf


Vemos que ambas ahora figuran instaladas:

-bash-3.00# zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared
   - zona1            installed  /export/home/zona1             native   shared
   - zona2            installed  /export/home/zona2             native   shared


Iniciamos ambas zonas:

-bash-3.00# zoneadm -z zona1 boot
-bash-3.00# zoneadm -z zona2 boot


Vemos que ambas están ejecutando:

-bash-3.00# zoneadm list
global
zona1
zona2


Sólo nos logueamos en la zona2 para verificar si existe el archivo creado en la zona1 y que tiene el mismo contenido:

-bash-3.00# zlogin zona2
[Conectado a la zona 'zona2' pts/3]
Last login: Fri Jun 15 18:37:22 on pts/3
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
# ls -l /file.txt
-rw-r--r--   1 root     root          24 Jun 15 18:38 /file.txt
# cat /file.txt
Archivo creado en zona1
#

No hay comentarios: