lunes, 3 de diciembre de 2007

SVM fácil y rápido


En este artículo vamos a ver de forma sencilla y cómoda como actualizar nuestro Solaris 10 / OpenSolaris corriendo el mínimo riesgo posible.

Partimos de una situación inicial en la cual tenemos una configuración básica de Solaris Volume Manager para el filesystem / y el área de swap.

# uname -a
SunOS opensolaris 5.10 Generic_120012-14 i86pc i386 i86pc

# df -h| grep dsk
/dev/md/dsk/d0 5,4G 4,2G 1,2G 79% /

# swap -l
swapfile dev swaplo bloques libre
/dev/md/dsk/d10 85,10 8 1048568 1048568

La configuración del RAID 1 (mirror) en cada uno de los filesystem implicados es esta:

# metastat -p
d10 -m d11 d12 1
d11 1 1 c0d0s1
d12 1 1 c0d1s1
d0 -m d1 d2 1
d1 1 1 c0d0s0
d2 1 1 c0d1s0

Luego en ese momento ejecutamos el script unmirror.sh, asi:

# ./unmirror.sh
bash-3.00# ./unmirror.sh
d10: subduplicación d12 quitada
d0: subduplicación d2 quitada
Press any key to reboot system. After rebooting, check //log/unmirror_cont.log for result.
y

El sistema se reiniciará y arrancará sin ningun tipo de RAID 1, luego unicamente los cambios en la actualización del mismo o su parcheado se registraran en los subdiscos activos en ese momento.

# metastat -p
d10 -m d11 1
d11 1 1 c0d0s1
d0 -m d1 1
d1 1 1 c0d0s0
d12 1 1 c0d1s1
d2 1 1 c0d1s0

Por lo tanto, siempre podremos arrancar nuestro sistema con los subdiscos que no estan activos y que no se ven afectados por este proceso de actualización.

* * * ACTUALIZAMOS * * *

Una vez que el sistema ya actualizado arranca perfectamente, simplemente con el siguiente script (generado por el anterior "unmirror.sh"), volvemos a crear la tolerancia a fallos a nivel del mirror activa en el próximo arranque, asi:

# ./remirror

metainit: opensolaris: d10: unidad ya configurada

metainit: opensolaris: d0: unidad ya configurada

The output of metastat -p is:
d10 -m d11 d12 1
d11 1 1 c0d0s1
d12 1 1 c0d1s1
d0 -m d1 d2 1
d1 1 1 c0d0s0
d2 1 1 c0d1s0
Press any key to reboot system to finish mirroring.