Wednesday, September 19, 2012

Replicación de LUNs con RHEL – Replicated LUNs with RHEL


Replicación de LUNs con RHEL – Replicated LUNs with RHEL


Autor: Pedro Flor
Edición: 0
Última actualización: 19/09/2012

Para mayor referencia, revisar los siguientes recursos:

WWID (World Wide Name)

LVM (Logical Volume Manager)

How can I boot a server from a replicated SAN LUN using device-mapper-multipath in Red Hat Enterprise Linux 5?”

Red Hat Linux boot on SAN & multipath”

Storage area network

Initrd (Initial ramdisk)


Escenario:
Se tiene un sitio “primario” y un sitio de “contingencia” con las siguientes características:





Sitio Primario
1 cuchilla sobre un Blace Center IBM
1 Storage IBM Storwize

Sitio Secundario
1 cuchilla sobre un Blace Center IBM
1 Storage IBM Storwize

Objetivo
Disponder de un servidor RHEL 5 con ORACLE funcionado en el sitio primario y que este se replique en el sitio de contingencia mediante el producto “Storwize”.

La réplica de datos se hace con el total de LUNs asignados al servidor RHEL.

Problema
El problema de este escenario es que RHEL trabaja con WWID para acceder a los diferentes LUNs que se le presenta (por ejemplo el LUN del directorio raíz). Cuando el software de replica de LUNs (en este caso “storwize”) hace la réplica de las LUNs del sitio primario con el sitio de contengencia, los WWID también son replicados (en realidad todos los datos son replicados del sitio primaro al sitio de contingencia), de forma que cuando RHEL hace “boot on SAN” del sitio de contingencia, este no sabe como acceder a las LUNs de este sitio (contingencia) puesto que los WWID no corresponden.

Esto aplica a “boot on SAN” y a cualquier LUN que se presente a RHEL y sea replicado.

Solución
La solución a este problema es indicar a RHEL (que hace “boot on SAN” desde el sitio de conteingcia) los WWID correspondientes a los LUNs del sitio de contingia y que no use las referencias a los WWID del sitio princial.
Para resolver este problema se creará un nuevo “initrd” y una nueva entrada en GRUB que haga refencia al nuevo initrd con los WWIDs correspondientes a cada sitio:



Procedimiento
1) Instalar REHL con la opción “linux mpath
2) Cuando la instalación se haya concluido, verificar que “multipath” esté configurado con “friendly names” para el apropiado mapeo de “/dev/mapper/mpath*
3) Crear los nuevos volúmenes lógicos (LVM) para Oracle (usar “system-config-lvm”)
4) Modificar GRUB de manera que este tenga una nueva entrada de boot y permita cargar un nuevo “initrd”, el cual tendrá los WWID de ambos sitios.

Descomprimir y desempaquetar el “initrd” actuál

# mkdir /root/boot
# cp /boot/initrd-2.6.img /root/boot
# cd /root/boot
# gunzip initrd-2.6.img | cpio -i –make-directories
# rm initrd-2.6.img


Notas:
a) El archivo “/root/boot/etc/multipath.conf” debe tener TODOS los WWID de los LUNs que se vayan a usar en ambos sitios.

b) El archivo “/root/boot/etc/multipath/bindings” debe tener las referencias en formato “friendly names” con los WWID del sitio de contingencia UNICAMENTE para que LVM los gestione correctamente.

c) El archivo “/root/boot/etc/multipath/wwids” debe tener los WWID del sitio de contingencia.

Creación/modificación del nuevo initrd

# cd /root/boot/
# find ./ | cpio -H newc -o > initrd-nuevo-2.6.cpio
# gzip -9 initrd-nuevo-2.6.cpio
# mv initrd-nuevo-2.6.cpio.gz initrd-nuevo-2.6.img


Crear nueva entrada en GRUB
Crear nueva entrada con el nuevo initrd-nuevo.

Sincronizar los LUNs mediante el software de gestión de los storage
Con el GUI de Storwize, sincronizar los LUNs del sitio primario con el sitio de contingencia y cambiar los roles de cada sitio.

Networking
Otro problema que surge en este escenario es que cada servidor (cuchilla Blade IBM) tiene sus propias direcciones “MAC Address”, información que se replica en ambos sitios.

Solución
En el archivo “/etc/sysconfig/network-scripts/ifcfg-eth0” se deberá quitar la directiva HWADDR para que quede así:

DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE=Ethernet
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=DHCP


Fin de documento.