ALMACENAMIENTO


Algunos pensaréis que no es correcto continuar con el almacenamiento. ¿Y las máquinas?¿Y los hosts? ¡Quiero saber más de eso!

Tranquilidad, lo veremos, pero antes quiero explicar lo más importante de un sistema: el servicio que presta. El servicio es la utilidad, el objetivo del sistema y lo que provocará dolores de cabeza, noches de guardia y momentos críticos. Lo más importante del servicio es que, por lo menos, haya datos. Y los datos se guardan en el almacenamiento.

DISCOS DUROS LOCALES



Si hablamos de almacenamiento, lo primero que pensamos es el disco duro. Pensamos en ese disco duro que hay en nuestro PC, exactamente en las tripas del PC. A ese disco le llamaremos disco local, es decir, un disco interno.

La configuración más básica es la de un disco. Ahí instalamos el Sistema Operativo, nuestro software y... nuestros datos, por ejemplo fotos, correos, documentación...

Compliquemos un poco el panorama. No tenemos un disco local, tenemos dos. ¿Para qué dos? En el artículo anterior hablamos de la redundancia. Si un elemento del sistema falla, otro, igual, hará su función. Es la evolución natural. De un disco que falla, podemos seguir trabajando con el otro.



ARRAYS

Al igual que tenemos discos locales, podemos tener discos externos. Nuestro disco duro USB es un disco externo. Pensemos en grande, ¿y si tengo muchos discos externos? Si es así, necesitan estar colocados de forma ordenada para que no estén por ahí esparcidos. Los ordenamos en “cajas”, que llamaremos bandejas. Podemos tener muchas bandejas y cada una de ellas tendrá muchos discos.

De momento no vamos a hablar de cómo es la conexión entre host y array, pero, para que vaya sonando, pueden ser, entre otros, por protocolo SCSI o FC (canal de fibra).

Para los que solo han tocado PC, el cable de conexión entre host y array se llama BUS. Por ahí circula la información del protocolo de conexión y los datos. En el PC también existe, y es el cable plano o “faja” que va enchufado desde el disco duro hasta la placa base.

Cuando hablemos de los tipos de almacenamiento, retomaremos las conexiones. De momento, vamos a mostrar un ejemplo de un array real de 1 bandeja que contiene 12 discos duros por bandeja.



[Ampliar Imagen]

Éste array de discos podía tener otra bandeja más, lo que le daba una capacidad de 24 discos.


 

ADMINISTRACIÓN DEL RAID



No vamos a entrar en los diferentes tipos de RAID. Sólo vamos a ver que hay RAID por hardware y por software. Para un análisis completo de los diferentes tipos de RAID ver : http://es.wikipedia.org/wiki/RAID

Los más importantes son el RAID 1, el RAID 5 y el RAID 1+0.

En el RAID por hardware, el control lo ejerce la controladora del array. Como su propio nombre indica, es la responsable de la comunicación entre los discos y el host así como de la administración del RAID.

En el RAID por software, el control lo ejerce un software de gestión de discos. Software de este tipo hay muchos. Entre otros podemos encontrar Veritas Volume Manager (VxVm), Sun Volume Manager (SVM) o Logical Volume Manager (LVM) para Linux.

Los discos locales sirven como “discos de boot” o discos de arranque. Se suelen usar 2 discos que estarán en RAID 1. En ellos, se instalará el Sistema Operativo. Una buena práctica es instalar en los discos de boot exclusivamente lo relacionado con el Sistema Operativo, y otra clase de software, como puede ser el software de BBDD en otro/s disco/s ya sean internos o externos pero que no sean de boot. Después veremos porqué.



Ejemplo de salida de un RAID 1 por hardware:



# raidctl

RAID      RAID                RAID     Disk 

Volume    Status              Disk     Status    

-----------------------------------------------

c1t1d0    OK                    c1t1d0   OK        

                              c1t2d0   OK

Éste ejemplo es sobre una máquina ejecutando un Solaris 10. El comando concreto no nos interesa, nos centramos en la salida:



En la primera columna vemos el nombre del Volumen, en este caso c1t1d0. El porqué de este nombre no nos interesa, de momento nos quedamos con que es el nombre que le ha interesado poner al administrador de este sistema.

En la segunda columna vemos el Status. En nuestro ejemplo, el volumen es correcto.

En la tercera columna vemos los discos físicos que lo componen: c1t1d0 y c1t2d0. Al igual que con el volumen, no nos importa ahora el porqué del nombre. Tendréis que hacer un acto de fé y creeros que son nombres correctos.

En la cuarta columna vemos el Status de ambos discos. Ambos en “OK”.

A la vista de la salida, si abrimos el host, veríamos 2 discos físicos. Si cerramos y preguntamos al Sistema Operativo qué discos ve, respondería que c1t1d0, es decir, el nombre del volumen.

Un error frecuente en un administrador de sistemas poco avezado, es examinar los discos sólo al nivel del SO. Si el disco c1t2d0 de nuestro ejemplo se rompe, el SO no lo sabrá, pero nuestro RAID 1 ha desaparecido. La rotura de la otra pata del mirror supondrá la pérdida del host.

Ejemplo de salida de un RAID 1 en software, concretamente Veritas Volume Manager (VxVm):

Centrémonos en las palabras en negrita. Más abajo hay otro ejemplo con otro software. Si no entendéis éste, mirad el otro. La salida está cortada para mejorar la visibilidad sin pérdida de generalidad:



#vxprint -Ath

1* dg rootdg       default      default  0        106ZZZZZZZZ.10YY.XXXXX1
2* dm rootdisk     c2t0d0s2     sliced   2888     71124291 -
2* dm rootmirror   c0t0d0s2     sliced   9919     143328960 -
3* v  rootvol      -            ENABLED  ACTIVE   10484181 ROUND     -      root
4* pl rootvol-01   rootvol      ENABLED  ACTIVE   10484181 CONCAT    -      RW
5* sd rootdisk-02  rootvol-01   rootdisk 39668859 10484181 0         c2t0d0 ENA
4* pl rootvol-02   rootvol      ENABLED  ACTIVE   10491456 CONCAT    -      RW
5* sd rootmirror-04 rootvol-02  rootmirror 31281024 10491456 0       c0t0d0 ENA
 v  swapvol      -            ENABLED  ACTIVE   16773534 ROUND     -      swap
 pl swapvol-01   swapvol      ENABLED  ACTIVE   16773534 CONCAT    -      RW
 sd rootdisk-01  swapvol-01   rootdisk 0        16773534 0         c2t0d0 ENA
 pl swapvol-02   swapvol      ENABLED  ACTIVE   16780224 CONCAT    -      RW
 sd rootmirror-05 swapvol-02  rootmirror 41772480 16780224 0       c0t0d0 ENA
 v  var          -            ENABLED  ACTIVE   10484181 ROUND     -      fsgen
 pl var-01       var          ENABLED  ACTIVE   10484181 CONCAT    -      RW
 sd rootdisk-05  var-01       rootdisk 29184678 10484181 0         c2t0d0 ENA
 pl var-02       var          ENABLED  ACTIVE   10491456 CONCAT    -      RW
 sd rootmirror-06 var-02      rootmirror 58552704 10491456 0       c0t0d0 ENA

Sin entrar en la terminología propia de este software, vemos, en primer lugar (fila 1)el nombre de “rootdg”. Si habéis comprendido el ejemplo anterior de RAID por hardware, podemos pensar que el nombre del volumen (c1t1d0) es ahora “rootdg”, es decir, será así como el Sistema Operativo verá el disco. Cuidado, ahora el Sistema Operativo sí verá físicamente los dos discos, porque el software está en una capa superior al SO, pero el acceso a los discos lo hará a través de rootdg, que es como se llama el disco.

En las filas marcadas con “2”, vemos los dos discos físicos que componen el RAID 1. Los dos discos se llaman c2t0d0s2 y c0t0d0s2. Nuevamente, el porqué se llaman así no nos interesa. Solo deciros que se llaman así físicamente. A la izquierda del nombre físico de los discos, tenemos el nombre lógico. Éste nombre sirve para que sea más fácil de recordar para un humano. Estamos ante el mismo caso de hostid y hostname. El nombre lógico, en este caso “rootdisk” y “rootmirror” son nombres que podremos cambiar, pero no así el c2t0d0s2 o el c0t0d0s2.

Hasta ahora, sabemos, que tenemos un RAID compuesto de dos discos físicos, es decir, que, básicamente, tenemos la misma información que teníamos en el array por hardware. Tendréis que hacer un acto de fé y creéros que estamos ante un RAID 1. Las filas 3,4 y 5 son muy diferentes a lo que hemos visto en el ejemplo por hardware.

La fila 3 indica que hay una “partición” llamada rootvol. Quiero señalar las comillas que engloban a partición. En nuestro caso básico, vamos a asumir que son las particiones del disco duro. Por tanto, “rootvol” corresponde a nuestra partición raíz.

Las filas marcadas con un 4 son las patas del mirror. En nuestra suposición, “rootvol-01” corresponde con la partición raíz del primer disco y “rootvol-02” es la raíz del disco “rootmirror”

Las filas marcadas con un 5 son, bajo nuestra suposición, las particiones físicas. Tal vez pueda “chirriar” esta explicación, pero VxVm es bastante más complejo que lo que estamos explicando, y sus conceptos se alejan de los objetivos de este artículo.



Tal vez os haya parecido complicado. VxVm es un software bastante extendido y trabaja bajo diferentes SO, tanto de tipo UNIX como Windows.

Un ejemplo más sencillo para aquellos a los que les esté costando coger los conceptos:



Ejemplo de salida de un RAID 1 en software, concretamente Sun Volume Manager (SVM)

# metastat

d0: Mirror
    Submirror 0: d10
      State: Okay        
    Submirror 1: d20
      State: Okay       
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 6298425 blocks

d10: Submirror of d0
    State: Okay         
    Size: 6298425 blocks
    Stripe 0:
        Device              Start Block  Dbase State        Hot Spare
        c0t0d0s0                   0     No    Okay         


d20: Submirror of d0
    State: Okay         
    Size: 6298614 blocks
    Stripe 0:
        Device              Start Block  Dbase State        Hot Spare
        c1t1d0s0                   0     No    Okay 

En este ejemplo, cuya salida también está cortada, vemos que hay un RAID 1 llamado “d0” . Éste submirror está compuesto de dos patas (submirrors) llamados d10 y d20. Un poco más abajo, vemos la información de cada uno. El d10 es el disco físico c0t0d0s0 y el d20 es el disco físico c1t1d0s0.



Más adelante, veremos el almacenamiento en sus 3 vertientes: DAS, NAS y SAN.

Almacenamiento (1)
Juan Jose Perez Ugena

Juan Jose Ugena es consultor de SUN Microsystems desde el año 2001 trabajando en clientes como Telefonica Moviles, Junta de Andalucia o Generalitat Valenciana.
Fecha de alta:03/04/2008
Última actualizacion:03/04/2008
Visitas totales:4178
Valorar el contenido:
Últimas consultas realizadas en los foros
Últimas preguntas sin contestar en los foros de devjoker.com