XenServer

Multipathing de almacenamiento

La compatibilidad con multipathing dinámico está disponible para back-ends de almacenamiento Fibre Channel e iSCSI.

XenServer® utiliza el multipathing nativo de Linux (DM-MP), la solución genérica de multipathing de Linux, como su controlador de multipathing. Sin embargo, XenServer complementa este controlador con características adicionales para que XenServer pueda reconocer las características específicas del proveedor de los dispositivos de almacenamiento.

La configuración de multipathing proporciona redundancia para el tráfico de almacenamiento remoto si hay una pérdida parcial de conectividad. El multipathing enruta el tráfico de almacenamiento a un dispositivo de almacenamiento a través de múltiples rutas para redundancia y un mayor rendimiento. Puede utilizar hasta 16 rutas a una única LUN. El multipathing es una configuración activo-activo. De forma predeterminada, el multipathing utiliza el equilibrio de carga round-robin o multibus, según el tipo de matriz de almacenamiento. Todas las rutas tienen tráfico activo durante el funcionamiento normal, lo que resulta en un mayor rendimiento.

Importante:

Recomendamos que habilite el multipathing para todos los hosts de su grupo antes de crear el SR. Si crea el SR antes de habilitar el multipathing, debe poner sus hosts en modo de mantenimiento para habilitar el multipathing.

El enlace de NIC también puede proporcionar redundancia para el tráfico de almacenamiento. Para el almacenamiento iSCSI, recomendamos configurar el multipathing en lugar del enlace de NIC siempre que sea posible.

El multipathing no es efectivo en los siguientes escenarios:

  • Dispositivos de almacenamiento NFS
  • Tiene un número limitado de NIC y necesita enrutar el tráfico iSCSI y el tráfico de archivos (NFS o SMB) a través de la misma NIC

En estos casos, considere usar el enlace de NIC en su lugar. Para obtener más información sobre el enlace de NIC, consulte Redes.

Requisitos previos

Antes de habilitar el multipathing, verificar que las siguientes afirmaciones son verdaderas:

  • Hay varios destinos disponibles en su servidor de almacenamiento.

    Por ejemplo, un back-end de almacenamiento iSCSI consultado para sendtargets en un portal dado devuelve varios destinos, como en el siguiente ejemplo:

      iscsiadm -m discovery --type sendtargets --portal 192.168.0.161
      192.168.0.161:3260,1 iqn.strawberry:litchie
      192.168.0.204:3260,2 iqn.strawberry:litchie
    

    Sin embargo, puede realizar una configuración adicional para habilitar la multiruta iSCSI para matrices que solo exponen un único destino. Para obtener más información, consulte Multiruta iSCSI para matrices que solo exponen un único destino.

  • Solo para iSCSI, el dominio de control (dom0) tiene una dirección IP en cada subred utilizada por el almacenamiento con multiruta.

    Asegúrese de que, para cada ruta que desee tener al almacenamiento, tenga una NIC y que haya una dirección IP configurada en cada NIC. Por ejemplo, si desea cuatro rutas a su almacenamiento, debe tener cuatro NIC, cada una con una dirección IP configurada.

  • Solo para iSCSI, cada destino e iniciador iSCSI tiene un IQN único.

  • Solo para iSCSI, los puertos de destino iSCSI están operando en modo de portal.

  • Solo para HBA, varias HBA están conectadas a la estructura del conmutador.

  • Al configurar interfaces secundarias, cada interfaz secundaria debe estar en una subred separada. Por ejemplo, si desea configurar dos interfaces secundarias más para el almacenamiento, necesitará direcciones IP en tres subredes diferentes: una subred para la interfaz de administración, una subred para la interfaz secundaria 1 y una subred para la interfaz secundaria 2.

    Diagrama de iSCSI con multiruta

    Este diagrama muestra cómo ambas NIC del host en una configuración iSCSI con multiruta deben estar en subredes diferentes. En este diagrama, la NIC 1 del host, junto con el conmutador 1 y la NIC 1 de ambos controladores de almacenamiento, están en una subred diferente a la NIC 2, el conmutador 2 y la NIC 2 de los controladores de almacenamiento.

Habilitar la multiruta

Puede habilitar la multiruta en XenCenter® o en la CLI de xe.

Para habilitar la multiruta mediante XenCenter

  1. En el panel Recursos de XenCenter, haga clic con el botón derecho en el host y elija Entrar en modo de mantenimiento.

  2. Espere hasta que el host reaparezca en el panel Recursos con el icono de modo de mantenimiento (un cuadrado azul) antes de continuar.

  3. En la pestaña General del host, haga clic en Propiedades y, a continuación, vaya a la pestaña Multiruta.

  4. Para habilitar la multiruta, seleccione la casilla de verificación Habilitar multiruta en este servidor.

  5. Haga clic en Aceptar para aplicar la nueva configuración. Habrá un breve retraso mientras XenCenter guarda la nueva configuración de almacenamiento.

  6. En el panel Recursos, haga clic con el botón derecho en el host y elija Salir del modo de mantenimiento.

  7. Repita estos pasos para habilitar la multiruta en todos los hosts del grupo.

Asegúrese de habilitar la multiruta en todos los hosts del grupo. Todo el cableado y, en el caso de iSCSI, las configuraciones de subred deben coincidir con las NIC correspondientes en cada host.

Para habilitar la multiruta mediante la CLI de xe

  1. Abra una consola en el host de XenServer.

  2. Desenchufe todos los PBD del host mediante el siguiente comando:

    xe pbd-unplug uuid=<pbd_uuid>
    <!--NeedCopy-->
    

    Puede usar el comando xe pbd-list para encontrar el UUID de los PBD.

  3. Establezca el valor del parámetro multipathing en true mediante el siguiente comando:

    xe host-param-set uuid=<host uuid> multipathing=true
    <!--NeedCopy-->
    
  4. Si hay SR existentes en el servidor que se ejecutan en modo de ruta única pero que tienen varias rutas:

    • Migre o suspenda cualquier invitado en ejecución con discos virtuales en los SR afectados.

    • Vuelva a conectar el PBD de cualquier SR afectado para volver a conectarlos mediante multiruta:

       xe pbd-plug uuid=<pbd_uuid>
       <!--NeedCopy-->
      
  5. Repita estos pasos para habilitar la multiruta en todos los hosts del grupo.

Asegúrese de habilitar la multiruta en todos los hosts del grupo. Todo el cableado y, en el caso de iSCSI, las configuraciones de subred deben coincidir con las NIC correspondientes en cada host.

Deshabilitar el multipathing

Puede deshabilitar el multipathing en XenCenter o en la CLI de xe.

Para deshabilitar el multipathing mediante XenCenter

  1. En el panel Recursos de XenCenter, haga clic con el botón derecho en el host y elija Entrar en modo de mantenimiento.

  2. Espere hasta que el host reaparezca en el panel Recursos con el icono de modo de mantenimiento (un cuadrado azul) antes de continuar.

  3. En la pestaña General del host, haga clic en Propiedades y, a continuación, vaya a la pestaña Multipathing.

  4. Para deshabilitar el multipathing, desactive la casilla de verificación Habilitar multipathing en este servidor.

  5. Haga clic en Aceptar para aplicar la nueva configuración. Habrá un breve retraso mientras XenCenter guarda la nueva configuración de almacenamiento.

  6. En el panel Recursos, haga clic con el botón derecho en el host y elija Salir del modo de mantenimiento.

  7. Repita estos pasos para configurar el multipathing en todos los hosts del grupo.

Para deshabilitar el multipathing mediante la CLI de xe

  1. Abra una consola en el host de XenServer.

  2. Desconecte todos los PBD del host mediante el siguiente comando:

    xe pbd-unplug uuid=<pbd_uuid>
    <!--NeedCopy-->
    

    Puede usar el comando xe pbd-list para buscar el UUID de los PBD.

  3. Establezca el valor del parámetro multipathing en false mediante el siguiente comando:

    xe host-param-set uuid=<host uuid> multipathing=false
    <!--NeedCopy-->
    
  4. Si hay SRs existentes en el servidor que se ejecutan en modo de ruta única pero que tienen varias rutas:

    • Migre o suspenda cualquier invitado en ejecución con discos virtuales en los SR afectados

    • Desconecte y vuelva a conectar el PBD de cualquier SR afectado para volver a conectarlos usando la multiruta:

       xe pbd-plug uuid=<pbd_uuid>
       <!--NeedCopy-->
      
  5. Repita estos pasos para deshabilitar la multiruta en todos los hosts del pool.

Configurar la multiruta

Para realizar modificaciones adicionales temporales en la configuración de la multiruta, cree archivos con el sufijo .conf en el directorio /etc/multipath/conf.d. Añada la configuración adicional en estos archivos. La multiruta busca en el directorio alfabéticamente los archivos que terminan en .conf y lee la información de configuración de ellos.

No edite el archivo /etc/multipath.conf. Este archivo se sobrescribe con las actualizaciones de XenServer. Si desea realizar cambios permanentes en su configuración de multiruta, póngase en contacto con su proveedor de almacenamiento, quien puede solicitar a nuestro equipo de ingeniería asociado que añada los cambios de forma permanente.

Multiruta iSCSI en una única subred

Puede configurar XenServer para usar la multiruta iSCSI con matrices de almacenamiento que exponen sus destinos e IQN(s) en una única subred. Por ejemplo, puede seguir estos pasos para configurar matrices de almacenamiento de la serie unificada Dell EqualLogic PS y FS.

De forma predeterminada, XenServer establece solo una conexión por destino iSCSI. Por lo tanto, con la configuración predeterminada, la recomendación es usar el enlace de NIC para lograr la conmutación por error y el equilibrio de carga. El procedimiento de configuración descrito en esta sección describe una configuración alternativa, donde se establecen múltiples conexiones iSCSI para una única subred o destino. El enlace de NIC no es necesario.

Nota:

La siguiente configuración solo es compatible con servidores que están conectados exclusivamente a matrices de almacenamiento que exponen sus destinos e IQN(s) a través de una única subred. Estas matrices de almacenamiento deben estar cualificadas para este procedimiento con XenServer.

Para configurar la multiruta:

  1. Haga una copia de seguridad de los datos que desee proteger.

  2. En el panel Recursos de XenCenter, haga clic con el botón derecho en el host y elija Entrar en modo de mantenimiento.

  3. Espere hasta que el host reaparezca en el panel Recursos con el icono de modo de mantenimiento (un cuadrado azul) antes de continuar.

  4. En la pestaña General del host, haga clic en Propiedades y luego vaya a la pestaña Multipathing.

  5. Para habilitar el multipathing, seleccione la casilla de verificación Habilitar multipathing en este servidor.

  6. Haga clic en Aceptar para aplicar la nueva configuración. Habrá un breve retraso mientras XenCenter guarda la nueva configuración de almacenamiento.

  7. En la consola del host, configure de dos a cuatro interfaces Open-iSCSI. Cada interfaz iSCSI se utiliza para establecer una ruta separada. Los siguientes pasos muestran el proceso para dos interfaces:

    1. Configure dos interfaces iSCSI, ejecute los siguientes comandos:

      iscsiadm -m iface --op new -I c_iface1
      iscsiadm -m iface --op new -I c_iface2
      

      Asegúrese de que los nombres de las interfaces tengan el prefijo c_. Si las interfaces no utilizan este estándar de nomenclatura, se ignorarán y se utilizará la interfaz predeterminada en su lugar.

      Nota:

      Esta configuración hace que la interfaz predeterminada se utilice para todas las conexiones. Esto indica que todas las conexiones se están estableciendo utilizando una única interfaz.

    2. Vincule las interfaces iSCSI a xenbr1 y xenbr2, utilizando los siguientes comandos:

      iscsiadm -m iface --op update -I c_iface1 -n iface.net_ifacename -v xenbr1
      iscsiadm -m iface --op update -I c_iface2 -n iface.net_ifacename -v xenbr2
      

      Nota:

      Esta configuración asume que las interfaces de red configuradas para el dominio de control (incluyendo xenbr1 y xenbr2) y xenbr0 se utilizan para la gestión. También asume que las tarjetas NIC utilizadas para la red de almacenamiento son NIC1 y NIC2. Si este no es el caso, consulte su topología de red para descubrir las interfaces de red y las tarjetas NIC que se utilizarán en estos comandos.

  8. En el panel Recursos de XenCenter, haga clic con el botón derecho en el host y elija Salir del modo de mantenimiento. No reanude sus máquinas virtuales todavía.

  9. En la consola del host, ejecute los siguientes comandos para descubrir e iniciar sesión en las sesiones:

    iscsiadm -m discovery -t st -p <IP of SAN>
    iscsiadm -m node -L all
    
  10. Elimine las entradas obsoletas que contienen información de sesión antigua utilizando los siguientes comandos:

    cd /var/lib/iscsi/send_targets/<IP of SAN and port, use ls command to check that>
    rm -rf <iqn of SAN target for that particular LUN>
    
    cd /var/lib/iscsi/nodes/
    rm -rf <entries for that particular SAN>
    
  11. Desconecte la LUN y vuelva a conectarla. Puede hacerlo de una de las siguientes maneras:

    • Después de completar los pasos anteriores en todos los hosts de un grupo, puede usar XenCenter para desconectar y volver a conectar la LUN para todo el grupo.
    • Alternativamente, puede desconectar y destruir el PBD de cada host y luego reparar el SR.

      1. Ejecute los siguientes comandos para desconectar y destruir el PBD:

        1. Busque el UUID del SR:

          xe sr-list
          
        2. Obtenga la lista de PBD asociados con el SR:

          xe pbd-list sr-uuid=<sr_uuid>
          
        3. En la salida del comando anterior, busque el UUID del PBD del repositorio de almacenamiento iSCSI con un ID SCSI no coincidente.

        4. Desconecte y destruya el PBD que identificó.

          xe pbd-unplug uuid=<pbd_uuid>
          xe pbd-destroy uuid=<pbd_uuid>
          
      2. Repare el almacenamiento en XenCenter.

  12. Ahora puede reanudar sus máquinas virtuales.

Multipathing de almacenamiento