Mirror de discos con Solaris Disk Suite
Instalación:
La versión recomendada es la 4.2 o superior que corre en sistemas con Solaris 2.6 o superior. Hay dos paquetes y un parche necesarios para la instalación de DiskSuite
-SUNWmd
-SUNWmdg
- 106627-04 (obtenga la última versión de este parche)
Los paquetes deben ser instalados en el mismo orden que figuran arriba. Es necesario el rebooteo después de la instalación par que los nuevos drivers sean agregados al kernel.
Asegurese de hacer un update de su PATH y MANPATH para agregar los directorios del DiskSuite. Los ejecutables residen en /usr/opt/SUNWmd/sbin y las páginas del manual en /usr/opt/SUNWmd/man
El ambiente:
En este ejemplo mirrorearemos dos discos. El primer disco sera el primario y el segundo será el mirror. Los discos de nustro ejemplo son:
Disco1: c0t0d0
Disco2: c0t1d0
Cada disco es particionado exactamente igual. El slice 2 comunmente denominado como buckup, representa el disco entero y no debe ser mirroreado.
Hay tres particiones sin asignar en cada uno de los discos y configurada cada una con 256Mb. Estos slices de 256Mb contienen las database replica del DiskSuite, o metadb. Las metadb ocupan 517Kb pero preferimos crear slice más grandes.
Una vez creada las particiones en el disco uno procedemos de la siguiente manera para hacer una copia exacta de esta forma de particionado en el disco 2:
Disco1:
c0t0d0s0: /
c0t0d0s1: swap
c0t0d0s2: backup
c0t0d0s3: unassigned
c0t0d0s4: /var
c0t0d0s5: unassigned
c0t0d0s6: unassigned
c0t0d0s7: /export
para copiar esta misma configuración hacemos:
# prtvtoc /dev/rdsk/c0t0d0s2 > /tmp/vtoc
# fmthard -s /tmp/vtoc /dev/rdsk/c0t1d0s2
De esta forma se copia las tablas de particiones del disco 1 al disco 2.
Las Database state Replicas:
Son los repositores de la información del estado y la configuración de cada metadevice. Teniendo múltiples replicas es critica par la correcta operación del Solaris DiskSuite
- Debe haber un mínimo de 3 replicas. DiskSuite requiere al menos el 51% de las replicas presentes en orden para su operación.
- Las replicas deben estar distribuidas entrelos discos y controladoras de ser posible.
- En una configuración de tres discos, debe haber al menos una replica en cada disco, por si alguno de los discos falla.
- En una configuración de dos discos, debe haber al menos dos replicas por disco. Si hubiera solo 3 y el disco que contiene dos de las mismas falla, el DiskSuite no tendrá suficiente información para funcionar.
Aquí crearemos nuestras replicas usando el comando metadb:
# /usr/opt/SUNWmd/sbin/metadb -a -c3 -f /dev/dsk/c0t0d0s3
# /usr/opt/SUNWmd/sbin/metadb -a -c3 -f /dev/dsk/c0t0d0s5
# /usr/opt/SUNWmd/sbin/metadb -a -c3 -f /dev/dsk/c0t0d0s6
# /usr/opt/SUNWmd/sbin/metadb -a -c3 -f /dev/dsk/c0t1d0s3
# /usr/opt/SUNWmd/sbin/metadb -a -c3 -f /dev/dsk/c0t1d0s5
# /usr/opt/SUNWmd/sbin/metadb -a -c3 -f /dev/dsk/c0t1d0s6
La opción -a atacha el nuevo dispositivo de database y automáticamente edita el archivo /etc/system. La opción -c3 crea 3 copias en este dispositivo y el -f crea las replicas en ese instante.
Cada metadispositivo mirroreado contiene dos o más submirrors. El meta dispositivo es montado por el sistema operativo en lugar del dispositivo físico.
Aquí crearemos los dos submirrors para el filesystem / (root), como hay un solo camino en el mirror entre el metadispositivo y el primer submirror.
# metainit -f d10 1 1 c0t0d0s0
# metainit -f d20 1 1 c0t1d0s0
# metainit d0 -m d10
Los primeros dos comandos crean los submirror. La opción -f fuerza la creación de los submirror aún cuando el slice específico se encuentra montado. La segunda de las opciones 1 1 significa el número de stripes en el metadispositivo y el número de de slices que levantará el stripe. En una situación de mirror siempre será 1 1. Finalmente, especificaremos el dispositivo físico que mirrorearemos. Despues de hacer el mirror de la partición root, necesitamos correr el comando metarrot. Este comando actualizará la entrada del root en el archivo /etc/vfstab con el nuevo metadispositivo como así también la configuración apropiada en el /etc/system. Omitir este paso es un o de los errores más comunes. Si usted no corre el comando metaroot antes de rebootear el equipo, no podrá bootear el sistema!!!!
# metarrot d0
Luego continuaremos creando los submirror e indicando los metadispositivos que reemplazarán el swap y la partición /var
# metainit -f d11 1 1 c0t0d0s1
# metainit -f d21 1 1 c0t1d0s1
# metainit -d1 -m d11
# metainit -f d14 1 1 c0t0d0s4
# metainit -f d24 1 1 c0t1d0s4
# metainit d4 -m d14
# metainit -f d17 1 1 c0t0d0s7
# metainit -f d27 1 1 c0t1d0s7
# metainit d7 -m d17
El archivo /etc/vfstab debe estar actualizado al punto que refleje los cambios echos en el sistema. La partición / ya ha sido actualizada con el comando metaroot, pero el sistema necesita saber acerca de los nuevos dispositivos para el swap y el /var. Las entradas en el archivo son parecidas a las siguientes:
/dev/md/dsk/d1 - - swap - no -
/dev/md/dsk/d4 /dev/md/rdsk/d4 /var ufs 1 yes logging
/dev/md/dsk/d7 /dev/md/rdsk/d7 /export ufs 1 yes logging
Note que los path de los dispositivos han cambiado del estilo normal /dev/dsk/cxtxdxsx y /dev/rdsk/cxtxdxsx al nuevo path para los metadispositivos /dev/md/dsk/dx y /dev/md/rdsk/dx.
Atachemos un mirror:
Ahora debemos atachar la otra mitad de los mirrors (obviamente antes de hacer este paso ya hemos rebooteado el sistema para que los filesistem montados sean sobre los dispositivos lógicos y no sobre los físicos). Una vez que los mirror son atachados dará comienzo automaticamente el proceso de resincronizado para asegurarse que las dos partes del mirror contengan lo mismo. Este proceso puede ser monitoreado usando el comando metastat. Para atachar los submirrors debemso usar los siguientes comandos:
# metattach d0 d20
# metattach d1 d21
# metattach d4 d24
# metattach d7 d27
Final:
Con un ojo puesto en el caso de tener que hacer una recuperación. Puede que sea una buena idea saber cual es el dispositivo físico del segundo disco, para de esta forma configurar los parámetros de OBP que me permitan bootear tanto de un disco como de otro en caso que uno de los dos no funcione. Para saber a donde están apuntando nuestros discos debemos correr el siguiente comando:
# ls -l /dev/dsk/c0t0d0s0
esto nos dará una salida parecida a esta:
/sbus@3,0/SUNW,fas@3,8800000/sd@1,0:a
Lo mismo hacemos para el otro disco y luego usando esta información creamos un alias para este dipositivo y para el segundo con el comando nvalias dentro de obp, y cambiamos luego las opciones boot-device y diag-device.
Pablo G. Saitta

0 Comments:
Publicar un comentario
<< Home