Home > Linux, Redhat, Storage > Device-mapper multipathing en Red Hat Enterprise Linux 4

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_qla2x00src/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

Categories: Linux, Redhat, Storage Tags: , ,
  1. IcE
    October 30th, 2007 at 00:14 | #1

    That’s correct only when you use qlogic, how did you do it using emulex driver?

  2. October 30th, 2007 at 00:26 | #2

    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?

  1. No trackbacks yet.