Replicación
de LUNs con RHEL – Replicated LUNs with RHEL
Autor: Pedro
Flor
E-Mail:
pedro.flor
#
gmail . com
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.