Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Descripción del equilibrio de carga en una estructura de proxy de puerta de enlace FCoE-FC

Puede equilibrar o reequilibrar la carga en los puertos en una estructura de proxy de puerta de enlace FCoE-FC para evitar la sobreutilización o subutilización de los vínculos. El equilibrio de carga consiste en distribuir las sesiones entre las interfaces nativas de canal de fibra (FC) (NP_Ports) disponibles que pertenecen a una estructura FC de puerta de enlace local para crear una carga relativamente igual en todos los vínculos de estructura. El reequilibrio de carga consiste en redistribuir las sesiones existentes entre los vínculos NP_Port disponibles en una estructura FC de puerta de enlace local.

Nota:

Una sesión es un inicio de sesión de estructura (FLOGI) o de descubrimiento de estructura (FDISC) en la estructura FC SAN. Sesión no se refiere a sesiones de servidor a almacenamiento de extremo a extremo.

Los vínculos de NP_Port orientados a la estructura de una puerta de enlace FCoE-FC utilizan métodos de equilibrio de carga diferentes a los vínculos Ethernet orientados a la red FCoE.

El equilibrio de la carga en la puerta de enlace FCoE-FC NP_Port los vínculos consta de dos pasos:

  1. Elegir el algoritmo utilizado para equilibrar y reequilibrar la carga del vínculo

  2. Elegir si desea reequilibrar las cargas de vínculo automáticamente o solo cuando se solicita explícitamente un reequilibrio (método de reequilibrio de carga)

Puede configurar un algoritmo de equilibrio de carga diferente y utilizar un método de reequilibrio diferente para cada estructura FC local en la puerta de enlace FCoE-FC. El algoritmo de equilibrio de carga y el reequilibrio automatizado, si están configurados, se aplican a todas las interfaces NP_Port de la estructura FC local.

En este tema se describe:

Algoritmos de equilibrio de carga

Puede elegir uno de los tres algoritmos de equilibrio de carga para configurar la forma en que el conmutador equilibra las cargas de vínculo. El conmutador utiliza el algoritmo configurado para equilibrar las cargas de vínculo cuando se inicializan NP_Ports y cuando se reequilibran las cargas de vínculo. Independientemente de si configura el reequilibrio de carga automatizado o usa el reequilibrio de carga bajo demanda, el conmutador utiliza el algoritmo configurado para equilibrar la carga del vínculo:

  • Equilibrio de carga simple: el conmutador asigna cada sesión ENode FLOGI y VN_Port sesión FDISC al vínculo con menor carga. El conmutador puede colocar las sesiones FDISC en un vínculo diferente al de la sesión FLOGI principal (una sesión ENode FLOGI y sus sesiones FDISC posteriores se pueden colocar en diferentes vínculos). El equilibrio de carga simple es el algoritmo de equilibrio de carga predeterminado. El reequilibrio de la carga del vínculo interrumpe solo las sesiones seleccionadas para minimizar el impacto (el conmutador utiliza un algoritmo para cerrar sesión solo las sesiones que deben moverse a otros vínculos para equilibrar la carga cuando esas sesiones vuelven a iniciar sesión).

  • Equilibrio de carga basado en ENode: cuando un ENode inicia sesión en la estructura, el conmutador coloca todas las sesiones VN_Port FDISC posteriores asociadas con ese ENode en el mismo vínculo que la sesión de ENode FLOGI, independientemente de la carga del vínculo. Los nuevos ENode FLOGIs se colocan en el enlace menos cargado. El conmutador calcula la carga del vínculo basándose en el total combinado de FLOGI y FDISC en cada NP_Port vínculo. Reequilibrar la carga del vínculo interrumpe todas las sesiones (todas las sesiones cierran sesión y vuelven a iniciar sesión).

  • Equilibrio de carga basado en FLOGI: similar al equilibrio de carga basado en ENode; cuando un ENode inicia sesión en la estructura, el conmutador coloca todas las sesiones posteriores de VN_Port FDISC asociadas con ese ENode en el mismo vínculo que la sesión de ENode FLOGI, independientemente de la carga del vínculo. Los nuevos ENode FLOGIs se colocan en el enlace menos cargado.

    Una diferencia entre el equilibrio de carga basado en ENode y el equilibrio de carga basado en FLOGI es que el conmutador calcula la carga del vínculo basándose únicamente en el número de FLOGI en cada vínculo NP_Port. El algoritmo no cuenta los FDISC. Otra diferencia es que, en lugar de interrumpir todas las sesiones en un reequilibrio de carga de vínculo, el sistema interrumpe solo las sesiones seleccionadas para minimizar el impacto (el conmutador utiliza un algoritmo para cerrar sesión solo las sesiones que deben moverse a otros vínculos para equilibrar la carga cuando esas sesiones vuelven a iniciar sesión).

Nota:

Cambiar el algoritmo de equilibrio de carga cuando se ejecutan sesiones de FCoE obliga a las sesiones de FCoE a cerrar sesión y, a continuación, volver a iniciar sesión.

Si no configura explícitamente el algoritmo de equilibrio de carga, el conmutador utiliza un equilibrio de carga simple de forma predeterminada en todas las interfaces NP_Port que pertenecen a una estructura FC local determinada.

En las secciones siguientes se describe cómo funciona cada algoritmo, sus ventajas y desventajas, y lo que sucede cuando aparecen vínculos NP_Port por primera vez, cuando se agrega un vínculo NP_Port a los vínculos existentes y cuando se reequilibra la carga del vínculo:

Equilibrio de carga simple

El equilibrio de carga simple proporciona el equilibrio de carga más equitativo entre los vínculos porque cada sesión FDISC VN_Port se puede asignar al vínculo menos cargado, independientemente de si la sesión principal de ENode FLOGI está en ese vínculo. (El ENode primario es el ENode que origina los inicios de sesión en la estructura. Después de que el ENode principal inicie sesión, el VN_Ports de ese ENode puede iniciar sesión en la estructura mediante FDISC).

La puerta de enlace FCoE-FC realiza un equilibrio de carga simple de forma predeterminada en los NP_Ports que conectan la puerta de enlace a la SAN FC. Cuando un ENode envía una solicitud FLOGI a la puerta de enlace, la puerta de enlace comprueba los NP_Ports que la conectan a la SAN FC y asigna la nueva sesión al vínculo menos cargado.

Cada vez que un ENode envía una solicitud FLOGI o FDISC, la puerta de enlace asigna la nueva sesión al vínculo NP_Port menos cargado. Después de que la puerta de enlace asigna una sesión FLOGI de ENode a un NP_Port, las solicitudes FDISC posteriores del mismo ENode pueden dar lugar a que las sesiones se asignen a diferentes NP_Ports, ya que la puerta de enlace siempre asigna la nueva sesión a la interfaz menos cargada.

Nota:

Debido a que VN_Port sesiones pueden colocarse en un vínculo diferente al de su ENode principal, si el vínculo que contiene el ENode deja de funcionar, solo la sesión de ENode y cualquiera de sus sesiones VN_Port que estén en ese vínculo se caerán. VN_Port sesiones en otros enlaces permanecen activas mientras el enlace esté activo y el VN_Port no esté desconectado.

Cuando aparece un nuevo vínculo, el conmutador cierra la sesión de suficientes para que, cuando las sesiones vuelvan a iniciar sesión, se coloquen en el nuevo vínculo y las cargas del vínculo estén equilibradas. El conmutador utiliza un algoritmo para cerrar sesión de la manera menos perjudicial cerrando primero la sesión de los FDISC cuyo FLOGI no está en el mismo vínculo, luego los FLOGI menos cargados (cargados en términos de inicios de sesión FDISC relacionados).

Del mismo modo, cuando se reequilibra la carga de un vínculo existente, el conmutador cierra solo las sesiones suficientes para que, cuando las sesiones vuelvan a iniciar sesión, equilibren la carga de los vínculos existentes. En este caso (reequilibrio sin un nuevo vínculo), el conmutador tiene en cuenta las dependencias entre FLOGI y FDISC al seleccionar sesiones para cerrar sesión.

El algoritmo de equilibrio de carga simple utiliza la suma de las sesiones FLOGI y FDISC para determinar la carga de la sesión en cada vínculo tanto para el equilibrio de carga inicial como para el reequilibrio de carga.

Equilibrio de carga basado en ENode

El equilibrio de carga basado en ENode puede resultar en una carga menos equilibrada en los vínculos NP_Port porque las sesiones VN_Port FDISC se asignan al mismo vínculo que la sesión principal de ENode FLOGI, independientemente de cuántas sesiones FDISC estén asociadas con ENode. Sin embargo, el equilibrio de carga basado en ENode tiene la ventaja de mantener todas las sesiones asociadas con un ENode en particular en un enlace, lo que proporciona un mejor control y previsibilidad.

Cuando se utiliza el algoritmo de equilibrio de carga basado en ENode, la puerta de enlace asigna el ENode a un vínculo NP_Port cuando el ENode envía su mensaje FLOGI a la puerta de enlace. La puerta de enlace coloca la sesión de ENode en el vínculo menos cargado en ese momento. Las VN_Port sesiones FDISC asociadas con un ENode se colocan en el mismo vínculo que la sesión ENode FLOGI, independientemente de la carga del vínculo. Básicamente, las sesiones de ENode tienen un equilibrio de carga, pero las sesiones de VN_Port no.

El equilibrio de carga basado en ENode garantiza que cada ENode y sus sesiones de VN_Port asociadas se asignen al mismo vínculo de NP_Port. El equilibrio de carga basado en ENode proporciona más control y previsibilidad, y garantiza que si el enlace que lleva un ENode deja de funcionar, todas las sesiones de VN_Port asociadas a ENodes también caen.

La desventaja del equilibrio de carga basado en ENode es que si un ENode tiene un gran número de sesiones y los otros ENodes no, el vínculo que lleva el ENode con el gran número de sesiones podría tener una carga mucho mayor que los otros enlaces NP_Port en la estructura del proxy de puerta de enlace.

Por ejemplo, si una estructura de puerta de enlace tiene dos NP_Ports conectadas a la estructura FC y dos ENodes inician sesión en la estructura, se coloca una sesión de ENode en cada vínculo. Si se inician dos sesiones VN_Port en uno de los ENodes, esas sesiones se colocan en el mismo vínculo que el ENode principal. Si se inician 1000 sesiones de VN_Port en el otro ENode, todas las sesiones de 1000 VN_Port se colocan en el mismo enlace que ese ENode. En este caso, un enlace tiene 3 sesiones (1 sesión ENode FLOGI y 2 sesiones VN_Port FDISC) y el otro enlace tiene 1001 sesiones (1 sesión ENode FLOGI y 1000 sesiones VN_Port FDISC).

Cuando surge un vínculo nuevo o cuando se reequilibra una carga existente, el conmutador cierra la sesión de todas las sesiones (FLOGI y FDISC) de la estructura. A medida que las sesiones vuelven a iniciar sesión, el conmutador las asigna a NP_Ports de manera equilibrada, con todos los FDISC asignados al mismo vínculo que el FLOGI principal. Se acerca un nuevo vínculo o un reequilibrio interrumpe todas las sesiones existentes.

El algoritmo de equilibrio de carga basado en ENode utiliza la suma de las sesiones FLOGI y FDISC para determinar la carga de la sesión en cada vínculo tanto para el equilibrio de carga inicial como para el reequilibrio de carga.

Equilibrio de carga basado en FLOGI

El equilibrio de carga basado en FLOGI es similar al equilibrio de carga basado en ENode en la mayoría de los aspectos:

  • Puede resultar en una carga menos equilibrada entre los vínculos NP_Port porque las sesiones VN_Port FDISC se asignan al mismo vínculo que la sesión FLOGI principal de ENode, independientemente de cuántas sesiones FDISC estén asociadas con ENode.

  • Cuando un ENode inicia sesión con un FLOGI, la puerta de enlace coloca la sesión en el vínculo menos cargado y los inicios de sesión FDISC asociados con el FLOGI se colocan en el mismo vínculo, independientemente de la carga del vínculo.

  • Proporciona control y previsibilidad porque cada ENode y sus sesiones de VN_Port asociadas (FDISC) se asignan al mismo vínculo, por lo que si el vínculo en el que se encuentra un ENode deja de funcionar, todas sus sesiones asociadas también se caen.

  • Si un ENode tiene un gran número de sesiones y los otros ENodes no, el vínculo que lleva el ENode con el gran número de sesiones podría tener una carga mucho mayor que los otros enlaces NP_Port en la estructura proxy de puerta de enlace.

El equilibrio de carga basado en FLOGI difiere del equilibrio de carga basado en ENode en dos aspectos importantes:

  1. El conmutador utiliza la suma de las sesiones de FLOGI en un vínculo para determinar la carga del vínculo. El modificador no utiliza sesiones FDISC al calcular el número de sesiones en un vínculo. (El equilibrio de carga basado en ENode utiliza la suma de las sesiones FLOGI y FDISC para calcular el número de sesiones en un vínculo).

  2. Cuando aparece un nuevo vínculo o cuando se reequilibra una carga existente, el conmutador cierra la sesión de suficientes sesiones de FLOGI (y FDISC) para que cuando las sesiones de FLOGI vuelvan a iniciar sesión, la carga se equilibre. El conmutador equilibra la carga basándose únicamente en el número de sesiones de FLOGI, no en la suma de las sesiones de FLOGI y FDISC. Sin embargo, las sesiones FDISC asociadas con un FLOGI siguen al FLOGI hasta el nuevo enlace si la sesión FLOGI es parte del reequilibrio.

El algoritmo de equilibrio de carga basado en FLOGI utiliza solo las sesiones de FLOGI para determinar la carga de sesión en cada vínculo tanto para el equilibrio de carga inicial como para el reequilibrio de carga.

Comparación del algoritmo de equilibrio de carga

La Tabla 1 compara los tres algoritmos de equilibrio de carga y resume sus diferencias, ventajas y desventajas.

Tabla 1: Comparación del algoritmo de equilibrio de carga

Algoritmo de equilibrio de carga

Asignación de sesión

Interrupción de la sesión en el reequilibrio

Session Count (método)

Ventajas

Desventajas

Simple (algoritmo predeterminado)

Las sesiones FDISC se pueden colocar en enlaces diferentes a los de la sesión principal de FLOGI

Número mínimo de sesiones seleccionadas desconectadas (las sesiones FDISC se pueden cerrar independientemente de la sesión principal de FLOGI)

Suma de sesiones FLOGI y FDISC

  • Distribución de sesiones más equitativa entre enlaces

  • Número mínimo de sesiones desconectadas al reequilibrar

  • Algoritmo menos disruptivo

  • Menos control y previsibilidad de la sesión

Basado en ENode

Las sesiones FDISC siempre se colocan en el mismo vínculo que la sesión principal de FLOGI

Se cierra la sesión de todas las sesiones

Suma de sesiones FLOGI y FDISC

  • Mejor control y previsibilidad de la sesión (en el enlace caído, todas las sesiones asociadas con un ENode dejan de funcionar)

  • El algoritmo más disruptivo; Todas las sesiones cerradas en Rebalance

  • Podría resultar en una carga de vínculo menos equilibrada porque los FDISC se colocan en el mismo vínculo que la FLOGI principal

Basado en FLOGI

Las sesiones FDISC siempre se colocan en el mismo vínculo que la sesión principal de FLOGI

Número mínimo de sesiones seleccionadas desconectadas (pero sesiones FDISC cerradas cuando se cierra la sesión principal de FLOGI)

Solo sesiones FLOGI (sesiones FDISC no incluidas en el recuento de sesiones)

  • Mejor control y previsibilidad de la sesión (en el enlace caído, todas las sesiones asociadas con un ENode dejan de funcionar)

  • Número mínimo de sesiones desconectadas al reequilibrar

  • Podría resultar en una carga de vínculo menos equilibrada porque los FDISC se colocan en el mismo vínculo que la FLOGI principal

Métodos de reequilibrio de carga

El método de reequilibrio de carga determina la forma en que el sistema redistribuye las sesiones para equilibrar la carga en los NP_Ports que pertenecen a una estructura FC local en una puerta de enlace FCoE-FC.

Puede reequilibrar la carga existente en los vínculos de NP_Port existentes mediante cualquiera de estos dos métodos:

  • Reequilibrio de carga automatizado: cuando se produce un desencadenante de reequilibrio de carga, el conmutador reequilibra automáticamente las cargas de vínculo mediante la redistribución de las sesiones entre los vínculos NP_Port activos. Hay tres desencadenadores posibles de reequilibrio de carga:

    1. Cuando se habilita el reequilibrio de carga automatizado, el conmutador comprueba el equilibrio de carga en los vínculos de NP_Port existentes. Si los vínculos ya están equilibrados, el conmutador no reequilibra la carga del vínculo. Si los vínculos no están equilibrados, el conmutador reequilibra las cargas del vínculo mediante el algoritmo de equilibrio de carga configurado.

      Al habilitar el reequilibrio de carga automatizado, se cierra la sesión de acuerdo con el algoritmo de equilibrio de carga configurado si la carga del vínculo no está equilibrada. Si la carga del vínculo ya está equilibrada cuando habilita el reequilibrio de carga automatizado, los vínculos no se vuelven a equilibrar. (Deshabilitar el reequilibrio de carga automatizado no es perjudicial porque la carga del vínculo ya está equilibrada).

    2. Cuando aparece un nuevo vínculo NP_Port en una estructura de puerta de enlace FCoE-FC local, el conmutador reequilibra la carga del vínculo mediante el algoritmo de equilibrio de carga configurado si el equilibrio de carga automatizado está habilitado.

    3. Cuando se cambia la velocidad del puerto (a menos que el cambio de velocidad del puerto no cambie la velocidad real del puerto, por ejemplo, cambiar la velocidad del puerto de automático a 8 Gbps).

    Utilice el reequilibrio de carga automatizado si desea que las cargas de vínculo se reequilibren automáticamente cuando se produzca un desencadenador de equilibrio de carga, en lugar de en los momentos que elija. Tenga en cuenta que el reequilibrio de carga es un evento disruptivo (se cierra la sesión de sesión).

  • Reequilibrio de carga bajo demanda: puede elegir cuándo reequilibrar los vínculos de NP_Port solicitando explícitamente un reequilibrio de carga mediante un comando operativo. El sistema reequilibra la carga del vínculo sólo cuando se ejecuta el comando de reequilibrio.

    Utilice el reequilibrio de carga a petición si solo desea reequilibrar la carga del vínculo una vez o si desea reequilibrar las cargas del vínculo en momentos controlados en lugar de automáticamente.

    También puede solicitar una ejecución en seco de reequilibrio de carga. Una ejecución en seco simula el reequilibrio y enumera las sesiones que podrían verse afectadas si decide realizar una operación real de reequilibrio de carga. Las cargas de vínculo no se reequilibran cuando se solicita una ejecución en seco.

Efecto del límite de sesión FIP de la interfaz NP_Port en el equilibrio de carga

El número máximo de sesiones de inicio de sesión FIP configuradas para cada interfaz NP_Port afecta al equilibrio de carga. Cuando una interfaz alcanza su número máximo de sesiones de inicio de sesión FIP, esa interfaz se elimina de la lista de interfaces utilizadas para el equilibrio de carga. Las otras interfaces de la estructura de puerta de enlace seguirán aceptando sesiones de inicio de sesión de ENode hasta que alcancen su límite máximo de sesión configurado. Solo las interfaces que no han alcanzado su límite máximo de sesiones se incluyen en los cálculos de equilibrio de carga.

Nota:

Si todas las interfaces NP_Port de una estructura de puerta de enlace alcanzan sus límites de sesión de inicio de sesión FIP, la estructura envía anuncios de descubrimiento de multidifusión (MDA) posteriores con el bit de disponibilidad establecido en 0 (cero) para evitar intentos adicionales de inicio de sesión de ENode. Mientras se ejecuta el número máximo de sesiones en la estructura de puerta de enlace, ENodes no puede usar esa estructura para iniciar sesión en el conmutador FC. Cuando el número de sesiones cae por debajo del máximo, la puerta de enlace establece el bit de disponibilidad en MDA en 1 para que ENodes pueda volver a iniciar sesión en la estructura.

Disparadores y temporización del equilibrio de carga

Varios eventos desencadenan el equilibrio de carga. Algunos de los eventos activan el equilibrio de carga solo cuando el equilibrio de carga automatizado está habilitado. Otros eventos desencadenan el reequilibrio de carga, independientemente de que el reequilibrio automatizado esté habilitado o no.

En esta sección se describen los desencadenadores de equilibrio de carga, qué sucede cuando se produce la acción de desencadenador y cómo el conmutador determina si se debe equilibrar la carga del vínculo y cuándo:

Activadores de equilibrio de carga

En la Tabla 2 se describen los cuatro eventos diferentes que pueden desencadenar el equilibrio de carga o el reequilibrio de carga. En todos los casos, el reequilibrio de carga de vínculos utiliza el algoritmo de equilibrio de carga configurado para determinar la ubicación de las sesiones en los vínculos.

Tabla 2: Desencadenantes y acciones de equilibrio de carga

Evento desencadenante

Acción

Aparece un nuevo enlace

Desencadena una operación de reequilibrio de carga independientemente de si el reequilibrio de carga automatizado está habilitado o no. (El nuevo vínculo no tiene sesiones, por lo que las sesiones en otros vínculos deben redistribuirse para equilibrar la carga).

La carga de enlaces no se reequilibra si no hay sesiones en los enlaces existentes o si hay tan pocas sesiones en los enlaces existentes que no se pueden redistribuir.

Solicitud de reequilibrio de carga bajo demanda emitida desde CLI

El conmutador comprueba la carga del vínculo NP_Port. Si la carga no está equilibrada entre los vínculos, el conmutador reequilibra la carga del vínculo. Si la carga ya está equilibrada, no pasa nada.

Nota:

Al solicitar una ejecución en seco, se muestran las sesiones que podrían interrumpirse si se reequilibra la carga del vínculo, pero no se reequilibra la carga del vínculo.

Equilibrio de carga automatizado configurado por primera vez

El conmutador comprueba la carga del vínculo NP_Port. Si la carga no está equilibrada entre los vínculos, el conmutador reequilibra la carga del vínculo. Si la carga ya está equilibrada, no pasa nada.

NP_Port cambio de velocidad

Si el reequilibrio automatizado está habilitado, al cambiar la velocidad del puerto, el puerto sube y baja (agita el puerto) y hace que el conmutador reequilibre las cargas del vínculo. Si el cambio de velocidad del puerto no cambia la velocidad real del puerto (por ejemplo, cambiar la velocidad del puerto de automático a 8 Gbps), las cargas de vínculo no se reequilibran.

Si el reequilibrio automatizado no está habilitado, los cambios en la velocidad de los puertos no provocarán el reequilibrio de la carga del vínculo.

Nota:

Cuando un vínculo NP_Port deja de funcionar, no activa el reequilibrio de carga. Las cargas de los vínculos activos restantes ya están equilibradas y, a medida que las sesiones que cierran sesión desde el vínculo descendente vuelven a iniciar sesión, se asignan a los vínculos de una manera equilibrada determinada por el algoritmo de equilibrio de carga configurado.

Temporizador de equilibrio de carga

Cuando se activa el equilibrio de carga desde la CLI, la acción de equilibrio de carga se produce inmediatamente después de ejecutar el comando. Sin embargo, cuando se produce un desencadenador de equilibrio de carga que no es un comando de CLI, el conmutador no equilibra las cargas del vínculo inmediatamente. En su lugar, el conmutador sigue un proceso de temporizador inteligente:

  1. El conmutador comprueba el equilibrio de carga actual en los vínculos NP_Port de la estructura FC de la puerta de enlace local. Si la carga ya está equilibrada, el conmutador no hace nada y no hay interrupción de la sesión.

  2. Si la comprobación muestra que la carga del vínculo no está equilibrada, el conmutador inicia un temporizador de 10 segundos. Si no se producen otros activadores de equilibrio de carga durante el intervalo de 10 segundos, el conmutador reequilibra la carga.

    Si se produce otro desencadenador de equilibrio de carga durante el intervalo de 10 segundos, el temporizador se restablece a 10 segundos. El temporizador de 10 segundos impide que el conmutador realice varias acciones disruptivas de reequilibrio de carga en un corto período de tiempo.

    Nota:

    El conmutador procesa las nuevas sesiones que inician sesión después de que el temporizador se inicia de la manera normal. Las nuevas sesiones se consideran en la evaluación y operación del equilibrio de carga.

  3. En un máximo de 30 segundos después de que se produzca el primer desencadenador de equilibrio de carga, el conmutador vuelve a comprobar el equilibrio de carga del vínculo. Si los vínculos ya están equilibrados, el conmutador cancela la operación de reequilibrio de carga. Si los vínculos no están equilibrados, el conmutador reequilibra las cargas del vínculo.

Nota:

Si el evento desencadenador que inició el temporizador de reequilibrio de carga ya no es válido cuando transcurre el temporizador, el conmutador cancela la operación de reequilibrio. Por ejemplo, si aparece un nuevo vínculo de NP_Port y activa el temporizador, luego cae antes de que caduque el temporizador, el evento de vínculo original ya no es válido y el conmutador cancela la operación de reequilibrio (a menos que se produzca otro desencadenador de reequilibrio válido en ese período de tiempo).

Cuando una operación de reequilibrio de carga de vínculo está en curso, el conmutador aplaza cualquier desencadenador de reequilibrio de carga que se produzca hasta que se complete la operación de reequilibrio de carga. La nueva operación de reequilibrio comienza después de que finalice la operación de reequilibrio actual si una comprobación muestra que es necesario reequilibrar.

Si solicita explícitamente el reequilibrio de carga de la CLI mediante el comando operativo, el conmutador rechaza el comando y muestra un mensaje de error que indica que el request fibre-channel proxy load-rebalance reequilibrio ya está en curso.

Comportamiento de reequilibrio de carga cuando un vínculo deja de funcionar

Si un enlace NP_Port deja de funcionar, se cerrará la sesión de ENode y VN_Port en ese vínculo. Las sesiones ENodes y VN_Port vuelven a iniciar sesión y se asignan a NP_Port vínculos en función de la carga del vínculo y el algoritmo de equilibrio de carga. Si un vínculo deja de funcionar, el conmutador no reequilibra la carga restante en los vínculos restantes para evitar interrumpir las sesiones de ENode y VN_Port existentes. (Además, no es necesario reequilibrar los enlaces de esa manera porque después de que un enlace se cae, las sesiones en los enlaces restantes ya están equilibradas. A medida que las sesiones que cierran sesión vuelven a iniciar sesión, el conmutador las coloca en los vínculos activos restantes de manera equilibrada, de acuerdo con el algoritmo de equilibrio de carga configurado).

Nota:

Cuando se utiliza el algoritmo de equilibrio de carga simple, un ENode y sus sesiones de VN_Port asociadas pueden estar en vínculos diferentes. En ese caso, si el NP_Port con ENode deja de funcionar, solo se cerrará la sesión de los VN_Ports del mismo enlace. VN_Ports en otros enlaces permanecen en funcionamiento.

Algoritmo de cálculo de carga de interfaz

Un algoritmo round-robin ponderado (WRR) determina la carga de la interfaz en función de:

  • El número actual de sesiones en la interfaz

    Nota:

    El algoritmo de equilibrio de carga configurado determina cómo cuenta el conmutador el número de sesiones. Para un equilibrio de carga simple y basado en ENode, el número de sesiones es la suma de las sesiones FLOGI y FDISC en cada vínculo. Para el equilibrio de carga basado en FLOGI, el número de sesiones es la suma de las sesiones de FLOGI en cada vínculo.

  • El peso de la interfaz, que es la velocidad del vínculo de canal de fibra (2 Gbps, 4 Gbps u 8 Gbps)

El algoritmo de carga de la interfaz es:

(número de sesiones * peso máximo) / peso

donde el peso máximo es una constante interna.

Si la carga en las interfaces FC es igual, la sesión se asigna a la interfaz con la velocidad de enlace más alta (el mayor peso).

Por ejemplo, si las tres interfaces FC tienen las características que se muestran en la Tabla 3, las cargas de las interfaces no son iguales:

Tabla 3: Características de equilibrio de carga basadas en sesión de la interfaz FC para cargas desiguales

Interfaz

Número de sesiones

Peso (velocidad)

FC-0/0/0

4

4 Gbps

FC-0/0/1

1

2 Gbps

fc-0/0/2

8

8 Gbps

En este ejemplo, las interfaces fc-0/0/0 y fc-0/0/2 tienen una carga mayor que fc-0/0/1. Para un equilibrio de carga simple, la puerta de enlace asigna el siguiente FLOGI o FDISC nuevo a fc-0/0/1 porque es la interfaz con menor carga. Para el equilibrio de carga basado en ENode y basado en FLOGI, la puerta de enlace asigna el siguiente FLOGI nuevo a fc-0/0/1 porque es la interfaz menos cargada. A continuación, todos VN_Port FDISC de ese ENode siguen el ENode FLOGI y también se asignan a fc-0/0/1 independientemente de la carga del vínculo.

En otro ejemplo, si las tres interfaces FC tienen las características que se muestran en la tabla 4, las cargas de las interfaces son iguales:

Tabla 4: Características de equilibrio de carga basado en sesión de la interfaz FC para cargas iguales

Interfaz

Número de sesiones

Peso (velocidad)

FC-0/0/0

4

4 Gbps

FC-0/0/1

2

2 Gbps

fc-0/0/2

8

8 Gbps

En este caso, todas las interfaces tienen la misma carga relativa. Para un equilibrio de carga simple, la puerta de enlace asigna el siguiente FLOGI o FDISC nuevo a fc-0/0/2 porque, aunque las cargas de las tres interfaces son iguales, fc-0/0/2 tiene el mayor peso. Para el equilibrio de carga basado en ENode y basado en FLOGI, la puerta de enlace asigna el siguiente FLOGI nuevo a fc-0/0/2, y todos VN_Port FDISC de ese ENode siguen el FLOGI de ENode y también se asignan a fc-0/0/2 independientemente de la carga del enlace.

Después de que la puerta de enlace establece una sesión entre un ENode o un VN_Port y un conmutador FC en un NP_Port, la sesión permanece en ese NP_Port hasta que ENode o VN_Port realiza un LOGO.

Si el vínculo de la interfaz FC física deja de funcionar, se cerrarán las sesiones FLOGI y FDISC del vínculo descendente. Los ENodes y VN_Ports vuelven a iniciar sesión para iniciar nuevas sesiones en otros NP_Ports de la estructura FC de la puerta de enlace local de acuerdo con el algoritmo de equilibrio de carga configurado (suponiendo que haya más de un NP_Port conectado a la estructura FC).

Escenarios de equilibrio de carga

El algoritmo de equilibrio de carga configurado, la secuencia en la que ENodes inicia sesión en la red FC, el recuento de sesiones actual (número de sesiones por interfaz) y la velocidad de la interfaz determinan la forma en que se equilibra la carga de la sesión en las interfaces FC nativas (NP_Ports) en una estructura FC de puerta de enlace. Ya sea que esté equilibrando la carga del vínculo por primera vez o reequilibrando una carga de vínculo existente, la forma en que se distribuye la carga entre los vínculos activos es la misma.

Nota:

La forma en que el conmutador cuenta el número de sesiones en un puerto depende del algoritmo de equilibrio de carga. Para un equilibrio de carga simple y basado en ENode, la suma de las sesiones FLOGI y FDISC es igual al recuento de sesiones. Para el equilibrio de carga basado en FLOGI, solo las sesiones de FLOGI se cuentan en el recuento total de sesiones.

En los siguientes escenarios se muestra cómo se asignan las sesiones a los vínculos para cada algoritmo de equilibrio de carga:

Todos los escenarios usan la topología que se muestra en la figura 1.

Figura 1: Ejemplo de topología Sample Load-Balancing Topology de equilibrio de carga

Escenario de algoritmo de equilibrio de carga simple

Un equilibrio de carga simple da como resultado la distribución de carga más equitativa entre los NP_Ports conectados a una estructura FC SAN, ya que VN_Port sesiones FDISC no necesitan "seguir" la sesión principal de ENode FLOGI en el mismo vínculo entre la puerta de enlace y la estructura FC. Cuando se inicia una nueva sesión FLOGI o FDISC, se asigna al vínculo menos cargado.

El ejemplo de algoritmo simple de equilibrio de carga usa la topología que se muestra en la figura 1 y tiene las siguientes características:

  • Conmutador QFX3500 configurado como puerta de enlace FCoE-FC

  • Dos puertas de enlace NP_Ports fc-0/0/0 y fc-0/0/1, conectadas a un conmutador de estructura FC SAN a una velocidad de 8 Gbps

  • Tres ENodes, ENode_A, ENode_B y ENode_C conectados a la puerta de enlace

  • fc-0/0/0 NP_Ports y , y ENode_A, ENode_B y fc-0/0/1ENode_C pertenecen a la misma estructura FC local en la puerta de enlace

Cuando los NP_Ports inicializan, envían mensajes FLOGI al conmutador FC e inician sesión en la estructura FC SAN. A continuación, la puerta de enlace anuncia la estructura a los ENodes en el lado Ethernet de la red. En este punto, la carga en ambos NP_Ports es igual. Ahora los ENodes y VN_Ports comienzan a iniciar sesión en la estructura:

  1. ENode_A envía un FLOGI para iniciar sesión en la estructura. Debido a que las cargas en los dos NP_Ports son iguales, la sesión de ENode_A se coloca aleatoriamente en uno de los vínculos. En este ejemplo, la sesión ENode_A FLOGI se coloca en el puerto fc-0/0/0.

  2. Enode_B inicia sesión. Dado que la carga es menor en el puerto, la sesión Enode_B FLOGI se coloca en el puerto fc-0/0/1fc-0/0/1.

  3. ENode_C inicia sesión. Debido a que las cargas de enlaces son iguales, la sesión de inicio de sesión de ENode_C se coloca aleatoriamente en uno de los enlaces. En este ejemplo, la sesión de inicio de sesión ENode_C se coloca en el puerto fc-0/0/0.

  4. Un VN_Port en ENode_A envía un FDISC para iniciar sesión en la estructura. Dado que el puerto es actualmente el vínculo menos cargado, la sesión VN_Port se coloca en el puerto , aunque su sesión principal ENode esté en el puerto fc-0/0/1 fc-0/0/1fc-0/0/0.

  5. A medida que aparece cada nueva sesión de VN_Port, se coloca en el enlace menos cargado, independientemente del enlace en el que se coloque su sesión principal de ENode.

Escenarios de algoritmos de equilibrio de carga basados en ENode

El equilibrio de carga basado en ENode garantiza que VN_Port sesiones FDISC se coloquen en el mismo vínculo que sus sesiones principales de ENode FLOGI, independientemente de la carga del vínculo. El equilibrio de carga basado en ENode puede resultar en una carga menos equilibrada entre los enlaces NP_Port, pero proporciona el control y la previsibilidad de mantener ENodes y sus sesiones VN_Port en el mismo enlace.

Los ejemplos de esta sección usan la topología que se muestra en la figura 1.

  • Conmutador QFX3500 configurado como puerta de enlace FCoE-FC

  • Dos puertas de enlace NP_Ports fc-0/0/0 y fc-0/0/1, conectadas a un conmutador de estructura FC SAN a una velocidad de 8 Gbps

  • Tres ENodes conectados a la puerta de enlace:

    • ENode_A, que tiene 2 sesiones VN_Port FDISC

    • ENode_B, que tiene 20 sesiones VN_Port FDISC

    • ENode_C, que tiene 100 sesiones VN_Port FDISC

  • fc-0/0/0 NP_Ports y , y ENode_A, ENode_B y fc-0/0/1ENode_C pertenecen a la misma estructura FC local en la puerta de enlace

Cuando los NP_Ports inicializan, envían mensajes FLOGI al conmutador FC e inician sesión en la estructura FC SAN. A continuación, la puerta de enlace anuncia la estructura a los ENodes en el lado Ethernet de la red. En este punto, la carga en ambos NP_Ports es igual. Ahora ENodes y VN_Ports comienzan a iniciar sesión en la estructura. Como muestran los dos escenarios siguientes, la forma en que se colocan estas sesiones en los vínculos depende de la secuencia en la que inician sesión en la estructura.

Escenario 1:

  1. ENode_A envía un FLOGI para iniciar sesión en la estructura. Debido a que las cargas en los dos NP_Ports son iguales, la sesión de ENode_A se coloca aleatoriamente en uno de los vínculos. En este ejemplo, la sesión ENode_A FLOGI se coloca en el puerto fc-0/0/0.

  2. ENode_B inicia sesión. Dado que la carga es menor en el puerto, la sesión ENode_B FLOGI se coloca en el puerto fc-0/0/1fc-0/0/1.

  3. Los dos VN_Ports en ENode_A iniciar sesión en la estructura. Sus sesiones se colocan en el puerto fc-0/0/0, siguiendo ENode_A en el enlace. Ahora el puerto tiene una carga mayor (una sesión FLOGI más dos sesiones FDISC) que el puerto fc-0/0/0 fc-0/0/1 (una sesión FLOGI).

  4. Los 20 VN_Ports en ENode_B iniciar sesión en la estructura. Sus sesiones se colocan en el puerto fc-0/0/1, siguiendo ENode_B en el enlace. Ahora el puerto tiene una carga menor (un FLOGI, dos FDISC) que el puerto fc-0/0/0 fc-0/0/1.

  5. ENode_C inicia sesión. Dado que la carga es menor en el puerto, la sesión ENode_C FLOGI se coloca en el puerto fc-0/0/0fc-0/0/0.

  6. Los 100 VN_Ports en ENode_C iniciar sesión en la estructura. Sus sesiones siguen a la sesión ENode_C en el puerto fc-0/0/0.

  7. Si surgen más VN_Ports, sus sesiones FDISC se colocan en el mismo enlace que la sesión principal de ENode correspondiente.

Escenario 2:

  1. ENode_A envía un FLOGI para iniciar sesión en la estructura. Debido a que las cargas en los dos NP_Ports son iguales, la sesión de ENode_A se coloca aleatoriamente en uno de los vínculos. En este ejemplo, la sesión ENode_A FLOGI se coloca en el puerto fc-0/0/0.

  2. ENode_B inicia sesión. Dado que la carga es menor en el puerto, la sesión ENode_B FLOGI se coloca en el puerto fc-0/0/1fc-0/0/1.

  3. Los dos VN_Ports en ENode_A iniciar sesión en la estructura. Sus sesiones se colocan en el puerto fc-0/0/0, siguiendo ENode_A en el enlace. Ahora el puerto tiene una carga mayor (una sesión FLOGI más dos sesiones FDISC) que el puerto fc-0/0/0 fc-0/0/1 (una sesión FLOGI).

  4. En este paso, la secuencia de inicio de sesión del escenario 2 difiere de la secuencia de inicio de sesión del escenario  1, lo que da como resultado una ubicación diferente de las sesiones en los vínculos y, por lo tanto, una carga diferente en los vínculos. ENode_C inicia sesión antes de que el ENode_B VN_Ports inicie sesión, lo que cambia el recuento de sesiones en los vínculos en comparación con el primer escenario. Dado que la carga en este escenario es menor en el puerto, la sesión ENode_C FLOGI se coloca en el puerto (en lugar del puertofc-0/0/1  fc-0/0/1fc-0/0/0 como en el primer escenario).

  5. Los 20 VN_Ports en ENode_B iniciar sesión en la estructura. Sus sesiones se colocan en el puerto fc-0/0/1, siguiendo ENode_B en el enlace. Ahora el puerto lleva una sesión FLOGI y dos FDISC, y el puerto fc-0/0/0 fc-0/0/1 lleva dos sesiones FLOGI y 20 FDISC.

  6. Los 100 VN_Ports en ENode_C iniciar sesión en la estructura. Sus sesiones siguen a la sesión ENode_C en puerto fc-0/0/1. Ahora el puerto lleva 2 sesiones FLOGI y 120 FDISC, mientras que el puerto fc-0/0/1 fc-0/0/0 lleva una sesión FLOGI y dos FDISC.

  7. Si surgen más VN_Ports, sus sesiones FDISC se colocan en el mismo enlace que la sesión principal de ENode correspondiente.

Debido a la secuencia de inicios de sesión de ENode en el escenario 2, el puerto lleva una carga mayor que el puerto fc-0/0/1 fc-0/0/0. Si se hubiera utilizado el algoritmo simple de equilibrio de carga, las sesiones FLOGI y FDISC se asignarían a los dos enlaces de manera uniforme. Sin embargo, dado que las sesiones FDISC se colocan en el mismo vínculo que sus sesiones FLOGI principales, este ejemplo demuestra cómo el uso del algoritmo de equilibrio de carga basado en ENode puede conducir a escenarios en los que las cargas de vínculo no son iguales.

Escenarios de algoritmos de equilibrio de carga basados en FLOGI

El equilibrio de carga basado en FLOGI es similar en muchos aspectos al equilibrio de carga basado en ENode. Una diferencia importante que afecta la forma en que el conmutador coloca las sesiones en los vínculos es que, para el equilibrio de carga basado en FLOGI, solo se cuentan las sesiones de FLOGI cuando se calcula la carga del vínculo. Las sesiones FDISC no se cuentan para determinar la carga del vínculo. Dado que el equilibrio de carga basado en ENode utiliza la suma de las sesiones FLOGI y FDISC para determinar la carga del vínculo, una interfaz con exactamente la misma combinación de sesiones FLOGI y FDISC puede tener un recuento de sesiones diferente según el algoritmo utilizado. Un recuento de sesiones diferente puede cambiar la interfaz a la que el conmutador asigna la siguiente sesión.

Al igual que con el equilibrio de carga basado en ENode, el equilibrio de carga basado en FLOGI garantiza que VN_Port sesiones FDISC se coloquen en el mismo vínculo que sus sesiones principales de ENode FLOGI, independientemente de la carga del vínculo. El equilibrio de carga basado en FLOGI puede resultar en una carga menos equilibrada entre los enlaces NP_Port, pero proporciona el control y la previsibilidad de mantener ENodes y sus sesiones VN_Port en el mismo enlace.

Los ejemplos de esta sección usan la topología que se muestra en la figura 1.

  • Conmutador QFX3500 configurado como puerta de enlace FCoE-FC

  • Dos puertas de enlace NP_Ports fc-0/0/0 y fc-0/0/1, conectadas a un conmutador de estructura FC SAN a una velocidad de 8 Gbps

  • Tres ENodes conectados a la puerta de enlace:

    • ENode_A, que tiene 2 sesiones VN_Port FDISC

    • ENode_B, que tiene 20 sesiones VN_Port FDISC

    • ENode_C, que tiene 100 sesiones VN_Port FDISC

  • fc-0/0/0 NP_Ports y , y ENode_A, ENode_B y fc-0/0/1ENode_C pertenecen a la misma estructura FC local en la puerta de enlace

Cuando los NP_Ports inicializan, envían mensajes FLOGI al conmutador FC e inician sesión en la estructura FC SAN. A continuación, la puerta de enlace anuncia la estructura a los ENodes en el lado Ethernet de la red. En este punto, la carga en ambos NP_Ports es igual. Ahora ENodes y VN_Ports comienzan a iniciar sesión en la estructura.

Dado que el equilibrio de carga basado en FLOGI no cuenta las sesiones FDISC al calcular la carga del vínculo, la forma en que se colocan las sesiones en el vínculo depende únicamente del número de sesiones FLOGI por interfaz, no del número de sesiones FLOGI más las sesiones FDISC. Esto significa que un ENode con una sesión FLOGI y muchas sesiones FDISC se cuenta como que tiene la misma carga que un ENode con una sesión FLOGI y sin sesiones FDISC.

Escenario 1:

  1. ENode_A envía un FLOGI para iniciar sesión en la estructura. Debido a que las cargas en los dos NP_Ports son iguales, la sesión de ENode_A se coloca aleatoriamente en uno de los vínculos. En este ejemplo, la sesión ENode_A FLOGI se coloca en el puerto fc-0/0/0.

  2. ENode_B inicia sesión. Dado que la carga es menor en el puerto, la sesión ENode_B FLOGI se coloca en el puerto fc-0/0/1fc-0/0/1.

  3. Los dos VN_Ports en ENode_A iniciar sesión en la estructura. Sus sesiones se colocan en el puerto fc-0/0/0, siguiendo ENode_A en el enlace. Sin embargo, a diferencia del equilibrio de carga simple o el equilibrio de carga basado en ENode, el recuento de sesiones de los dos puertos sigue siendo igual (una sesión cada uno) porque las sesiones FDISC no se utilizan en el recuento de sesiones.

  4. Los 20 VN_Ports en ENode_B iniciar sesión en la estructura. Sus sesiones se colocan en el puerto fc-0/0/1, siguiendo ENode_B en el enlace. Una vez más, a diferencia del equilibrio de carga simple o el equilibrio de carga basado en ENode, el recuento de sesiones de los dos puertos sigue siendo igual (una sesión cada uno) porque las sesiones FDISC no se utilizan en el recuento de sesiones.

  5. ENode_C inicia sesión. Debido a que las cargas de enlaces se cuentan como iguales, la sesión de inicio de sesión de ENode_C se coloca aleatoriamente en uno de los enlaces. En este ejemplo, la sesión de inicio de sesión de ENode_C se coloca en el puerto fc-0/0/0.

  6. Los 100 VN_Ports en ENode_C iniciar sesión en la estructura. Sus sesiones siguen a la sesión ENode_C en el puerto fc-0/0/0.

  7. Si surgen más VN_Ports, sus sesiones FDISC se colocan en el mismo enlace que la sesión principal de ENode correspondiente.

Si un cuarto ENode, ENode_D, envía un FLOGI para iniciar sesión en la estructura, se coloca en el puerto porque el puerto tiene un recuento de sesiones de dos (dos FLOGI de ENode_A y ENode_C, FDISC no contados) y el puerto fc-0/0/1 fc-0/0/0 fc-0/0/1 tiene un recuento de sesiones de uno (un FLOGI de ENode_B, FDISC no contado), fc-0/0/1 Por lo tanto, puerto es el puerto menos cargado.

Con el equilibrio de carga basado en FLOGI, es posible que ENodes con muchas sesiones FDISC se coloquen en el mismo enlace, mientras que ENodes con pocas sesiones FDISC se colocan en diferentes enlaces porque solo se usan FLOGI en el recuento de sesiones.