Red Hat Training

A Red Hat training course is available for RHEL 8

Configuración del mapeador de dispositivos multipath

Red Hat Enterprise Linux 8

Uso de la función Device Mapper Multipath

Resumen

Esta colección de documentación proporciona instrucciones sobre cómo configurar y gestionar la función Device Mapper Multipath (DM-Multipath) en Red Hat Enterprise Linux 8.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a sustituir el lenguaje problemático en nuestro código, documentación y propiedades web. Estamos empezando con estos cuatro términos: maestro, esclavo, lista negra y lista blanca. Debido a la enormidad de este esfuerzo, estos cambios se implementarán gradualmente a lo largo de varias versiones próximas. Para más detalles, consulte el mensaje de nuestro CTO Chris Wright.

Proporcionar comentarios sobre la documentación de Red Hat

Agradecemos su opinión sobre nuestra documentación. Por favor, díganos cómo podemos mejorarla. Para ello:

  • Para comentarios sencillos sobre pasajes concretos:

    1. Asegúrese de que está viendo la documentación en el formato Multi-page HTML. Además, asegúrese de ver el botón Feedback en la esquina superior derecha del documento.
    2. Utilice el cursor del ratón para resaltar la parte del texto que desea comentar.
    3. Haga clic en la ventana emergente Add Feedback que aparece debajo del texto resaltado.
    4. Siga las instrucciones mostradas.
  • Para enviar comentarios más complejos, cree un ticket de Bugzilla:

    1. Vaya al sitio web de Bugzilla.
    2. Como componente, utilice Documentation.
    3. Rellene el campo Description con su sugerencia de mejora. Incluya un enlace a la(s) parte(s) pertinente(s) de la documentación.
    4. Haga clic en Submit Bug.

Capítulo 1. Visión general del mapeo de dispositivos

Con Device mapper multipathing (DM Multipath), puede configurar múltiples rutas de E/S entre nodos de servidor y matrices de almacenamiento en un único dispositivo. Estas rutas de E/S son conexiones físicas de red de área de almacenamiento (SAN) que pueden incluir cables, conmutadores y controladores independientes. Multipathing agrega las rutas de E/S y crea un nuevo dispositivo que consiste en las rutas agregadas.

DM Multipath proporciona:

  • Redundancia

    DM Multipath puede proporcionar conmutación por error en una configuración activa/pasiva. En una configuración activa/pasiva, sólo se utiliza la mitad de las rutas en cualquier momento para la E/S. Si cualquier elemento de una ruta de E/S (el cable, el conmutador o el controlador) falla, DM Multipath cambia a una ruta alternativa.

  • Mejora del rendimiento

    DM Multipath puede configurarse en un modo activo/activo, en el que la E/S se reparte entre las rutas de forma rotatoria. En algunas configuraciones, DM Multipath puede detectar la carga en las rutas de E/S y reequilibrar dinámicamente la carga.

1.1. Diferentes configuraciones de DM Multipath

A continuación se muestran algunos ejemplos de configuración de DM Multipath:

1.1.1. Configuración multirruta activa/pasiva con un dispositivo RAID

En esta configuración, hay dos adaptadores de bus de host (HBA) en el servidor, dos conmutadores SAN y dos controladores RAID. A continuación se indican los posibles fallos en esta configuración:

  • Fallo del HBA
  • Fallo del cable de canal de fibra
  • Fallo del conmutador SAN
  • Fallo del puerto del controlador de la matriz

Con DM Multipath configurado, un fallo en cualquiera de estos puntos hace que DM Multipath cambie a la ruta de E/S alternativa. Figura 1.1, “Configuración multirruta activa/pasiva con un dispositivo RAID” describe la configuración con dos rutas de E/S desde el servidor a un dispositivo RAID. Aquí, hay una ruta de E/S que pasa por hba1, SAN1, y cntrlr1 y una segunda ruta de E/S que pasa por hba2, SAN2, y cntrlr2.

Figura 1.1. Configuración multirruta activa/pasiva con un dispositivo RAID

active passive multipath configuration with one raid device

1.1.2. Configuración multirruta activa/pasiva con dos dispositivos RAID

En esta configuración, hay dos HBAs en el servidor, dos switches SAN y dos dispositivos RAID con dos controladores RAID cada uno. Con DM Multipath configurado, un fallo en cualquiera de los puntos de la ruta de E/S a cualquiera de los dispositivos RAID hace que DM Multipath cambie a la ruta de E/S alternativa para ese dispositivo. Figura 1.2, “Configuración multirruta activa/pasiva con dos dispositivos RAID” describe la configuración con dos rutas de E/S a cada dispositivo RAID. Aquí, hay dos rutas de E/S para cada dispositivo RAID.

Figura 1.2. Configuración multirruta activa/pasiva con dos dispositivos RAID

active passive multipath configuration with two raid device

1.1.3. Configuración multirruta activa/activa con un dispositivo RAID

En esta configuración, hay dos HBA en el servidor, dos conmutadores SAN y dos controladores RAID. Figura 1.3, “Configuración multirruta activa/activa con un dispositivo RAID” describe la configuración con dos rutas de E/S desde el servidor a un dispositivo de almacenamiento. Aquí, la E/S se puede repartir entre estas dos rutas.

Figura 1.3. Configuración multirruta activa/activa con un dispositivo RAID

active passive multipath configuration with one raid device

1.2. Componentes de DM Multipath

Tabla 1.1, “Componentes de DM Multipath” describe los componentes de DM Multipath.

Tabla 1.1. Componentes de DM Multipath

Componente

Descripción

dm_multipath módulo del núcleo

Redirige la E/S y admite la conmutación por error de rutas y grupos de rutas.

mpathconf utilidad

Configura y habilita el mapeo de dispositivos multipathing.

multipath comando

Enumera y configura los dispositivos multirruta. También es ejecutado por udev cada vez que se añade un dispositivo de bloque, para determinar si el dispositivo debe formar parte de un dispositivo multitrayecto o no.

multipathd daemon

Crea y elimina automáticamente dispositivos multitrayecto y supervisa las rutas; a medida que las rutas fallan y vuelven, puede actualizar el dispositivo multitrayecto. Permite realizar cambios interactivos en los dispositivos multitrayectoria. Recarga el servicio si hay algún cambio en el archivo /etc/multipath.conf.

kpartx comando

Crea dispositivos de mapeo de dispositivos para las particiones de un dispositivo. Este comando es ejecutado automáticamente por udev cuando se crean dispositivos multipath para crear dispositivos de partición sobre ellos. El comando kpartx se proporciona en su propio paquete, pero el paquete device-mapper-multipath depende de él.

mpathpersist

Establece SCSI-3 reservas persistentes en dispositivos multitrayectoria. Esta orden funciona de forma similar a la de sg_persist para los dispositivos SCSI que no son multitrayectoria, pero se encarga de establecer reservas persistentes en todas las rutas de un dispositivo multitrayectoria. Se coordina con multipathd para asegurar que las reservas se establecen correctamente en las rutas que se añaden posteriormente. Para utilizar esta funcionalidad, el atributo reservation_key debe estar definido en el archivo /etc/multipath.conf. De lo contrario, el demonio multipathd no comprobará la existencia de reservas persistentes en las rutas recién descubiertas o en las restablecidas.

Recursos adicionales

  • La página de manual multipath.
  • La página de manual multipathd.
  • El archivo /etc/multipath.conf.

Capítulo 2. Dispositivos multirruta

Sin DM Multipath, el sistema trata cada ruta desde un nodo servidor a un controlador de almacenamiento como un dispositivo separado, incluso cuando la ruta de E/S conecta el mismo nodo servidor al mismo controlador de almacenamiento. DM Multipath proporciona una forma de organizar las rutas de E/S de forma lógica, creando un único dispositivo multipath sobre los dispositivos subyacentes.

2.1. Identificadores de dispositivos multirruta

Cuando los nuevos dispositivos están bajo el control de DM Multipath, estos dispositivos se crean en el directorio /dev/mapper/ y /dev/. Cualquier dispositivo de la forma /dev/dm-X es sólo para uso interno y nunca debe ser utilizado por el administrador directamente.

Nombres de dispositivos multirruta:

  • Cuando la opción de configuración user_friendly_names se establece en no, el nombre del dispositivo multirruta se establece como World Wide Identifier (WWID). Por defecto, el nombre de un dispositivo multirruta se establece con su WWID. El nombre del dispositivo sería /dev/mapper/WWID. También se crea en el directorio /dev/, con el nombre /dev/dm-X.
  • Alternativamente, puede establecer la opción user_friendly_names a yes en el archivo /etc/multipath.conf. Esto establece el alias en la sección multipath a un nombre único de nodo de la forma mpathN. El nombre del dispositivo sería /dev/mapper/mpathN y /dev/dm-X. Pero no se garantiza que el nombre del dispositivo sea el mismo en todos los nodos que utilizan el dispositivo multipath. Del mismo modo, si se establece la opción alias en el archivo /etc/multipath.conf, el nombre no es automáticamente consistente en todos los nodos del clúster.

    Esto no debería causar ninguna dificultad si utiliza LVM para crear dispositivos lógicos desde el dispositivo multipath. Para mantener los nombres de sus dispositivos multipath consistentes en cada nodo, Red Hat recomienda desactivar la opción user_friendly_names.

Por ejemplo, un nodo con dos HBAs conectados a un controlador de almacenamiento con dos puertos por medio de un único switch FC no zonificado ve cuatro dispositivos: /dev/sda, /dev/sdb, /dev/sdc, y /dev/sdd. DM Multipath crea un único dispositivo con un WWID único que redirige la E/S a esos cuatro dispositivos subyacentes según la configuración de multipath.

Además de las opciones user_friendly_names y alias, un dispositivo multitrayecto también tiene otros atributos. Puedes modificar estos atributos para un dispositivo multitrayecto específico creando una entrada para ese dispositivo en la sección multipaths del archivo /etc/multipath.conf.

Recursos adicionales

2.2. Dispositivos multirruta en volúmenes lógicos

Después de crear dispositivos multipath, puedes utilizar los nombres de los dispositivos multipath de la misma manera que utilizarías un nombre de dispositivo físico al crear un volumen físico LVM. Por ejemplo, si /dev/mapper/mpatha es el nombre de un dispositivo multipath, el comando pvcreate /dev/mapper/mpatha marca /dev/mapper/mpatha como un volumen físico.

Puede utilizar el dispositivo físico LVM resultante cuando cree un grupo de volúmenes LVM de la misma manera que utilizaría cualquier otro dispositivo físico LVM.

Nota

Si intenta crear un volumen físico LVM en un dispositivo completo en el que ha configurado particiones, el comando pvcreate falla. Los programas de instalación de Anaconda y Kickstart crean tablas de particiones vacías si no se especifica lo contrario para cada dispositivo de bloque. Si desea utilizar todo el dispositivo en lugar de crear una partición, elimine las particiones existentes del dispositivo. Puede eliminar las particiones existentes con el comando kpartx -d device y la utilidad fdisk. Si su sistema tiene dispositivos de bloque de más de 2Tb, utilice la utilidad parted para eliminar las particiones.

Cuando se crea un volumen lógico LVM que utiliza arrays active/passive multipath como los dispositivos físicos subyacentes, se puede opcionalmente, incluir filtros en el archivo /etc/lvm/lvm.conf para excluir los discos que subrayan los dispositivos multipath. Esto se debe a que si el array cambia automáticamente la ruta activa a la pasiva cuando recibe E/S, multipath fallará y volverá a fallar cada vez que LVM escanee la ruta pasiva si estos dispositivos no están filtrados. Para los arreglos active/passive que requieren un comando para hacer la ruta pasiva activa, LVM imprime un mensaje de advertencia cuando esto ocurre.

Para filtrar todos los dispositivos de sd en el archivo /etc/lvm/lvm.conf, añada el filtro filter = [ "r/block/", "r/disk/", "r/sd./", "a/./" ] en la sección devices del archivo.

Recursos adicionales

Capítulo 3. Configuración de DM Multipath

Antes de configurar DM Multipath en su sistema, asegúrese de que su sistema ha sido actualizado e incluye el paquete device-mapper-multipath.

3.1. Configuración básica de DM Multipath

La configuración de DM Multipath se realiza con la utilidad mpathconf, que crea el archivo de configuración de multipath /etc/multipath.conf.

  • Si el archivo /etc/multipath.conf ya existe, la utilidad mpathconf lo editará.
  • Si el archivo /etc/multipath.conf no existe, la utilidad mpathconf creará el archivo /etc/multipath.conf desde cero.

Para más información sobre la utilidad mpathconf, consulte la página de manual mpathconf(8).

Si no necesita editar el archivo /etc/multipath.conf, puede establecer DM Multipath para una configuración básica de conmutación por error ejecutando el siguiente comando mpathconf. Este comando habilita el archivo de configuración de multipath e inicia el demonio multipathd.

# mpathconf --enable --with_multipathd y

Si necesita editar el archivo /etc/multipath.conf antes de iniciar el demonio multipathd. utilice el siguiente procedimiento para configurar DM Multipath para una configuración básica de conmutación por error.

  1. Introduzca el comando mpathconf con la opción --enable especificada:

    # mpathconf --enable

    Para obtener información sobre las opciones adicionales del comando mpathconf que pueda necesitar, consulte la página del manual mpathconf(8) o introduzca el comando mpathconf con la opción --help especificada.

    # mpathconf --help
    usage: /sbin/mpathconf <command>
    
    Commands:
    Enable: --enable
    Disable: --disable
    Set user_friendly_names (Default y): --user_friendly_names <y|n>
    Set find_multipaths (Default y): --find_multipaths <y|n>
    Load the dm-multipath modules on enable (Default y): --with_module  <y|n>
    start/stop/reload multipathd (Default n): --with_multipathd  <y|n>
  2. Edite el archivo /etc/multipath.conf si es necesario. Los ajustes por defecto para DM Multipath están compilados en el sistema y no es necesario establecerlos explícitamente en el archivo /etc/multipath.conf.

    El valor por defecto de path_grouping_policy se establece en failover, por lo que en este ejemplo no es necesario editar el archivo /etc/multipath.conf.

    La sección de valores iniciales del archivo de configuración configura su sistema para que los nombres de los dispositivos multipath sean de la forma /dev/mapper/mpathn ; sin esta configuración, los nombres de los dispositivos multipath tendrían el alias del WWID del dispositivo. Si no desea utilizar nombres amigables, puede introducir el siguiente comando:

    # mpathconf --enable --user_friendly_names n
  3. Guarde el archivo de configuración y salga del editor, si es necesario.
  4. Ejecute el siguiente comando:

    # systemctl start multipathd.service
Nota

Si necesita editar el archivo de configuración de multipath después de haber iniciado el demonio de multipath, debe ejecutar el comando systemctl reload multipathd.service para que los cambios surtan efecto.

3.2. Ignorar los discos locales al generar dispositivos multitrayecto

Algunas máquinas tienen tarjetas SCSI locales para sus discos internos. DM Multipath no se recomienda para estos dispositivos. Si establece el parámetro de configuración find_multipaths en on, no debería tener que incluir estos dispositivos en la lista negra. Si no establece el parámetro de configuración find_multipaths a on, puede utilizar el siguiente procedimiento para modificar el archivo de configuración de multipath para ignorar los discos locales al configurar multipath.

Procedimiento

  1. Determine qué discos son los discos internos. En estos ejemplos, /dev/sda es el disco interno:

    • Muestra los dispositivos multirruta existentes:

      # multipath -v2 -l
      
      SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1 dm-2 WINSYS,SF2372
      size=33 GB features="0" hwhandler="0" wp=rw
      `-+- policy='round-robin 0' prio=0 status=active
        |- 0:0:0:0 sda 8:0 active undef running
    • Muestra los dispositivos multitrayecto adicionales que DM Multipath podría crear:

      # multipath -v2 -d
      
      : SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1 undef WINSYS,SF2372
      size=33 GB features="0" hwhandler="0" wp=undef
      `-+- policy='round-robin 0' prio=1 status=undef
        |- 0:0:0:0 sda 8:0  undef ready running
  2. Edite la sección blacklist del archivo /etc/multipath.conf para incluir este dispositivo.

    Identifica el dispositivo utilizando su atributo WWID. Aunque podría identificar el dispositivo sda utilizando un tipo devnode, no sería un procedimiento seguro porque no se garantiza que /dev/sda sea el mismo al reiniciar.

    En el ejemplo anterior, el WWID del dispositivo /dev/sda es SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1. Para ignorar este dispositivo, incluya lo siguiente en el archivo /etc/multipath.conf:

    blacklist {
          wwid SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1
    }
  3. Vuelva a cargar el archivo /etc/multipath.conf actualizado:

    # systemctl reload multipathd.service

Recursos adicionales

  • Para obtener información sobre el parámetro de configuración find_multipaths y el significado de los valores a los que puede ajustarse este parámetro, consulte la página man multipath.conf(5).

3.3. Configuración de dispositivos de almacenamiento adicionales

Por defecto, DM Multipath incluye soporte para las matrices de almacenamiento más comunes que a su vez soportan DM Multipath. Para obtener información sobre el valor de configuración por defecto, incluyendo los dispositivos soportados, ejecute cualquiera de los siguientes comandos.

# multipathd show config
# multipath -t

Si necesita añadir un dispositivo de almacenamiento que no está soportado por defecto como dispositivo multitrayecto conocido, edite el archivo /etc/multipath.conf e inserte la información apropiada del dispositivo.

Por ejemplo, para añadir información sobre la serie HP Open-V la entrada tiene el siguiente aspecto. Este ejemplo establece que el dispositivo se ponga en cola durante un minuto (o 12 reintentos y 5 segundos por reintento) después de que todas las rutas hayan fallado.

devices {
        device {
                vendor "HP"
                product "OPEN-V"
                no_path_retry 12
        }
}

3.4. Configuración de multipathing en el sistema de archivos initramfs

Puede configurar multipathing en el sistema de archivos initramfs. Después de configurar multipath, puede reconstruir el sistema de archivos initramfs con los archivos de configuración de multipath ejecutando el comando dracut con las siguientes opciones:

# dracut --force --add multipath

Si ejecuta multipath desde el sistema de archivos initramfs y realiza algún cambio en los archivos de configuración de multipath, debe reconstruir el sistema de archivos initramfs para que los cambios surtan efecto.

Capítulo 4. Modificación del archivo de configuración de DM-Multipath

Por defecto, DM Multipath proporciona valores de configuración para los usos más comunes del multipathing. Además, DM Multipath incluye soporte para las matrices de almacenamiento más comunes que a su vez soportan DM Multipath. Para obtener información sobre los valores de configuración por defecto, incluyendo los dispositivos soportados, ejecute cualquiera de los siguientes comandos.

# multipathd show config
# multipath -t

Puede anular los valores de configuración por defecto para DM Multipath editando el archivo de configuración /etc/multipath.conf. Si es necesario, también puede añadir al archivo de configuración una matriz de almacenamiento que no esté soportada por defecto.

Nota

Puede ejecutar la configuración de multipathing en el sistema de archivos initramfs. Si ejecuta multipath desde el sistema de archivos initramfs y realiza algún cambio en los archivos de configuración de multipath, deberá reconstruir el sistema de archivos initramfs para que los cambios surtan efecto.

En el fichero de configuración de multipath, debe especificar sólo las secciones que necesita para su configuración, o que desea cambiar de los valores por defecto. Si hay secciones del fichero que no son relevantes para tu entorno o para las que no necesitas anular los valores por defecto, puedes dejarlas comentadas, tal y como están en el fichero inicial.

El archivo de configuración permite la sintaxis de descripción de expresiones regulares.

Puede encontrar más información sobre el archivo de configuración en la página de manual multipath.conf(5).

4.1. Resumen del archivo de configuración

El archivo de configuración de multipath se divide en las siguientes secciones:

lista negra
Lista de dispositivos específicos que no se tendrán en cuenta para la trayectoria múltiple.
lista_negra_excepciones
Listado de candidatos a multitrayecto que, de otro modo, estarían en la lista negra según los parámetros de la sección de la lista negra.
valores predeterminados
Configuración general por defecto para DM Multipath.
multipaths
Configuración de las características de los dispositivos individuales de multirruta. Estos valores sobrescriben lo especificado en las secciones overrides, devices, y defaults del archivo de configuración.
dispositivos
Configuración de los controladores de almacenamiento individuales. Estos valores sobrescriben lo especificado en la sección defaults del archivo de configuración. Si está utilizando una matriz de almacenamiento que no está soportada por defecto, es posible que tenga que crear una subsección devices para su matriz.
anula
Valores que se aplican a todos los dispositivos. Estos valores sobrescriben lo especificado en las secciones devices y defaults del archivo de configuración.

Cuando el sistema determina los atributos de un dispositivo multitrayecto, primero comprueba la configuración de multitrayecto, luego la configuración de los dispositivos y, por último, los valores predeterminados del sistema multitrayecto.

4.2. DM Multipath anula el tiempo de espera del dispositivo

La opción recovery_tmo sysfs controla el tiempo de espera para un dispositivo iSCSI concreto. Las siguientes opciones anulan globalmente los valores de recovery_tmo:

  • La opción de configuración replacement_timeout anula globalmente el valor de recovery_tmo para todos los dispositivos iSCSI.
  • Para todos los dispositivos iSCSI gestionados por DM Multipath, la opción fast_io_fail_tmo en DM Multipath anula globalmente el valor de recovery_tmo.

    La opción fast_io_fail_tmo en DM Multipath también anula la opción fast_io_fail_tmo en los dispositivos Fibre Channel.

La opción de DM Multipath fast_io_fail_tmo tiene prioridad sobre replacement_timeout. Red Hat no recomienda utilizar replacement_timeout para anular recovery_tmo en los dispositivos gestionados por DM Multipath porque DM Multipath siempre restablece recovery_tmo cuando el servicio multipathd se recarga.

4.3. Lista negra de dispositivos de DM Multipath

La sección blacklist del archivo de configuración de multipath especifica los dispositivos que no se utilizarán cuando el sistema configure los dispositivos de multipath. Los dispositivos que estén en la lista negra no se agruparán en un dispositivo multipath.

Si el parámetro de configuración find_multipaths se establece como off, multipath siempre intenta crear un dispositivo multipath para cada ruta que no esté explícitamente en la lista negra. Si el parámetro de configuración find_multipaths se establece en on, entonces multipath creará un dispositivo sólo si se cumple una de las tres condiciones:

  • Hay al menos dos rutas que no están en la lista negra con el mismo WWID.
  • El usuario fuerza manualmente la creación del dispositivo especificando un dispositivo con el comando multipath.
  • Una ruta tiene el mismo WWID que un dispositivo multitrayecto creado previamente (incluso si ese dispositivo multitrayecto no existe actualmente). Cada vez que se crea un dispositivo multitrayecto, multipath recuerda el WWID del dispositivo, de modo que volverá a crear automáticamente el dispositivo en cuanto vea una ruta con ese WWID. Esto permite que multipath elija automáticamente las rutas correctas para convertirlas en dispositivos multipath, sin tener que editar la lista negra de multipath.

    Si ha creado previamente un dispositivo multirruta sin utilizar el parámetro find_multipaths y más tarde establece el parámetro en on, es posible que tenga que eliminar los WWID de cualquier dispositivo que no desee crear como dispositivo multirruta del archivo /etc/multipath/wwids. A continuación se muestra un ejemplo de archivo /etc/multipath/wwids. Los WWIDs están encerrados por barras (/):

    # Multipath wwids, Version : 1.0
    # NOTE: This file is automatically maintained by multipath and multipathd.
    # You should not need to edit this file in normal circumstances.
    #
    # Valid WWIDs:
    /3600d0230000000000e13955cc3757802/
    /3600d0230000000000e13955cc3757801/
    /3600d0230000000000e13955cc3757800/
    /3600d02300069c9ce09d41c31f29d4c00/
    /SWINSYS  SF2372         0E13955CC3757802/
    /3600d0230000000000e13955cc3757803/

Además de on y off, también puede configurar find_multipaths con los siguientes valores:

  • strict: multipath nunca acepta rutas que no han sido previamente multipathed y por lo tanto no están en el archivo /etc/multipath/wwids.
  • smart: multipath siempre acepta dispositivos no incluidos en la lista negra de udev tan pronto como aparecen, pero si multipathd no crea el dispositivo dentro de un tiempo de espera establecido con el parámetro find_multipaths_timeout, liberará su reclamo sobre el dispositivo. Para obtener información sobre el parámetro find_multipaths_timeout, consulte la página de manual multipath.conf(5).

El valor por defecto de find_multipaths es off. Sin embargo, el archivo por defecto multipath.conf creado por mpathconf, establecerá el valor de find_multipaths en on.

Para más información sobre los valores que puede establecer para find_multipaths, consulte la página de manual multipath.conf(5).

Con el parámetro find_multipaths ajustado a on, sólo es necesario poner en la lista negra los dispositivos con múltiples rutas que no se desea que sean multitrazados. Debido a esto, generalmente no será necesario hacer una lista negra de dispositivos.

Si necesita hacer una lista negra de dispositivos, puede hacerla por WWID, nombre de dispositivo, tipo de dispositivo, propiedad y protocolo. Para cada dispositivo, estos cinco criterios de la lista negra se evalúan en el orden "propiedad, devnode, dispositivo, protocolo, wwid". Si un dispositivo resulta estar en la lista negra por cualquiera de los criterios, se excluye de la gestión por multipathd, y los criterios posteriores no se evalúan. Para cada criterio, la lista blanca tiene prioridad sobre la lista negra si un dispositivo coincide con ambas.

Por defecto, una variedad de tipos de dispositivos están en la lista negra, incluso después de comentar la sección de la lista negra inicial del archivo de configuración. Para obtener información, consulte Sección 4.3.2, “Lista negra por nombre de dispositivo”.

4.3.1. Lista negra de WWID

Puede especificar los dispositivos individuales para la lista negra por su World-Wide IDentification con una entrada wwid en la sección blacklist del archivo de configuración.

El siguiente ejemplo muestra las líneas del archivo de configuración que pondrían en la lista negra un dispositivo con un WWID de 26353900f02796769.

blacklist {
       wwid 26353900f02796769
}

4.3.2. Lista negra por nombre de dispositivo

Puede poner en una lista negra los tipos de dispositivos por nombre de dispositivo para que no se agrupen en un dispositivo multirruta especificando una entrada devnode en la sección blacklist del archivo de configuración.

El siguiente ejemplo muestra las líneas del archivo de configuración que pondría en la lista negra a todos los dispositivos SCSI, ya que pone en la lista negra a todos los dispositivos sd*.

blacklist {
       devnode "^sd[a-z]"
}

Puede utilizar una entrada de devnode en la sección blacklist del archivo de configuración para especificar dispositivos individuales a la lista negra en lugar de todos los dispositivos de un tipo específico. Sin embargo, esto no se recomienda, ya que a menos que se asigne estáticamente por las reglas de udev, no hay garantía de que un dispositivo específico tendrá el mismo nombre en el reinicio. Por ejemplo, el nombre de un dispositivo podría cambiar de /dev/sda a /dev/sdb al reiniciar.

Por defecto, las siguientes entradas de devnode se compilan en la lista negra por defecto; los dispositivos que estas entradas incluyen en la lista negra no suelen soportar DM Multipath. Para habilitar el multipathing en cualquiera de estos dispositivos, tendría que especificarlos en la sección blacklist_exceptions del archivo de configuración, como se describe en Sección 4.3.6, “Excepciones de la lista negra”.

blacklist {
       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
       devnode "^(td|ha)d[a-z]"
}

4.3.3. Lista negra por tipo de dispositivo

Puede especificar tipos de dispositivos específicos en la sección blacklist del archivo de configuración con una sección device. El siguiente ejemplo pone en la lista negra todos los dispositivos IBM DS4200 y HP.

blacklist {
       device {
               vendor  "IBM"
               product "3S42"       #DS4200 Product 10
       }
       device {
               vendor  "HP"
               product ".*"
       }
}

4.3.4. Lista negra por propiedad de udev

Las secciones blacklist y blacklist_exceptions del archivo de configuración multipath.conf admiten el parámetro property. Este parámetro permite a los usuarios poner en la lista negra ciertos tipos de dispositivos. El parámetro property toma una cadena de expresión regular que se compara con el nombre de la variable de entorno udev para el dispositivo.

El siguiente ejemplo pone en la lista negra todos los dispositivos con la propiedad udev ID_ATA.

blacklist {
        property "ID_ATA"
}

4.3.5. Lista negra por protocolo de dispositivo

Se puede especificar el protocolo de un dispositivo para excluirlo de multipathing en la sección blacklist del fichero de configuración con una sección protocol. Las cadenas de protocolo que reconoce multipath son scsi:fcp, scsi:spi, scsi:ssa, scsi:sbp, scsi:srp, scsi:iscsi, scsi:sas, scsi:adt, scsi:ata, scsi:unspec, ccw, cciss, nvme y undef. El protocolo que utiliza una ruta puede verse ejecutando el comando multipathd show paths format "%d %P".

El siguiente ejemplo pone en la lista negra todos los dispositivos con un protocolo indefinido o un tipo de transporte SCSI desconocido.

blacklist {
        protocol "scsi:unspec"
        protocol "undef"
}

4.3.6. Excepciones de la lista negra

Puede utilizar la sección blacklist_exceptions del archivo de configuración para habilitar el multipathing en dispositivos que han sido incluidos en la lista negra por defecto.

Por ejemplo, si tienes un gran número de dispositivos y quieres hacer multipath sólo a uno de ellos (con el WWID de 3600d0230000000000e13955cc3757803), en lugar de poner en la lista negra individualmente a cada uno de los dispositivos excepto al que quieres, podrías ponerlos en la lista negra a todos, y luego permitir sólo al que quieres añadiendo las siguientes líneas al archivo /etc/multipath.conf.

blacklist {
        wwid ".*"
}

blacklist_exceptions {
        wwid "3600d0230000000000e13955cc3757803"
}

Al especificar los dispositivos en la sección blacklist_exceptions del archivo de configuración, debe especificar las excepciones de la misma manera que se especificaron en la lista negra. Por ejemplo, una excepción WWID no se aplicará a los dispositivos especificados por una entrada de la lista negra devnode, incluso si el dispositivo de la lista negra está asociado con ese WWID. Del mismo modo, las excepciones de devnode sólo se aplican a las entradas de devnode, y las excepciones de device sólo se aplican a las entradas de dispositivos.

El parámetro property funciona de forma diferente a los demás parámetros blacklist_exception. Si el parámetro está activado, el dispositivo debe tener una variable udev que coincida. De lo contrario, el dispositivo se incluye en la lista negra. Este parámetro permite a los usuarios poner en una lista negra los dispositivos SCSI que multipath debería ignorar, como las memorias USB y los discos duros locales. Para permitir sólo los dispositivos SCSI que puedan ser razonablemente multipathed, establecer este parámetro a SCSI_IDENT_|ID_WWN) como en el siguiente ejemplo.

blacklist_exceptions {
        property "(SCSI_IDENT_|ID_WWN)"
}

4.4. Modificación de los valores por defecto del archivo de configuración de multipath

El archivo de configuración /etc/multipath.conf incluye una sección defaults que establece el parámetro user_friendly_names en yes, como sigue.

defaults {
        user_friendly_names yes
}

Esto sobrescribe el valor por defecto del parámetro user_friendly_names.

El archivo de configuración incluye una plantilla de valores predeterminados de configuración. Esta sección está comentada, como sigue.

#defaults {
#       polling_interval        10
#       path_selector           "round-robin 0"
#       path_grouping_policy    multibus
#       uid_attribute           ID_SERIAL
#       prio                    alua
#       path_checker            readsector0
#       rr_min_io               100
#       max_fds                 8192
#       rr_weight               priorities
#       failback                immediate
#       no_path_retry           fail
#       user_friendly_names     yes
#}

Para sobrescribir el valor por defecto de cualquiera de los parámetros de configuración, puede copiar la línea correspondiente de esta plantilla en la sección defaults y descomentarla. Por ejemplo, para sobrescribir el parámetro path_grouping_policy de modo que sea multibus en lugar del valor por defecto de failover, copie la línea correspondiente de la plantilla en la sección inicial defaults del archivo de configuración y descoméntela, como sigue.

defaults {
        user_friendly_names     yes
        path_grouping_policy    multibus
}

Para información sobre los atributos que se establecen en la sección defaults del archivo de configuración multipath.conf vea la página man multipath.conf(5). Estos valores son utilizados por DM Multipath a menos que sean sobrescritos por los atributos especificados en las secciones devices, multipaths, o overrides del archivo multipath.conf.

4.5. Modificación de la configuración de la ruta múltiple para dispositivos específicos

Los atributos de la sección multipaths del archivo de configuración multipath.conf se aplican sólo a la multiruta especificada. Estos valores predeterminados son utilizados por DM Multipath y anulan los atributos establecidos en las secciones overrides, defaults, y devices del archivo multipath.conf.

Para obtener información sobre los atributos que se establecen en la sección multipaths del archivo de configuración multipath.conf, consulte la página man multipath.conf(5).

El siguiente ejemplo muestra los atributos de multipath especificados en el archivo de configuración para dos dispositivos específicos de multipath. El primer dispositivo tiene un WWID de 3600508b4000156d70001200000b0000 y un nombre simbólico de yellow.

El segundo dispositivo multirruta del ejemplo tiene un WWID de 1DEC_321816758474 y un nombre simbólico de red. En este ejemplo, los atributos rr_weight se establecen en priorities.

multipaths {
       multipath {
              wwid                  3600508b4000156d70001200000b0000
              alias                 yellow
              path_grouping_policy  multibus
              path_selector         "round-robin 0"
              failback              manual
              rr_weight             priorities
              no_path_retry         5
       }
       multipath {
              wwid                  1DEC_321816758474
              alias                 red
              rr_weight             priorities
        }
}

4.6. Modificación de la configuración de la ruta múltiple para los controladores de almacenamiento

La sección devices del archivo de configuración multipath.conf establece los atributos para los dispositivos de almacenamiento individuales. Estos atributos son utilizados por DM Multipath a menos que sean sobrescritos por los atributos especificados en las secciones multipaths o overrides del archivo multipath.conf para las rutas que contienen el dispositivo. Estos atributos anulan los atributos establecidos en la sección defaults del archivo multipath.conf.

Para obtener información sobre los atributos que se establecen en la sección devices del archivo de configuración multipath.conf, consulte la página man multipath.conf(5).

Muchos dispositivos que soportan multipathing están incluidos por defecto en una configuración multipath. Para obtener información sobre el valor de la configuración por defecto, incluidos los dispositivos compatibles, ejecute cualquiera de los siguientes comandos.

# multipathd show config
# multipath -t

Probablemente no necesitará modificar los valores de estos dispositivos, pero si lo hace puede sobrescribir los valores por defecto incluyendo una entrada en el archivo de configuración del dispositivo que sobrescriba esos valores. Puede copiar los valores por defecto de la configuración del dispositivo que muestra el comando multipathd show config y anular los valores que desee cambiar.

Para añadir un dispositivo que no está configurado automáticamente por defecto a esta sección del archivo de configuración, es necesario establecer los parámetros vendor y product. Puede encontrar estos valores en /sys/block/device_name/device/vendor y /sys/block/device_name/device/model donde device_name es el dispositivo que va a ser multitrazado, como en el siguiente ejemplo:

# cat /sys/block/sda/device/vendor
WINSYS
# cat /sys/block/sda/device/model
SF2372

Los parámetros adicionales a especificar dependen de su dispositivo específico. Si el dispositivo es activo/activo, normalmente no necesitará establecer parámetros adicionales. Es posible que desee establecer path_grouping_policy a multibus. Otros parámetros que puede necesitar establecer son no_path_retry y rr_min_io.

Si el dispositivo es activo/pasivo, pero cambia automáticamente las rutas con E/S a la ruta pasiva, necesita cambiar la función de comprobación a una que no envíe E/S a la ruta para probar si está funcionando (de lo contrario, su dispositivo seguirá fallando). Esto casi siempre significa que se establece el path_checker a tur; esto funciona para todos los dispositivos SCSI que soportan el comando Test Unit Ready, que es la mayoría.

Si el dispositivo necesita un comando especial para cambiar de ruta, entonces la configuración de este dispositivo para multipath requiere un módulo de kernel hardware handler. El manejador de hardware disponible actualmente es emc. Si esto no es suficiente para su dispositivo, es posible que no pueda configurar el dispositivo para multipath.

El siguiente ejemplo muestra una entrada de device en el archivo de configuración de multipath.

#	}
#	device {
#		vendor			"COMPAQ  "
#		product			"MSA1000         "
#		path_grouping_policy	multibus
#		path_checker		tur
#		rr_weight		priorities
#	}
#}

4.7. Establecer los valores de la trayectoria múltiple para todos los dispositivos

La sección overrides del archivo de configuración multipath.conf le permite establecer un valor de configuración para todos sus dispositivos. Por ejemplo, puede querer que todos los dispositivos establezcan no_path_retry a fail. Esta sección admite todos los atributos que admiten las secciones devices y defaults del archivo de configuración multipath.conf, es decir, todos los atributos de la sección devices excepto vendor, product y revision. Estos atributos son utilizados por DM Multipath para todos los dispositivos a menos que sean sobrescritos por los atributos especificados en la sección multipaths del archivo multipath.conf para las rutas que contienen el dispositivo. Estos atributos anulan los atributos establecidos en las secciones devices y defaults del archivo multipath.conf.

Para obtener información sobre los atributos que se establecen en las secciones devices y defaults del archivo de configuración multipath.conf, consulte la página de manual multipath.conf(5).

Capítulo 5. Gestión de volúmenes de varias vías

DM-Multipath proporciona una variedad de herramientas y comandos que puede utilizar para gestionar los volúmenes multipath.

5.1. El comando multipath

El comando multipath se utiliza para detectar y unir múltiples rutas a los dispositivos. Proporciona una variedad de opciones que puede utilizar para administrar sus dispositivos con múltiples rutas.

enTabla 5.1, “Opciones útiles del comando multipath se describen algunas opciones del comando multipath que pueden resultarle útiles.

Tabla 5.1. Opciones útiles del comando multipath

OpciónDescripción

-l

Muestra la configuración actual de la ruta múltiple obtenida de sysfs y del mapeador de dispositivos.

-ll

Muestra la configuración actual de multipath obtenida de sysfs, el mapeador de dispositivos y todos los demás componentes disponibles en el sistema.

-f device

Elimina el dispositivo multirruta nombrado.

-F

Elimine todos los dispositivos multitrayectoria no utilizados.

-w device

Elimina el wwid del dispositivo especificado del archivo wwids.

-W

Restablece el archivo wwids para incluir sólo los dispositivos multirruta actuales.

5.1.1. Salida del comando Multipath

Al crear, modificar o listar un dispositivo multirruta, se muestra la configuración actual del dispositivo. El formato es el siguiente.

Para cada dispositivo multirruta:

action_if_any: alias (wwid_if_different_from_alias) dm_device_name_if_known vendor,product size=size features='features' hwhandler='hardware_handler' wp=write_permission_if_known

Para cada grupo de rutas:

- - policy='scheduling_policy' prio=prio_if_known status=path_group_status_if_known

Para cada camino:

 `- host:channel:id:lun devnode major:minor dm_status_if_known path_status online_status

Por ejemplo, la salida de un comando de multirruta podría aparecer de la siguiente manera:

3600d0230000000000e13955cc3757800 dm-1 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 6:0:0:0 sdb 8:16  active ready  running
`-+- policy='round-robin 0' prio=1 status=enabled
  `- 7:0:0:0 sdf 8:80  active ready  running

Si la ruta está activa y lista para la E/S, el estado de la ruta es ready o ghost. Si la ruta está inactiva, el estado es faulty o shaky. El estado de la ruta es actualizado periódicamente por el demonio multipathd basado en el intervalo de sondeo definido en el archivo /etc/multipath.conf.

Otros valores posibles del estado de la ruta son los siguientes.

  • i/o pending: El verificador está comprobando activamente esta ruta, y el estado se actualizará en breve.
  • i/o timeout: Es lo mismo que faulty. Permite al usuario saber que el verificador no devolvió ni éxito ni fracaso antes del periodo de tiempo de espera.
  • removed: La ruta ha sido eliminada del sistema, y en breve será eliminada del dispositivo multirruta. Se trata igual que faulty.
  • wild: multipathd no pudo ejecutar el comprobador de rutas, debido a un error interno o a un problema de configuración. Esto es más o menos lo mismo que faulty, excepto que multipath omitirá muchas acciones en la ruta.
  • unchecked: El comprobador de rutas no se ha ejecutado en esta ruta, ya sea porque acaba de ser descubierta, no tiene un comprobador de rutas asignado o el comprobador de rutas ha encontrado un error. Esto se trata igual que wild.
  • delayed: El comprobador de rutas ha devuelto que la ruta está activa, pero multipath está retrasando el restablecimiento de la ruta porque la ruta ha fallado recientemente varias veces y multipath ha sido configurado para retrasar las rutas en este caso.

El estado dm es similar al estado de la ruta, pero desde el punto de vista del kernel. El estado dm active cubre los estados de ruta ready y ghost. El estado de ruta pending no tiene un estado dm equivalente. Todos los demás estados de ruta se asignan al estado dm failed. El estado dm mantendrá su estado actual hasta que el comprobador de rutas haya finalizado.

Los valores posibles para online_status son running y offline. Un estado de offline significa que este dispositivo SCSI ha sido desactivado.

Nota

Cuando se está creando o modificando un dispositivo multirruta, se desconoce el estado del grupo de rutas, el nombre del dispositivo dm, los permisos de escritura y el estado del dm. Además, las características no siempre son correctas.

5.1.2. Visualización de la configuración multirruta

Puedes utilizar las opciones -l y -ll del comando multipath para mostrar la configuración actual de multipath. La opción -l muestra la topología multitrayectoria recopilada a partir de la información de sysfs y del mapeador de dispositivos. La opción -ll muestra la información que muestra la opción -l además de todos los demás componentes disponibles del sistema.

Cuando se muestra la configuración de multipath, se puede especificar un nivel de verbosidad con la opción -v del comando multipath. Si se especifica -v0 no se obtiene ninguna salida. Si se especifica -v1 sólo se obtienen los nombres de las rutas múltiples creadas o actualizadas, que se pueden utilizar para otras herramientas como kpartx. Si se especifica -v2 se imprimen todas las rutas detectadas, los multitrayectos y los mapas de dispositivos. Para obtener información aún más detallada, también puede especificar -v3, -v4 , o -v5.

El siguiente ejemplo muestra la salida de un comando multipath -l.

# multipath -l
3600d0230000000000e13955cc3757800 dm-1 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-- policy='round-robin 0' prio=1 status=active
| `- 6:0:0:0 sdb 8:16  active ready  running
`-- policy='round-robin 0' prio=1 status=enabled
  `- 7:0:0:0 sdf 8:80  active ready  running

El siguiente ejemplo muestra la salida de un comando multipath -ll.

# multipath -ll
3600d0230000000000e13955cc3757801 dm-10 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-- policy='round-robin 0' prio=1 status=enabled
| `- 19:0:0:1 sdc 8:32  active ready  running
`-- policy='round-robin 0' prio=1 status=enabled
  `- 18:0:0:1 sdh 8:112 active ready  running
3600d0230000000000e13955cc3757803 dm-2 WINSYS,SF2372
size=125G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 19:0:0:3 sde 8:64  active ready  running
  `- 18:0:0:3 sdj 8:144 active ready  running

5.2. Cambiar el tamaño de un dispositivo multirruta en línea

Si necesita cambiar el tamaño de un dispositivo multirruta en línea, utilice el siguiente procedimiento.

  1. Cambia el tamaño de tu dispositivo físico.
  2. Ejecute el siguiente comando para encontrar las rutas de acceso al LUN:

    # multipath -l
  3. Cambie el tamaño de sus rutas. Para los dispositivos SCSI, escribir un 1 en el archivo rescan para el dispositivo hace que el controlador SCSI vuelva a explorar, como en el siguiente comando:

    # echo 1 > /sys/block/path_device/device/rescan

    Asegúrese de ejecutar este comando para cada uno de los dispositivos de ruta. Por ejemplo, si sus dispositivos de ruta son sda, sdb, sde y sdf, deberá ejecutar los siguientes comandos:

    # echo 1 > /sys/block/sda/device/rescan
    # echo 1 > /sys/block/sdb/device/rescan
    # echo 1 > /sys/block/sde/device/rescan
    # echo 1 > /sys/block/sdf/device/rescan
  4. Redimensiona tu dispositivo multipath ejecutando el comando multipathd resize:

    # multipathd resize map multipath_device
  5. Redimensionar el sistema de archivos (asumiendo que no se utilizan particiones LVM o DOS):

    # resize2fs /dev/mapper/mpatha

5.3. Traslado de un sistema de archivos raíz de un dispositivo de ruta única a un dispositivo de ruta múltiple

Si ha instalado su sistema en un dispositivo de una sola ruta y más tarde añade otra ruta al sistema de archivos raíz, tendrá que mover su sistema de archivos raíz a un dispositivo de varias rutas. Esta sección documenta el procedimiento para pasar de un dispositivo de una sola ruta a uno de varias rutas.

Después de asegurarse de que ha instalado el paquete device-mapper-multipath, realice el siguiente procedimiento:

  1. Ejecute el siguiente comando para crear el archivo de configuración /etc/multipath.conf, cargue el módulo multipath y establezca chkconfig para el multipathd a on:

    # mpathconf --enable
  2. Si el parámetro de configuración find_multipaths no está establecido en yes, edite las secciones blacklist y blacklist_exceptions del archivo /etc/multipath.conf, como se describe en Sección 4.3, “Lista negra de dispositivos de DM Multipath”.
  3. Para que multipath construya un dispositivo multipath sobre el dispositivo raíz tan pronto como lo descubra, introduzca el siguiente comando. Este comando también asegura que find_multipaths permitirá el dispositivo, incluso si sólo tiene una ruta.

    # multipath -a root_devname

    Por ejemplo, si el dispositivo raíz es /dev/sdb, introduzca el siguiente comando.

    # multipath -a /dev/sdb
    wwid '3600d02300069c9ce09d41c4ac9c53200' added
  4. Para confirmar que su archivo de configuración está configurado correctamente, puede introducir el comando multipath y buscar en la salida una línea con el siguiente formato. Esto indica que el comando falló al crear el dispositivo multipath.

    date  wwid: ignoring map

    Por ejemplo, si el WWID del dispositivo es 3600d02300069c9ce09d41c4ac9c53200, verá una línea en la salida como la siguiente:

    # multipath
    Oct 21 09:37:19 | 3600d02300069c9ce09d41c4ac9c53200: ignoring map
  5. Para reconstruir el sistema de archivos initramfs con multipath, ejecute el comando dracut con las siguientes opciones:

    # dracut --force -H --add multipath
  6. Apaga la máquina.
  7. Configure el conmutador FC para que las otras rutas sean visibles para la máquina.
  8. Arranca la máquina.
  9. Comprueba si el sistema de archivos raíz ('/') está en el dispositivo multipista.

5.4. Traslado de un sistema de archivos swap de un dispositivo de ruta única a un dispositivo de ruta múltiple

Por defecto, los dispositivos de intercambio se configuran como volúmenes lógicos. Esto no requiere ningún procedimiento especial para configurarlos como dispositivos multipath, siempre y cuando se configure el multipathing en los volúmenes físicos que constituyen el grupo de volúmenes lógicos. Sin embargo, si su dispositivo de intercambio no es un volumen LVM y está montado por nombre de dispositivo, es posible que tenga que editar el archivo /etc/fstab para cambiar al nombre de dispositivo multipath apropiado.

  1. Determine el número WWID del dispositivo de intercambio ejecutando el comando /sbin/multipath con la opción -v3. La salida del comando debería mostrar el dispositivo de intercambio en la lista de rutas.

    Debe buscar en la salida del comando una línea con el siguiente formato, mostrando el dispositivo de intercambio:

    WWID  H:B:T:L devname MAJOR:MINOR

    Por ejemplo, si su sistema de archivos de intercambio está configurado en sda o en una de sus particiones, verá una línea en la salida como la siguiente:

    ===== paths list =====
    ...
    1ATA     WDC WD800JD-75MSA3                           WD-WMAM9F 1:0:0:0 sda 8:0
    ...
  2. Establezca un alias para el dispositivo de intercambio en el archivo /etc/multipath.conf:

    multipaths {
        multipath {
            wwid WWID_of_swap_device
            alias swapdev
        }
    }
  3. Edite el archivo /etc/fstab y sustituya la antigua ruta del dispositivo raíz por la del dispositivo multirruta.

    Por ejemplo, si tuviera la siguiente entrada en el archivo /etc/fstab:

    /dev/sda2 swap                    swap    defaults        0 0

    Se cambiaría la entrada por la siguiente:

    /dev/mapper/swapdev swap          swap    defaults        0 0

5.5. Determinación de las entradas del mapeador de dispositivos con el comando dmsetup

Puede utilizar el comando dmsetup para averiguar qué entradas del mapeador de dispositivos coinciden con los dispositivos multipathed.

El siguiente comando muestra todos los dispositivos del mapeador de dispositivos y sus números mayores y menores. Los números menores determinan el nombre del dispositivo dm. Por ejemplo, un número menor de 3 corresponde al dispositivo multipathed /dev/dm-3.

# dmsetup ls
mpathd  (253:4)
mpathep1        (253:12)
mpathfp1        (253:11)
mpathb  (253:3)
mpathgp1        (253:14)
mpathhp1        (253:13)
mpatha  (253:2)
mpathh  (253:9)
mpathg  (253:8)
VolGroup00-LogVol01     (253:1)
mpathf  (253:7)
VolGroup00-LogVol00     (253:0)
mpathe  (253:6)
mpathbp1        (253:10)
mpathd  (253:5)

5.6. Administración del demonio multipathd

Los comandos multipathd se pueden utilizar para administrar el demonio multipathd. Para obtener información sobre los comandos disponibles de multipathd, consulte la página man de multipathd(8).

El siguiente comando muestra el formato estándar por defecto para la salida del comando multipathd show maps.

# multipathd show maps
name sysfs uuid
mpathc dm-0 360a98000324669436c2b45666c567942

Algunos comandos de multipathd incluyen una opción format seguida de un comodín. Puede mostrar una lista de comodines disponibles con el siguiente comando.

# multipathd show wildcards

El comando multipathd admite comandos de formato que muestran el estado de los dispositivos y rutas multitrayecto en versiones de formato "crudo". En el formato raw, no se imprimen cabeceras y los campos no se rellenan para alinear las columnas con las cabeceras. En su lugar, los campos se imprimen exactamente como se especifica en la cadena de formato. Esta salida puede utilizarse más fácilmente para la creación de scripts. Puede mostrar los comodines utilizados en la cadena de formato con el comando multipathd show wildcards.

Los siguientes comandos de multipathd muestran los dispositivos multipath que multipathd está monitorizando, utilizando una cadena de formato con comodines multipath, en formato regular y raw.

list|show maps|multipaths format $format
list|show maps|multipaths raw format $format

Los siguientes comandos de multipathd muestran las rutas que multipathd está monitoreando, usando una cadena de formato con comodines de múltiples rutas, en formato regular y crudo.

list|show paths format $format
list|show paths raw format $format

Los siguientes comandos muestran la diferencia entre los formatos no raw y raw para el multipathd show maps. Observe que en el formato raw no hay cabeceras y sólo hay un espacio entre las columnas.

# multipathd show maps format "%n %w %d %s"
name   uuid                              sysfs vend/prod/rev
mpathc 360a98000324669436c2b45666c567942 dm-0  NETAPP,LUN

# multipathd show maps raw format "%n %w %d %s"
mpathc 360a98000324669436c2b45666c567942 dm-0 NETAPP,LUN

5.7. Limpieza de archivos de rutas múltiples al eliminar un paquete

Si tiene ocasión de eliminar el archivo device-mapper-multipath rpm , tenga en cuenta que esto no elimina los archivos /etc/multipath.conf, /etc/multipath/bindings y /etc/multipath/wwids. Es posible que tenga que eliminar esos archivos manualmente en posteriores instalaciones del paquete device-mapper-multipath.

Directiva no resuelta en master.adoc - include::assemblies/assembly_removing-storage-devices.adoc[leveloffset= 1] :leveloffset: 1

Parte I. Solución de problemas de DM Multipath

Si tiene problemas para implementar una configuración multirruta, hay una serie de problemas que puede comprobar.

Capítulo 6. Lista de comprobación para la resolución de problemas de DM Multipath

Los siguientes problemas pueden dar lugar a una configuración multirruta lenta o que no funcione.

6.1. El demonio multipath no se está ejecutando

Si tiene problemas para implementar una configuración de multirruta, debe asegurarse de que el demonio de multirruta se está ejecutando, como se describe en Capítulo 3, Configuración de DM Multipath.

El demonio multipathd debe estar en funcionamiento para poder utilizar los dispositivos multipathed.

6.2. Problemas con la función queue_if_no_path

Si un dispositivo multirruta está configurado con features "1 queue_if_no_path", entonces cualquier proceso que emita E/S se colgará hasta que se restablezcan una o más rutas. Para evitar esto, establezca el parámetro no_path_retry N en el archivo /etc/multipath.conf (donde N es el número de veces que el sistema debe reintentar una ruta).

Si necesita utilizar la opción features "1 queue_if_no_path" y experimenta el problema señalado aquí, puede desactivar la política de colas en tiempo de ejecución para un LUN concreto (es decir, para el que todas las rutas no están disponibles). El siguiente comando desactiva la cola para un dispositivo específico.

multipathd disablequeueing map device

El siguiente comando desactiva la cola para todos los dispositivos.

multipathd disablequeueing maps

Después de desactivar la cola de un dispositivo, ésta permanecerá desactivada hasta que se reinicie o recargue multipathd o hasta que se ejecute uno de los siguientes comandos.

El siguiente comando restablece la cola de espera a su valor anterior para un dispositivo específico.

mapa de cola de restauración multipathd device

El siguiente comando restablece la cola a su valor anterior para todos los dispositivos.

mapas de cola de restauración multipathd

Capítulo 7. Solución de problemas con la consola interactiva multipathd

El comando multipathd -k es una interfaz interactiva para el demonio multipathd. Al introducir este comando se abre una consola interactiva de multipath. Después de ejecutar este comando, puede ingresar help para obtener una lista de comandos disponibles, puede ingresar un comando interactivo, o puede ingresar CTRL-D para salir.

La consola interactiva multipathd puede utilizarse para solucionar los problemas que pueda tener el sistema. Por ejemplo, la siguiente secuencia de comandos muestra la configuración de multipath, incluyendo los valores por defecto, antes de salir de la consola.

# multipathd -k
> > show config
> > CTRL-D

La siguiente secuencia de comandos asegura que el multipath ha recogido cualquier cambio en el multipath.conf,

# multipathd -k
> > reconfigure
> > CTRL-D

Utilice la siguiente secuencia de comandos para asegurarse de que el comprobador de rutas funciona correctamente.

# multipathd -k
> > show paths
> > CTRL-D

Capítulo 8. Configuración del tiempo máximo de recuperación de errores de almacenamiento con eh_deadline

Puede configurar el tiempo máximo permitido para recuperar los dispositivos SCSI que han fallado. Esta configuración garantiza un tiempo de respuesta de E/S incluso cuando el hardware de almacenamiento deja de responder debido a un fallo.

8.1. El parámetro eh_deadline

El mecanismo de manejo de errores SCSI (EH) intenta realizar la recuperación de errores en los dispositivos SCSI fallidos. El parámetro SCSI host object eh_deadline le permite configurar la cantidad máxima de tiempo para la recuperación. Después de que el tiempo configurado expira, SCSI EH se detiene y reinicia todo el adaptador de bus de host (HBA).

El uso de eh_deadline puede reducir el tiempo:

  • para cerrar una ruta fallida,
  • para cambiar de ruta, o
  • para desactivar una porción de RAID.
Aviso

Cuando eh_deadline expira, SCSI EH reinicia el HBA, lo que afecta a todas las rutas de destino de ese HBA, no sólo a la que falla. Si algunas de las rutas redundantes no están disponibles por otras razones, pueden producirse errores de E/S. Habilite eh_deadline sólo si tiene una configuración multirruta totalmente redundante en todos los objetivos.

Escenarios en los que eh_deadline es útil

En la mayoría de los escenarios, no es necesario habilitar eh_deadline. El uso de eh_deadline puede ser útil en ciertos escenarios específicos, por ejemplo, si se produce una pérdida de enlace entre un conmutador de canal de fibra (FC) y un puerto de destino, y el HBA no recibe notificaciones de cambio de estado registrado (RSCN). En tal caso, las solicitudes de E/S y los comandos de recuperación de errores se agotan en lugar de encontrar un error. La configuración de eh_deadline en este entorno pone un límite superior al tiempo de recuperación. Esto permite que la E/S fallida sea reintentada en otra ruta disponible por DM Multipath.

En las siguientes condiciones, la funcionalidad eh_deadline no proporciona ningún beneficio adicional, porque los comandos de E/S y de recuperación de errores fallan inmediatamente, lo que permite a DM Multipath reintentar:

  • Si los RSCN están activados
  • Si el HBA no registra que el enlace no está disponible

Valores posibles

El valor de eh_deadline se especifica en segundos.

La configuración por defecto es off, que desactiva el límite de tiempo y permite que se produzca toda la recuperación de errores.

8.2. Fijación del parámetro eh_deadline

Este procedimiento configura el valor del parámetro eh_deadline para limitar el tiempo máximo de recuperación SCSI.

Procedimiento

  • Puede configurar eh_deadline utilizando cualquiera de los siguientes métodos:

    sysfs
    Escriba el número de segundos en los archivos /sys/class/scsi_host/host*/eh_deadline.
    Parámetro del núcleo
    Establezca un valor por defecto para todos los HBAs SCSI utilizando el parámetro del kernel scsi_mod.eh_deadline.