
Configuración multipath para servidores RHEL
Hoy os paso un procedimiento que me ha enviado mi colega ‘Marcos Ortiz’, donde veremos la configuración a aplicar a máquinas RedHat con objeto de configurar de forma correcta el software nativo de multipath cuando de dispone de un entorno Boot From SAN (BFS).
1. Iniciar la instalación del S.O. RHEL con la opción ‘linux mpath’ (con todos los caminos presentados).
2. Una vez terminemos la instalación básica, después del primer reboot, nos encontraremos un error (repair filesystem), introducir la password de root y ejecutar el siguiente comando:
- Mount -o remount rw /, para poner el sistema en RW
- Editar el fichero /etc/multipath.conf y poner las siguientes lineas:
blacklist {
devnode “^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*”
devnode “^(hd|xvd|vd)[a-z]*”
# wwid “*”
}
multipaths {
multipath {
wwid “36006016063102b006a2bdd66337ae011”
alias mpathROOT
}
}
devices {
device {
vendor “DGC”
product “.*”
product_blacklist “LUNZ”
getuid_callout “/sbin/scsi_id -g -u -s /block/%n”
prio_callout “/sbin/mpath_prio_emc /dev/%n”
features “1 queue_if_no_path”
hardware_handler “0”
path_grouping_policy “group_by_prio
failback immediate
rr_weight uniform
no_path_retry 60
rr_min_io 1000
path_checker emc_clariion
}
}
3. Editar el fichero /etc/lvm/lvm.conf y modificar las siguientes líneas:
- Comentar preferred_names = []
- preferred_names = [ “^/dev/mpath/”, “^/dev/mapper/mpath”, “^/dev/[hs]d” ]
- filter = [ “a/dev/mapper/.*/”, “r/dev/sd.*/” ]
4. Una vez realizados estos pasos, montamos el CD de la instalación de RH y reiniciamos el servidor, arrancamos desde CD y en el tipo de instalación, ponemos “linux mpath rescue”, con esto entraremos en el modo recuperación.
- Seleccionamos idioma, teclado.
- Omitimos configuración de red.
- Omitimos escaneo de File System.
- Una vez tengamos la shell, ejecutamos el siguiente procedmiento:
mkdir /mnt/sysimage
mkdir /mnt/sysimage/boot
multipath –F
multipath –v0
mulitipath –l
kpartx –a /dev/mapper/mapth0
lvm vgscan –config ‘devices{ filter = [ “a/mapper/”,”r/.*/” ] }’
lvm vgchange –ay –config ‘devices{ filter = [ “a/mapper/”,”r/.*/” ] }’
mount –t ext3 /dev/mapper/rootvg-lv00 /mnt/sysimage
mount –t ext3 /dev/mapper/mpath0p1 /mnt/sysimage/boot
mount –t proc none /mnt/sysimage/proc
mount /dev /mnt/sysimage/dev
mount /sys /mnt/sysimage/sys
chroot /mnt/sysimage
dmsetup mknodes mpath0
dmsetup mknodes mpath0p1
dmsetup mknodes mpath0p2
dmsetup mknodes mpath0p3
Remount the /boot directory
umount /boot
mount /dev/mapper/mpath0p1 /boot
Change the /boot/grub/device.map entry to point to the mpath boot device
# this device map was generated by anaconda
(hd0) /dev/mapper/mpath0
/dev/rootvg/lv00 / ext3 defaults 1 1
/dev/mapper/mpath0p1 /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/mapper/mpath0p3 swap swap defaults 0 0
/dev/mapper/uservg-lv01 /export/home ext3 defaults 1 2
/dev/mapper/uservg-lv02 /export/appl/pkgs ext3 defaults 1 2
mkinitrd –f /boot/initrd-2.6.18-53.1.6.el5.img 2.6.18-53.1.6.el5
grub-install /dev/mapper/mpath0
5. Es importante recordar, que cada vez que se modifica el /etc/multipath.conf, tenemos que generar un nuevo initrd usando el comando mkinitrd –f /boot/initrd-2.6.18-53.1.6.el5.img $(uname -r).
Gracias Marcos!!!