Device-mapper multipathing en Red Hat Enterprise Linux 4
Hay que tener en cuenta que esta funcion solo existe en versiones anteriores a la RHEL 4 Update 2.
Partimos de que tenemos una máquina con dos HBAs funcionando en modo single-path o fail-over. Lo primero de todo lo que deberemos de hace es eliminar el single-path para ver los discos por todos sus caminos. Esto lo haremos de la siguiente manera:
Ejecutar /opt/hp/src/hp_qla2×00src/set_parm para cambiar los parámetros del driver
Selecionar opcion 2, Secure Path NO y cuando nos pregunte si queremos construir un nuevo initrd le indicamos que si.
Reiniciamos la máquina y si hacemos un cat /proc/partitions podremos ver los discos por todos sus caminos, esto quiere decir que hemos eliminado correctamente el fail over.
Ahora es cuando vamos a configurar el multi-path, para ello tendremos que editar el fichero /etc/multipath.conf
Comentamos las siguientes lineas:
devnode_blacklist {
devnode "*"
}
Añadimos las siguientes lineas:
defaults {
multipath_tool "/sbin/multipath -v0"
udev_dir /dev
polling_interval 10
default_selector "round-robin 0"
default_path_grouping_policy multibus
default_getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
default_prio_callout "/bin/true"
default_features "0"
rr_min_io 100
failback immediate
}
Esto permitirá al device-mapper multipathing que esté escaneando todos los dispositivos con la posítica round robin.
Crearemos una lista negra de dispositivos que no se deberán de escanear como los dispositivos IDE, disquereteras etc. Para ello, añadimos acontinuación:
blacklist {
wwid 26353900f02796769
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z][[0-9]*]"
devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
}
Guardamos la configuración y salimos. Ahora tendremos que cargar los módulos:
modprobe dm-multipath modprobe dm-round-robin
Arrancamos los servicios y agregamos a todos los runlevels el servicio multipathd.
service multipathd start chkconfig multipathd on
Podemos chequear los paths con el siguiente comando:
# multipath -ll 3600508b4001056e300007001a5080000 [size=1024 GB][features="1 queue_if_no_path"][hwhandler="0"] \_ round-robin 0 [prio=50][active] \_ 0:0:0:1 sda 8:0 [active][ready] \_ round-robin 0 [prio=10][enabled] \_ 1:0:0:1 sde 8:64 [active][ready] [...]
Si teníamos en algún vg algún disco sd# se habrá sustituido por los nuevos dispositivos multipath. Estos nuevos dispositivos son creados bajo /dev/dm-#
Fuentes:
http://kbase.redhat.com/faq/FAQ_51_7170.shtm
http://h20000.www2.hp.com/bc/docs/support/SupportManual/c00739216/c00739216.pdf
That’s correct only when you use qlogic, how did you do it using emulex driver?
I didn’t try with emulex, but I think it will work fine.
If you try to do it but using emulex, what error message do you get?