Linux Security

Linux Security, Hacking, Databases, seguridad, Tutoriales, LDAP

Posts Tagged ‘Introduccion a Zonas Solaris’

Introduccion a Solaris Zona, Tutorial de Zonas Solaris

Posted by mguazzardo en noviembre 5, 2008

Introduccion a las Zonas:

La tecnologia de Zonas (Incluida en Solaris a partir de Solaris 10), se propone a soportar diferentes Sistemas operativos.

Existen tres tipos de “Sistemas de Virtualizacion”.
1Ero) Dominios y Particiones: Estan basados en Soluciones Por Hardware. Estos incluyen Sun Fire Domains, y IBM Lpars (En el caso de IBM LPAR, un server tipo Regatta es manejado por una controladora HMC, que asignara los recursos a nivel dispositivos. Estos pueden ser, Fiber channels, Discos SSCi, Memoria, Placa de Red, etc).

2Do) Virtual Machines: En estos casos, un software al estilo Vmware, da todo el soporte a virtualizacion. Existe una gran diferencia entre Vmware y Xen, pero esto excede el alcance de este documento.

3ro) Particiones del Sistema operativo: Es una solucion a nivel sistema operativo, esto incluye, FreeBSD Jails, y Linux Virtual Servers. Tambien la tecnologia de Solaris Zonas esta incluida dentro de esta caracteristica.

Comenzando.

Para comenzar, lo primero que hariamos, es ver si tenemos en el equipo alguna zona corriendo, para ello hacemos

bash-3.00# zoneadm list -vc
ID NAME STATUS PATH BRAND IP
0 global running / native shared
1 mizona running /export/mizona native shared

Con esto, podremos ver que tenemos nuestra zona global, y una zona tambien corriendo, llamado “mizona”.

Recordemos, que para las zonas, en solaris, tenemos fundamentalmente dos comandos, ellos son, zoneadm, y zonecfg.

Si bien esto sera un ejemplo introductorio, veremos rapidamente, como generar zonas en Solaris.

Lo primero que queremos hacer, es borrar la zona preexistente, para eso, nos fijamos que la zona esta en estado “running”. Lo primero que se debe hacer, cuando una zona esta en estado running, es entonces detenerla. Para eso, contamos con el comando zoneadm.

-bash-3.00# zoneadm -z mizona halt

y luego, vemos el estado de la zona.

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

Ahora vemos que la zona no esta en estado running, sino en installed. Finalmente, ahora podremos tranquilamente borrar la zona.

-bash-3.00# zonecfg -z mizona delete
Desea suprimir la zona mizona (y/[n])? y
La zona mizona no se encuentra en estado configured; delete no permitido. Use -F para forzar delete.
-bash-3.00# zonecfg -z mizona delete -F

Como no nos dejo borrar la zona de primera intencion, lo que haremos, es borrarla forzando la salida con -F.

Ahora, veremos finalmente el status de las zonas, con

-bash-3.00# zoneadm list -vc
ID NAME STATUS PATH BRAND IP
0 global

Ahora, vamos nuevamente a generar la zona, para eso, lo que debemos hacer, es correr el comando zonecfg -z mizona

-bash-3.00# zonecfg -z mizona
mizona: No se ha configurado esa zona
Use ‘create’ para comenzar a configurar una zona nueva.
Al no encontrar la zona, nos dice que la creemos

zonecfg:mizona> create
zonecfg:mizona> set zonepath=/export/mizona
zonecfg:mizona> set autoboot=true
zonecfg:mizona> add net
zonecfg:mizona:net> set address=192.168.254.210
zonecfg:mizona:net> set physical=pcn0
zonecfg:mizona:net> end
zonecfg:mizona> verify
zonecfg:mizona> exit

Bueno, como vemos aca, lo primero que hacemos es setear el zonepath, que es donde se setea la zona, y donde se copiaran los archivos que no se compartirar.
Luego, setearemos el autoboot=true, para cuando el sistema se levante, automaticamente levante la zona. Le asignamos una direccion de red, en este caso como estoy usando el vmware, le asignaremos la ip 192.168.254.210. Cuando dice physical, es referente a la placa de red, como seria por ejemplo eth0 en Linux. Para eso, corremos el comando ifconfig -a, y luego, nos fijamos donde esta corriendo la placa de red.

Por ejemplo:

-bash-3.00# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
pcn0: flags=1004843 mtu 1500 index 2
inet 192.168.254.132 netmask ffffff00 broadcast 192.168.254.255
ether 0:c:29:1c:da:9f
ahi vemos que es pcn0. Una vez que terminanos la definicion de la parte de zona, ponemos end, luego verify para ver que todos los parametros esten ok, y luego, ponemos exit.

Ahora, debemos corroborar el estado de la zona.

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

NOTA: Se puede asignar una placa de red, para una zona especifica, o sea, que sea dedicada directa para esta placa de red. Solo para esto, se podria utilizar una placa de red, con la salida a internet.

Al ver esta salida, podremos ver que vamos por el buen camino, que ya tenemos la zona configurada.

Los posibles estado de una zona son:

z-Bottom of Form;z-Top of Form;HTML Markup;Comment;configured – our zone is configured, but it’s yet to have its initial boot

incomplete – zoneadm command sets a zone’s state to this value while installing and uninstalling a zone. When the operation is completed, zone’s status is changed.

installed – zone is fully configured, OS packages have been installed. It’s a ready-to-use zone, all you have to do is to boot it. The zone has no virtual platform associated yet.

ready – the zone is ready. It already has a virtual platform established, the kernel has created a zsched process, all the network interfaces are plumbed, devices are configured and file systems are mounted. No processes have been started yet, but since the zone is ready it already has a unique ID assigned to it. We normally don’t see a zone in this state, and it always moves one to the next one – running.

running – the zone is up and running. You can connect to the zone. It’s a fully working environment now

NOTA:

Ahora, lo que deberiamos hacer, es correr el comando para instalar la zona. Como pusimos en el zonepath=/export/mizona, debemos generar ese directorio.

mkdir /export/mizona

Pero veremos que al correr el comando de instalar la zona, nos devuelve el siguiente error.

bash-3.00# zoneadm -z mizona install
/export/mizona no debe ser legible por grupo.
/export/mizona no debe ser ejecutable por grupo.
/export/mizona no debe ser legible por todos.
/export/mizona no debe ser ejecutable por todos.
no se ha podido verificar rutazona /export/mizona debido a los errores anteriores.
zoneadm: la zona mizona no se ha podido verificar

Lo que pasa, que cuando se genera la zona, hay que pasarle los siguientes permisos.

chmod -R 700 /export/mizona

y luego, si podremos ejecutar el comando para la Instalacion de zonas.

bash-3.00# zoneadm -z mizona install

bash-3.00# zoneadm -z mizona install
Preparing to install zone .
Creating list of files to copy from the global zone.
Copying files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize packages on the zone.
Initializing package of : percent complete: 20%

Esto deberia seguir hasta 100 %

cuando termina, queda asi

bash-3.00# zoneadm -z mizona install
Preparing to install zone .
Creating list of files to copy from the global zone.
Copying files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize packages on the zone.
Initialized packages on zone.
Zone is initialized.

Una vez que la zona esta instalada, lo que nos queda hacer, es….

bash-3.00#zoneadm -z mizona boot

bash-3.00#zlogin mizona

Si bien existen mas caracteristicas de las zonas, estas seran explicadas mas adelante, en un segundo articulo.

Saludos
Marcelo

Posted in Solaris | Etiquetado: , , , , | 1 Comment »