Resumen de rutas múltiples
Una ruta es una conexión entre un servidor y el almacenamiento subyacente. La ruta se puede cortar debido a muchas razones, como un HBA defectuoso, un cable defectuoso, etc. Para evitar ese punto único de fallas, existe la ruta múltiple. Las rutas múltiples garantizan que el sistema utilice varias rutas físicas para proporcionar redundancia y un mayor rendimiento. Existen muchas implementaciones de rutas múltiples específicas de proveedores, como PowerPath de EMC y Symantecs VxDMP.
¿Qué es la ruta múltiple de Device Mapper
?Device Mapper Multipathing (o DM-multipathing) es una herramienta de múltiples rutas nativa de Linux, que le permite configurar múltiples rutas de E/S entre nodos de servidor y arreglos de almacenamiento en un solo dispositivo. Estas rutas de E/S son conexiones SAN físicas que pueden incluir cables, conmutadores y controladores separados. Las rutas múltiples agregan las rutas de E/S, creando un nuevo dispositivo que consta de las rutas agregadas. Independientemente del hardware del proveedor en uso, el mapeador de dispositivos crea un dispositivo de bloque en /dev/mapper/ para cada LUN conectado al sistema.
Componentes del asignador de dispositivos
Los componentes importantes de las rutas múltiples de Device Mapper son:
Componente | Descripción |
---|---|
dm-multipath | módulo del kernel responsable de tomar decisiones de enrutamiento en condiciones normales/de falla |
múltiples rutas | Comando utilizado para ver/listar dispositivos de rutas múltiples y para la configuración inicial |
múltiples rutas | demonio que controla la ruta, marca las rutas fallidas, reactiva las rutas restauradas, agrega/elimina archivos de dispositivos según sea necesario. |
kpartx | comando utilizado para crear entradas de mapeador de dispositivos para particiones en LUN de rutas múltiples. Se invoca automáticamente cuando se usa el comando de rutas múltiples. |
Cómo verificar si DMMP está instalado y configurado
# rpm -qa |grep device-mapper device-mapper-1.02.39-1.el5 device-mapper-multipath-0.4.7-34.el5 device-mapper-1.02.39-1.el5 device-mapper-event-1.02.39-1.el5
# lsmod |grep dm_multipath dm_multipath 56921 2 dm_round_robin scsi_dh 42177 2 scsi_dh_rdac,dm_multipath dm_mod 101649 11 dm_mirror,dm_multipath,dm_raid45,dm_log
# This is a basic configuration file with some examples, for device mapper multipath ...... # Blacklist all devices by default. Remove this to enable multipathing # on the default devices. #blacklist { # devnode "*" #} ......
# /etc/init.d/multipathd status "multipathd (pid 11405) is running..."
# multipath -v2 or # multipath -ll mpath15 (3600a0b8000473abc0000bafc52fac127) dm-14 SUN,STK6580_6780 [size=10G][features=0][hwhandler=0][rw] _ round-robin 0 [prio=1][enabled] _ 8:0:0:2 sds 65:32 [active][ready] _ round-robin 0 [prio=0][enabled] _ 9:0:0:2 sdu 65:64 [active][faulty] mpath13 (3600a0b8000473abc0000bb74530aa7da) dm-12 SUN,STK6580_6780 [size=931G][features=0][hwhandler=0][rw] _ round-robin 0 [prio=1][enabled] _ 9:0:0:0 sdp 8:240 [active][ready] _ round-robin 0 [prio=0][enabled] _ 8:0:0:0 sdo 8:224 [active][faulty]
Si todos los pasos anteriores tienen éxito, el sistema está configurado para DMMP.
Configuración de rutas múltiples
Antes de comenzar a configurar las rutas múltiples, asegúrese de que device-mapper-multipath el paquete está instalado. Si no está instalado, instálelo usando yum :
# yum -y install device-mapper-multipath
Las rutas múltiples del mapeador de dispositivos utilizan el archivo de configuración /etc/multipath.conf para la configuración. Si realiza algún cambio en este archivo, múltiples rutas se debe ejecutar el comando para volver a configurar los dispositivos de rutas múltiples. La forma más fácil de crear este archivo es usar mpathconf utilidad. Si hay un archivo de configuración existente, mpathconf lo editará; si no existe, copiará /usr/share/doc/device-mapper-multipath-*/multipath.conf .
# mpathconf --enable --with_multipathd y --with_chkconfig y
El archivo de configuración consta de 5 secciones principales como se muestra a continuación:
Sección | Descripción |
---|---|
predeterminados | configuración predeterminada a nivel del sistema |
lista negra | Dispositivos en la lista negra. Dispositivos que no deben configurarse en DMMP |
lista negra_excepciones | Excepciones a los dispositivos en la lista negra |
dispositivos | configuraciones para dispositivos controladores de almacenamiento individuales |
rutas múltiples | configuración precisa de LUN individuales |
Verificación de la configuración
El múltiple camino El comando se puede utilizar para verificar la configuración multipathinf. Para obtener una lista de la información sobre dispositivos multirruta:
# multipath -ll mpath0 (3600a0b8000473abc0000bafc52fac127) dm-14 SUN,STK6580_6780 [size=10G][features=0][hwhandler=0][rw] _ round-robin 0 [prio=1][enabled] _ 8:0:0:2 sds 65:32 [active][ready] _ round-robin 0 [prio=0][enabled] _ 9:0:0:2 sdu 65:64 [active][faulty]
El resultado muestra un LUN con rutas múltiples, mpath0 . El número que le sigue es el WWID de LUN . El estado activo/listo indica que la ruta está lista para E/S. Si la ruta muestra defectuoso/fallido entonces debe repararse antes de usarlo para E/S. Una vez completada la configuración, podemos iniciar el multipathd de forma persistente:
# /etc/init.d/multipathd start # chkconfig multipathd on
Nombres de dispositivos fáciles de usar
Para solucionar problemas de manera eficiente, el mapeador de dispositivos se puede configurar para tener nombres de dispositivos legibles por humanos y fáciles de usar en /dev/mapper en lugar de utilizar los WWID. Los nombres fáciles de usar como /dev/mapper/mpath0 se puede crear habilitando los user_friendly_names opción en el archivo /etc/multipath.conf:
defaults { user_friendly_names yes }
También puede controlar el nombre de un LUN en particular usando la opción de alias:
multipaths { multipath { wwid 3600a0b8000473abc0000bafc52fac127 alias mdisk001 } }
Eliminar rutas múltiples
Después de eliminar todas las rutas de un dispositivo de rutas múltiples, ejecute el siguiente comando para eliminar el dispositivo de rutas múltiples por completo:
# multipath -f [device]
Para vaciar todo el dispositivo con rutas múltiples después de detener el demonio multipahtd:
# multipath -F