Tag Archive for 'script'

Sun Cluster con Zonas no-globales

La idea detras de este post es consolidar varios clusters de 2 nodos  Solaris 10, usando zonas. Los servicios balancean de una zona de una maquina a otra zona de otra maquina. Otro planteamiento (que no explico aqui) podria ser conmutar la zona entera (mas lento debido a que hay que levantar una zona antes del recurso).

Escribi esta chuleta hace casi 2 años cuando monte un cluster SC3.2 con resource group Oracle corriendo en 2 zonas no-globales, para un entorno productivo en una Telco. Lo publico esperando que resulte interesante. No entra demasiado en los detalles tecnicos, sino que es mas conceptual.

Ejemplo: 2 proyectos cada uno con su cluster, sin consolidar:

  • Proyecto A, 2 maquinas, pa01 y pa02, con Sun Cluster, con un grupo de recursos A-rg :
       +-------+ pa01     +-------+ pa02
       | A-rg  |          |   .   |
       +-------+          +-------+
  • Proyecto B, 2 maquinas, pb01 y pb02, con Sun Cluster, con dos grupos de recursos B1-rg y B2-rg:
       +-------+ pb01     +-------+ pb02
       | B1-rg |          |   .   |
       |   .   |          | B2-rg |
       +-------+          +-------+

Consolidamos asi:

  • 2 maquinas fisicas, m1 y m2, con Sun Cluster,
    • pa01 y pb01: zonas no globales de m1
    • pa02 y pb02: zonas no globales de m2
           m1                     m2
   +------------------+   +------------------+
   |                  |   |                  |
   |   +-------+ pa01 |   |   +-------+ pa02 |
   |   | A-rg  |      |   |   |   .   |      |
   |   +-------+      |   |   +-------+      |
   |                  |   |                  |
   |   +-------+ pb01 |   |   +-------+ pb02 |
   |   | B1-rg |      |   |   |   .   |      |
   |   |   .   |      |   |   | B2-rg |      |
   |   +-------+      |   |   +-------+      |
   |                  |   |                  |
   |Solaris 10 - SC3.2|   |Solaris 10 - SC3.2|
   +------------------+   +------------------+

Podemos aplicar management de recurso a las zonas –> containers.

Para montar esto, primero hay que montar las 2 maquinas, como si fueran a ser un cluster de 2 maquinas normales, instalar SC3.2.

Despues creamos las zonas.

Hay que entender que no se trata de 2 clusters de 2 nodos, sino de un cluster de 2 nodos, con 4 zonas.

A la hora de crear los usuarios, fs y demas, crearlos en las zonas, no en las maquinas fisicas.

Para el montaje de los FS locales de cada zona (/var, /opt/oracle,…) , ver Zones/fs.txt.

A la hora de crear los RGs, con clsetup, añadiremos las zonas donde corran, no los nodos, es decir:

   A-rg : NodeList = m1:pa01, m2:pa02

   B1-rg: NodeList = m1:pb01, m2:pb02
   B2-rg: NodeList = m2:pb02, m1:pb01

Los FS de los RGs se deben de montar en la zona global, en un path que no sea bajo el zonepath de ninguna zona.

Por ejemplo:

El A-rg necesita los FS:

   /A/scripts
   /A/BD/C1
   /A/BD/C2
   /A/BD/C3
   /A/BD/a00
   /A/BD/i00
   /A/BD/r00
   /A/BD/s00
   /A/BD/s01
   /A/BD/s02
   /A/BD/t00

Hay que poner los FS de los RGs en el /etc/vfstab de los dos nodos m1 y m2 (en la zona global), ya que SC3.2 los montara primero en la zona global antes que en la zona no-global.

Por ejemplo:

   m1:/etc/vfstab
   ...
   # A-rg
   /dev/vx/dsk/A-dg/lvscripts /dev/vx/rdsk/A-dg/lvscripts /A/scripts vxfs 2 no log
   /dev/vx/dsk/A-dg/lvbdc1    /dev/vx/rdsk/A-dg/lvbdc1    /A/BD/C1   vxfs 2 no log
   /dev/vx/dsk/A-dg/lvbdc2    /dev/vx/rdsk/A-dg/lvbdc2    /A/BD/C2   vxfs 2 no log
   ...

En las zonas donde vaya a correr el RG en cuestion, se deben de crear unicamente los correspondientes puntos de montage:

   /A/scripts
   /A/BD/C1
   /A/BD/C2
   /A/BD/C3
   /A/BD/a00
   ...

En particular, no es necesario poner nada en el vfstab de las zonas no globales.

Otro planteamiento podria ser conmutar la zona entera (mas lento debido a que hay que levantar una zona antes del recurso).

Que serie veo esta noche?

Con esto de bajar capitulos de serie americanas de la red, uno puede hacerse un lio con tantos capitulos en el disco, que si tengo o no los subtitulos…

Asi que me he hecho un script para saber lo que tengo disponible para ver. El script me dice:
* que series tengo
* cuales son los capitulos que tengo bajados y no he visto
* para cuales me faltan los subtitulos

Este es un ejemplo de salida:

BrothersSisters: 2x00* 2x01
Californication: 1x04  1x05  1x06  1x07  1x08
           Curb: 6x01  6x02  6x03  6x04
   GreysAnatomy: 4x00* 4x01  4x02
         Heroes: 2x01  2x02
   Men_in_Trees: 1x10  1x11  1x12  1x13  1x14  1x15  1x16  1x17
   Prison_Break: 3x03
           Rome: 2x01* 2x02* 2x03* 2x10*
          Weeds: 3x06  3x07  3x08

Dado que la nomenclatura de los capitulos dentro de los nombres de ficheros es un poco variada (401, S04E01, 4×01…) el script intenta reformatearlo en un unico formato: 4×01 (el formato que me gusta). Si no lo detecta, pone “?x??”.

Los capitulos con “*” son aquellos que no tienen subtitulos (o mi script no lo ha detectado).

Para que funcione el script, es necesario un minimo de organizacion:
* los capitulos y subs de una serie en un mismo directorio (con el nombre de la serie),
* todos los directorios de series en un mismo repositorio,
* una vez que he visto un capitulo, lo muevo con su subtitulo a un subdirectorio “vistos” dentro del directorio de esta serie.

Si alguien quiere probar el script, solo tiene que modificar la variable DIR.




Close
Powered by ShareThis