Equipo Sparc
Dos discos
Solaris 9 o 10
Cacao Venezolano (jejeje chiste)
RAID 1 (MIRROR) Solaris 9 o Solaris 10 con SVM (Solaris Volume Manager):
Los comandos a ejecutar están colocados en Negrita y cursiva
Las lineas en archivos son colocadas en color gris
Ejecutar una copia de nuestra VTOC (Tabla de volúmenes de contenido) a un archivo denominado vtoc.c1t0d0s2:
#prtvtoc /dev/rdsk/c1t0d0s2 > /vtoc.c1t0d0s2
Aplicar la etiqueta copiada al archivo sobre el disco 2:
#fmthard -s /vtoc.c1t0d0s2 /dev/rdsk/c1t1d0s2
Desmontar el filesystem que usaremos para replica sobre el disco 1 (de ser necesario), el tamaño promedio son 4MB:
#umount /export
Editar el archivo /etc/vfstab y comentar la linea en la que se encuentra el filesystem que vamos a usar para la replica (partición 7).
#vi /etc/vfstab
La linea debe de quedar de la siguiente manera
#/dev/dsk/c1t0d0s7 /dev/rdsk/c1t0d0s7 /export ufs 2 yes -
Para crear el estado de la base de datos de las replicas usamos el comando metadb con opciones -a para añadir, con -f para forzar la operación de la creación de las replicas iniciales, la opción -c para la especificación del numero de replicas y especificando el nombre de la particiones de los discos que mantendrán las replicas:
#/usr/sbin/metadb -a -f -c 2 c1t0d0s7 c1t1d0s7
Para mostrar una salida detallada de las replicas usamos:
#/usr/sbin/metadb -i
Convertimos nuestras particiones en metadispositivos para luego formar el mirror (RAID-1).
Comenzar con la creación de los metadispositivos usando el comando metainit con la opción -f para forzar a la conversión del filesystem que se encuentra montado (RAID 0), el nombre del metadispositivo será d11 usar los números 1 1 para determinar que el slice es simple (si es concatenado el valor es el número de volúmenes a concatenar) y que posee un solo stripe (franja)
#/usr/sbin/metainit -f d11 1 1 c1t0d0s0
Crear el metadispositivo (submirror) en el disco 2 usando el mismo comando, el metadispositivo tendrá como etiqueta d12
#/usr/sbin/metainit d12 1 1 c1t1d0s0
Repetirlo para la particion asignada a swap
#/usr/sbin/metainit -f d21 1 1 c1t0d0s1
Igual para el disco 2
#/usr/sbin/metainit d22 1 1 c1t1d0s1
Repetirlo para la particion 3
#/usr/sbin/metainit -f d31 1 1 c1t0d0s3
Repetirlo para la particion 3 del disco 2
#/usr/sbin/metainit d32 1 1 c1t1d0s3
Repetirlo para la particion 6
#/usr/sbin/metainit -f d41 1 1 c1t0d0s6
Repetirlo para la particion 6 del disco 2
#/usr/sbin/metainit d42 1 1 c1t1d0s6
Crear el volumen RAID-1 usando el comando metainit luego colocar el nombre del RAID la opcion -m especifica que es un mirror:
#/usr/sbin/metainit d10 -m d11
#/usr/sbin/metainit d20 -m d21
#/usr/sbin/metainit d30 -m d31
#/usr/sbin/metainit d40 -m d41
NOTA: Solo se realiza en este momento para d11, d21, d31, d41 para que la maquina se re-inicie con este volumen (disco):
Usar el comando metaroot para actualizar la información del archivo /etc/vfstab (cambiar la linea de filesystem de root a metadispositivo)
#/usr/sbin/metaroot d10
#grep d10 /etc/vfstab
la linea debe ser similar a:
/dev/md/dsk/d10 /dev/md/rdsk/d10 / ufs 1 no -
Editar /etc/vfstab, comentar las siguientes lineas y agregar la siguiente linea pasos a seguir:
#vi /etc/vfstab
comentar:
#/dev/dsk/c1t0d0s1 - - swap - no -
agregar:
/dev/md/dsk/d20 - - swap - no -
comentar:
#/dev/dsk/c1t0d0s3 /dev/rdsk/c1t0d0s3 /var ufs 1 no -
agregar:
/dev/md/dsk/d30 /dev/md/rdsk/d30 /var ufs 1 no -
comentar:
#/dev/dsk/c1t0d0s6 /dev/rdsk/c1t0d0s6 /usr ufs 1 no -
agregar:
/dev/md/dsk/d40 /dev/md/rdsk/d40 /usr ufs 1 no -
Reiniciar la maquina para que los cambios tengan efecto:
#init 6
Una vez que la maquina se ha reiniciado se deberá adjuntar los submirrors secundarios como se muestra a continuación, usando el comando metattach:
#/usr/sbin/metattach d10 d12
#/usr/sbin/metattach d20 d22
#/usr/sbin/metattach d30 d32
#/usr/sbin/metattach d40 d42
En otro terminal realizar el siguiente script para observar el porcentaje de avance de la sincronización:
#while true
do
/usr/sbin/metastat | grep -i resync
sleep 3
echo; echo
done
Para este momento se habrá realizado lo siguiente:
Agregar el bootblk para el disco 2 de forma tal que el mirror quede completado (este paso no es necesario en Solaris 9):
#cd /usr/platform/`uname -m`/lib/fs/ufs
#/usr/sbin/installboot bootblk /dev/rdsk/c1t1d0s0
Para probar el mirror usar:
#init 0
OK>show-disks
escoger la opción del disco que liste /pci@1f,0/ide@d/disk
OK>nvalias root_mirror ^y@1,0:a
OK>setenv boot-device root_mirror
OK>reset-all
Para revertir el proceso seguir los siguientes pasos:
Cambiar el dispositivo de booteo al disco original:
#/usr/sbin/eeprom boot-device=disk
Quitar los mirror adjuntos:
#/usr/sbin/metadetach d10 d12
#/usr/sbin/metadetach d20 d22
#/usr/sbin/metadetach d30 d32
#/usr/sbin/metadetach d40 d42
Usar el comando metaroot para revertir el proceso de metadispositivo a disco:
#/usr/sbin/metaroot /dev/dsk/c1t0d0s0
Editar /etc/vfstab y descomentar las lineas que se comentaron y comentar las lineas que se agregaron:
#vi /etc/vfstab
descomentar:
/dev/dsk/c1t0d0s1 - - swap - no -
comentar:
#/dev/md/dsk/d20 - - swap - no -
descomentar:
/dev/dsk/c1t0d0s3 /dev/rdsk/c1t0d0s3 /var ufs 1 no -
comentar:
#/dev/md/dsk/d30 /dev/md/rdsk/d30 /var ufs 1 no -
descomentar:
/dev/dsk/c1t0d0s6 /dev/rdsk/c1t0d0s6 /usr ufs 1 no -
comentar:
#/dev/md/dsk/d30 /dev/md/rdsk/d30 /usr ufs 1 no -
Reiniciar:
#init 6
Usar el comando metaclear para limpiar mirrors(-r) y submirrors:
#/usr/sbin/metaclear -r d10
#/usr/sbin/metaclear -r d20
#/usr/sbin/metaclear -r d30
#/usr/sbin/metaclear -r d40
#/usr/sbin/metaclear d12
#/usr/sbin/metaclear d22
#/usr/sbin/metaclear d32
#/usr/sbin/metaclear d42
Borrar las replicas usando metadb -d
#/usr/sbin/metadb -d -f c1t0d0s7 c1t1d0s7
