Las zonas son una tecnología de contenedor de Solaris que pone a disposición entornos diferentes en una misma máquina y aísla de forma lógica una aplicación de otra. Las zonas le permiten crear entornos de sistema operativo virtuales dentro de una instancia del sistema operativo Solaris. Ejecutar aplicaciones en zonas diferentes le permite ejecutar diferentes instancias o diferentes versiones de una misma aplicación en una misma máquina, a la vez que permite una administración centralizada y el compartir recursos de forma eficiente.
En esta sección encontrará una descripción breve de las zonas y su uso en combinación con Message Queue 3.7 UR1.
Un entorno de zona está compuesto por una zona global y una o más zonas no globales. Cuando se instala Solaris 10 por primera vez en un sistema sólo hay una zona global. Un administrador puede crear otras zonas no globales como Secundarios de una zona global. Cada zona aparece como un sistema independiente ejecutado Solaris. Cada zona tiene su propia dirección IP, su propia configuración de sistema, sus propias instancias de aplicaciones en ejecución y su propia área en el sistema de archivos.
La zona global contiene recursos que pueden ser compartidos con zonas no globales; esto permite la centralización de algunas funciones administrativas. Por ejemplo, los paquetes instalados en la zona global están disponibles (están propagados) para todas las zonas no globales. Esto le permite centralizar la administración del ciclo de vida, como la instalación, la actualización y la desinstalación. A la misma vez, el aislamiento proporcionado por las zonas no globales tiene como resultado una seguridad mejorada, a la vez que permite tener instancias de una misma aplicación con configuraciones diferentes en una misma máquina.
Las zonas no globales son zonas de raíz entera o de poca raíz: la que escoge como entorno para una aplicación depende cómo quiere equilibrar el control administrativo con la optimización de recursos.
Las Zonas de raíz entera contienen una copia de lectura/escritura del sistema de archivos en la zona global. Los paquetes instalados en la zona global se copian automáticamente (junto con la información del registro) en las zonas de raíz entera. Esto maximiza el control administrativo, con el consiguiente aumento del uso de los recursos.
Las Zonas de poca raíz contienen una copia de lectura/escritura de una parte del sistema de archivos en la zona global; los demás sistemas de archivos se montan como sistemas de archivos de sólo lectura. Los paquetes instalados en la zona global están disponibles para las zonas de poca raíz mediante sistemas de archivos de sólo lectura y mediante la sincronización automática de información del registro. Las zonas de poca raíz optimizan la posibilidad de compartir recursos, con las limitaciones de una administración centralizada.
Los componentes que componen el Java Enterprise System dependen de algunos componentes compartidos; esto produce algunas limitaciones a la hora de trabajar con zonas. En un entorno de zonas los componentes compartidos están regidos por las siguientes reglas.
Todos los componentes compartidos dentro de una zona tienen que pertenecer a la misma versión de JES Este requisito tiene tres consecuencias.
Si quiere instalar diferentes versiones de componentes compartidos, cada versión debe residir en una zona diferente.
Dentro de una zona, si un componente compartido se actualiza o se instala una versión posterior, entonces todos los componentes compartidos deben actualizarse.
Cuando instala componentes compartidos en la zona global, debe asegurarse que los componentes compartidos de las zonas no globales se actualicen en caso necesario.
Los componentes compartidos no pueden instalarse en zonas de poca raíz debido al sistema de archivos de lectura/escritura de las zonas de poca raíz. En vez de esto, deben instalarse en la zona global. Los componentes de producto que dependen de componentes compartidos deben instalarse primero en la zona global y después propagarse a zonas no globales.
Estos requisitos afectan a la instalación de Message Queue porque es un producto de componentes del Java Enterprise System y, como tal, está limitado en su uso de zonas.
El producto Message Queue se instala en el directorio /usr debe instalarse o actualizarse antes, por tanto, en la zona global.
Cuando Message Queue está instalado en la zona global, está configurado para propagarse hacia todas las zonas no globales. Tras instalar Message Queue en la zona global, tendrá la misma versión de Message Queue instalada en todas las zonas: si inicia sesión en una zona y ejecuta la orden pkginfo -l SUNWiqu verá que está instalado y que será la misma versión que la de la zona global. Entonces puede ejecutar instancias independientes del agente de Message Queue en cada zona, ya que no comparten los datos de instancia y configuración guardados en los directorios /var y /etc. (La mayoría de componentes de Java Enterprise System no se propagan si están instalados en la zona global.)
Como Message Queue se propaga hacia las zonas no globales, la instancia global queda enlazada para siempre a las instalaciones de las zonas no globales. Por lo tanto cuando quiera desinstalar o actualizar Message Queue en la zona global, afectará a las instancias que se están ejecutando en las zonas no globales. En el ejemplo siguiente mostramos cómo esto puede producir resultados no intencionados.
Message Queue 3.7 UR1 se instala en la zona global. Esto hace que los paquetes Message Queue 3.7 UR1 también se instalen en todas las zonas no globales.
Message Queue 3.7 UR1 se instala en una zona de raíz entera. Después, instala Message Queue 3.6 en la zona de raíz entera.
Ahora tiene versiones diferentes de Message Queue ejecutándose en zonas diferentes, una configuración que le puede resultar útil.
Puede desinstalar Message Queue 3.7 UR1 en la zona global. Esto desinstalará Message Queue de todas las demás zonas, incluyendo la instancia de Message Queue 3.6 en la zona de raíz entera.
Tenga siempre en cuenta el efecto en cascada de la instalación y desinstalación de Message Queue en la zona global.
Los siguientes dos casos prácticos explican cómo se instalan diferentes instancias y diferentes versiones de Message Queue en diferentes zonas.
Si desea instalar Message Queue en una zona de raíz entera de Solaris 10, Solaris 10U1 o Solaris 10U2, deberá actualizar antes Lockhart en la zona global. Para obtener más información, consulte la solución temporal para el error 645030.
Instale la versión que quiera de Message Queue en la zona global.
Estas versiones se propagarán a la zona no global existente. Si crea otras zonas no globales, Message Queue también se propagará a esas zonas. (Puede instalar instancias diferentes en zonas de raíz entera y en zonas de poca raíz, pero si utiliza zonas de poca raíz hará un uso más eficiente del espacio del disco y de los demás recursos).
Si desea que Message Queue se propague a otras zonas no globales, cree esas zonas ahora.
Ejecute una instancia de Message Queue en cada zona no global.
Desinstale Message Queue de la zona global.
Cree zonas de raíz entera y configure cada zona de forma que no compartan el directorio /usr mediante la directiva siguiente a la hora de crear la zona.
remove inherit-pkg-dir dir=/usr
Instale versiones diferentes de Message Queue en cada zona de raíz entera.
Recuerde que instalar o desinstalar Message Queue de la zona global afectará a todas las instancias (y versiones) de Message Queue que se estén ejecutando en zonas de raíz completa.