sábado, 27 de febrero de 2010

Voy a seguir publicando articulos sobre los sistemas aperativos Solaris 10 y AIX 5.3 el el blog de http://systemas.es/blog, en cuato nos organicemos, empezare a escribir sobre como crear filesystes en UFS y JFS hacer backup, VFS, LPAR, etc...
Espero empezar pronto como amediados de Marzo.

Abrazos y besos.

martes, 26 de enero de 2010

Solaris Volume Manager

La verdad es que ampliar un filesystem es muy fácil con la herramienta que nos facilita Sun en Solaris 10, Solaris Volume Manager es el sucesor de Solstice DiskSuite. SVM crea dispositivos lógicos denominados metadispositivos.

Solaris 10 da soporte a RAID 0, RAID 1 y RAID 5.

En este documento voy explicar como ampliar y configurar la redundancia en los niveles RAID 0, 1 y aprovechar las ventajas de cada uno para implementarlos en un sistema. Creo que un RAID 5 ha de ser creado por hardware para poder aprovechar al maximo sus veneficios por lo que no voy a hacer mención a este nivel.

RAID 0 permite ampliar la capacidad de almacenamiento, ampliando el tamaño de un filesystem por uno o mas slice, aunque este sistema no ofrece ninguna redundancia a los datos.
Si queremos ampliar un filesystem podemos proceder de dos formas o bien concatenar o bien con "stripe".

La forma en concat no destruye los datos existentes, se podía interpretar como que se agrega al final de un slice uno nuevo para que puede continuar con las actividades de I/O.
En cambio en un stripe los trabajos de I/O se hace simultáneamente el los slice que componen el RAID 0, lo que conlleva a las destrucción de los datos en el momento que se crea.

Para tomar una decisión a la hora de decidirse por uno u otro, en caso de necesidad, hay que tener en cuenta que concat no destruye datos, en caso de un filesystem con procesos es acertado, por el contrario stripe es mas útil con actividad alta de I/O.

Para cualquiera de la implementan de los niveles RAID previamente hay que crear archivos con la información de la configuración de Solaris Volume Manager, estos archivos denominados base de datos de estado almacenan información sobre el estado de la configuración y es muy recomendable crear copia de estos archivos para proveer de redundancia y protección contra la perdida de datos.

Para recrearlo con un ejemplo sobre lo que he explicado voy a crear primero un RAID 0 concat luego para ver la diferencia stripe :

En primer lugar creamos las State Database Replicas con el comando metadb, este comando sin opciones muestra las databases existentes añadirle los parámetros "-a" (add) y "-f" (force) como dijimos es recomendable crear mas de una así que añadiremos ademas "-l" con el número de database que queremos hacer:
#metadb –a –f -n 3 c1t0d0s2 c2t0d0s3 c3t0d0s4

Creación de un RAID-0 concat.
digamos que tenemos el /prueba montado en c0t0d0s4 de este no crearemos State Database Replicas por que borraría la información que hubiera y le agregamos c1t0d0s2 con el fin de dar mas capacidad de almacenamiento a /prueba.

#metainit –f d0 2 1 c0t0d0s4 1 c1t0d0s2
hemos creado un meta dispositivo denominado "d0" con 2 particiones y 1 nivel, el número podrá cambiarse pero la letra "d" es obligatoria.
A iniciar el sistema cargara con la información que contenga el archivo /etc/vfstab, así que debemos cambiar c0t0d0s4 por d0 pero con las rutas /dev/md/rdsk /dev/md/dsk.
Debemos desmontar
#umount /prueba
y volver a montar para que lea el archivo /etc/vfstab
#mount /prueba
por ultimo expandiremos los dispositivos lógicos para que se reconozca como unidad
#growfs –M /prueba /dev/md/rdsk/d0

Creación de un RAID-0 stripe.
Para stripe se procede de identica forma pero el comando metainit se ejecuta de la siguiente manera teniendo 1 nivel y 2 particiones:
#metainit –f d0 1 2 c0t0d0s7 c3t2d0s0

Creación de un RAID-1.

#metainit mirror –m submirror read_option)(write_opcion) (pass_num)
*Read_opcion: -g habilitar geométrica, rendimiento más rápido en lecturas secuenciales
–r dirige lecturas al primer submirror, cuando el primer disco + rápido.
*Write_opcion: -s escritura en serie por defecto es paralela.
*Pass_num: orden de sincronización por defecto 1, 0 no sincroniza read-only

#metadb –a –f –c 2 c1t0d0s0 c3t3d0s1
#metainit –f d11 1 1 c1t0d0s0
#metainit d12 1 1 c3t3d0s1
#/usr/sbin/metainit d10 –m d11
#metattach d10 d12
Se puede hacer metainit d10 –m d11 d12 pero no fuerza a sicronizar los datos.

Visita www.systemas.es