Introduction
Ce document décrit un problème rencontré sur les ports Fibre Channel (FC) de la gamme Cisco Multilayer Data Switch (MDS) 9000 et fournit une solution au problème.
Problème
Ce journal d'événements de lien affiche :
*************** Port Config Link Events Log ***************
---- ------ ----- ----- ------
Time PortNo Speed Event Reason
---- ------ ----- ----- ------
...
Jul 28 00:46:39 2012 00670297 fc11/25 --- DOWN LR Rcvd B2B
Le message LR Rcvd B2B (ou Link failure Link Reset failed nonempty recv queue) indique que le périphérique connecté au port transmet une réinitialisation de liaison (LR) au MDS, mais le MDS ne répond pas avec une réponse de réinitialisation de liaison (LRR) en raison d'un encombrement interne sur le port. Le port a des paquets en file d'attente qui sont reçus du périphérique connecté, mais le MDS ne peut pas les livrer au port de sortie approprié. Comme ils sont toujours en file d'attente au niveau du port d'entrée, le MDS ne peut pas renvoyer un LRR et la liaison échoue.
Ces messages d'erreur accompagnent le journal des événements précédent :
%PORT-2-IF_DOWN_LINK_FAILURE: %$VSAN 93%$
Interface fc11/25 is down (Link failure)
%PORT-5-IF_DOWN_LINK_FAILURE: %$VSAN 100%$
Interface fc5/32 is down (Link failure Link Reset
failed nonempty recv queue)
Remarque : ce scénario est donné en supposant que le nombre de crédits de mémoire tampon que le MDS accorde au périphérique FC est de trois, et que les paquets du périphérique FC sont commutés vers le port FC de sortie.
MDS
FC Port FC Port
(Egress) Arbiter (Ingress) FC device
-------- ------- --------- ---------
1) <------- FC packet 1
2) <--- Grant Request
3) Grant------------>
4) <---------------FC packet 1
5) R_Rdy--------> Tx B2B=3
6) <------- FC packet 2 Tx B2B=2
7) <---- Grant Request
8) <------- FC packet 3 Tx B2B=1
9) <---- Grant Request
10) <------- FC packet 4 Tx B2B=0
11) <---- Grant Request
12) Time lapses - Variable depending on attached HBA type
13) <--------Link Reset(LR)
14) Start 90ms "LR Rcvd B2B" timer
15) "LR Rcvd B2B" timer expires
16) <--------NOS-------->
Explication
Cette section explique le résultat précédent :
- Le périphérique FC transmet un paquet FC au port d'entrée, destiné au port de sortie.
- Le port de carte de ligne d'entrée MDS (LC) détermine l'index de destination (DI) et transmet la demande d'autorisation à l'arbitre (Bellagio2) sur le superviseur actif.
- L'arbitre renvoie un Grant au port d'entrée, qui lui donne l'autorisation de transmettre le paquet FC 1 au port de sortie via le XBAR.
- Le LC d'entrée transmet le paquet FC 1 via XBAR au port de sortie. La mémoire tampon d'entrée est ainsi disponible.
- Le port d'entrée transmet un R_RDY au périphérique FC, qui réapprovisionne le crédit.
Remarque : les cinq premières étapes sont typiques en l'absence d'encombrement. Supposons à ce stade que les files d'attente du port de sortie sont saturées et ne peuvent plus recevoir de paquets.
- Le périphérique FC transmet le paquet FC 2 au port d'entrée, destiné au port de sortie.
- Le port LC d'entrée MDS détermine l'ID et transmet la demande d'autorisation à l'arbitre (Bellagio2) sur le superviseur actif.
- Le périphérique FC transmet le paquet FC 3 au port d'entrée, destiné au port de sortie.
- Le port LC d'entrée MDS détermine l'ID et transmet la demande d'autorisation à l'arbitre (Bellagio2) sur le superviseur actif.
- Le périphérique FC transmet le paquet FC 4 au port d'entrée, destiné au port de sortie.
- Le port LC d'entrée MDS détermine l'ID et transmet la demande d'autorisation à l'arbitre (Bellagio2) sur le superviseur actif.
- Le temps écoulé varie en fonction du type d'adaptateur HBA connecté.
- Après un certain temps à Tx B2B=0, le périphérique FC lance la récupération de perte de crédit, et transmet une réinitialisation de liaison (LR).
- Lorsque le port d'entrée reçoit le LR, il vérifie ses tampons d'entrée et détermine qu'au moins un paquet est en file d'attente. Il démarre alors un minuteur B2B Rcvd LR 90 ms.
- Si les autorisations sont reçues et que les trois paquets FC sont transmis au port de sortie, le minuteur LR Rcvd B2B est annulé et une réponse de réinitialisation de liaison (LRR) est renvoyée au périphérique FC. Dans ce cas, cependant, le port de sortie reste encombré et les trois paquets FC restent en file d'attente au niveau du port d'entrée. Le minuteur LR Rcvd B2B expire et un LRR n'est pas transmis au périphérique FC.
- Le port d'entrée et le périphérique FC initient une défaillance de liaison via la transmission d'une séquence non opérationnelle.
Solution
Si la liaison a échoué avec un message LR Rcvd B2B ou un message Link Failure Reset failed nonempty recv queue, alors le port qui a échoué n'est pas la cause du lent-drain et a été affecté seulement par le port lent/bloqué. Afin d'identifier le port lent/bloqué qui a causé la défaillance de la liaison, complétez ces étapes :
- Déterminez si plusieurs liaisons ont échoué en raison du problème mentionné précédemment. Si plusieurs liaisons tombent en panne à peu près en même temps, le problème peut survenir parce que tous les ports tentent de transmettre des paquets à un port de sortie commun.
- Vérifiez la base de données de zonage VSAN afin de voir avec quels périphériques le périphérique FC adjacent est zoné. Mappez-les aux ports E de sortie ou F locaux. Afin de mapper à sortie E, les ports utilisent la commande show fspf internal route vsan <vsan> domain <dom>. Afin de mapper sur les ports F locaux, utilisez la commande show flogi database vsan <vsan>. Si plusieurs liaisons échouent avec le message LR Rcvd B2B, combinez les ports E de sortie ou F locaux qui ont été trouvés et vérifiez les chevauchements. Les chevauchements sont probablement la cause de ports lents/bloqués.
- Vérifiez si les ports détectés à l'étape 2 indiquent une vidange lente. Exemples :
- Perte de crédit (AK_FCP_CNTR_CREDIT_LOSS / FCP_SW_CNTR_CREDIT_LOSS)
- 100 ms Tx B2B Zéro (AK_FCP_CNTR_TX_WT_AVG_B2B_ZERO / FCP_SW_CNTR_TX_WT_AVG_B2B_ZERO)
- Abandons du délai d'attente (AK_FCP_CNTR_LAF_TOTAL_TIMEOUT_FRAMES / THB_TMM_TOLB_TIMEOUT_DROP_CNT / F16_TMM_TOLB_TIMEOUT_DROP_CNT)
- Si vous déterminez que le port lent est un port E de sortie, poursuivez le dépannage de drainage lent sur le commutateur adjacent indiqué par l'interface de tronçon suivant FSPF.
- Si vous déterminez que le port lent/bloqué est une liaison FCIP ou un port-channel, recherchez dans les liaisons FCIP des signes de retransmissions IP ou d'autres problèmes, tels que des pannes de liaison. Entrez la commande show ips stats all afin de vérifier les problèmes.
Options de configuration
Voici deux options de configuration système possibles :
Informations connexes