Inhoud

Inleiding

Wat is een Abort?

Waar past de FNIC in de stapel?

Is de FNIC aborts veroorzaakt door FNIC-stuurprogramma?

Wat kan FC aborts veroorzaken?

Wat duidt dit afbreekbericht op in het logbestand?

Wat is het verschil tussen een melding van een abort en een mismatch van de FCPIO?

Gerelateerde informatie

Inleiding

Dit document beschrijft wat een FNIC Channel Network Interface Card is en biedt antwoorden op veelgestelde vragen (FAQ).

Wat is een Abort?

Fibre Channel (FC) heeft geen mogelijkheid tot herstel van druppels of corrupte frames. Het bericht van de Afmaak (ABTS) wordt verzonden wanneer er kwesties met een uitwisseling zijn. Een abort is een verbinding level service die kan worden verleend door de initiator of het doel. Het herstel wordt uitgevoerd door de SCSI-laag (Small Computer System Interface) met een resolutie van 60-120 seconden, die afhankelijk is van de configuratie van het besturingssysteem.

Waar past de FNIC in de stapel?

In het geval van Linux/ESXi, zit de FNIC-stuurprogramma tussen de bibliotheken die door de verkoper van het besturingssysteem en de eigenlijke hardware worden geleverd.  De SCSI-laag stuurt een verzoek naar een stuurprogramma, zodat de etnische stuurprogramma de SCSI-aanvraag naar de firmware stuurt. De firmware genereert Fibre Channel over Ethernet (FCoE)-frames en stuurt via de bedrading:

Is de FNIC aborts veroorzaakt door FNIC-stuurprogramma?

Nee, FNIC-aborts zijn niet noodzakelijk een driver-probleem, maar zijn eerder een generiek bericht dat de initiatief (of het doel) niet binnen de tijdelijke periode een kader heeft ontvangen en de SCSI-laag de uitwisseling en het opnieuw proberen beëindigt.

Wat kan FC aborts veroorzaken?

FC-abortussen kunnen om verschillende redenen worden veroorzaakt, zoals congestie, apparaten met lage prestaties (harde schijf, opslagprocessor, snelle koppelingen), firmware-problemen, stuurprogramma-problemen, OS-problemen, link-verlies, link-down-up, enzovoort.

Omdat abortussen generieke berichten zijn, is de eerste stap om het bereik van de kwestie te verkleinen met vragen als:

- Wordt het alleen aan één kant van het opslagmateriaal of aan beide zijden aangetroffen?

- Komt het voor op één gastheer of meerdere hosts?

- Als meerdere hosts, wat algemeen is tussen de hosts die een probleem hebben en wat anders is dan de hosts die geen probleem ervaren?

- Komt deze voor wanneer het communiceert met een specifiek SAN-doel (Storage Attached Network) of een specifiek LUN-nummer (Logical Unit Number) op het SAN-doel?

- Zijn er andere SAN-doelen of LUN's die geen problemen ondervinden en zo ja, wat zijn de verschillen met deze LUN's/doelen in vergelijking met het niet-werkende doel?

- Is er een patroon in de tijd dat de kwestie zich voordoet, zoals tijdens wekelijkse back-uptaken?

Met de antwoorden op deze vragen kunt u isoleren waar het probleem zich kan voordoen en waar u zich moet concentreren.

De meest voorkomende oorzaak van abortussen is te wijten aan problemen met laag 1 en wordt aanbevolen het gehele pad vanaf initiatief te controleren om fouten in een interface-fout op te sporen, zoals CRC-fouten (Cyclic Redundancy Control) of flappende interfaces.

De volgende gemeenschappelijke reden voor abortus is te wijten aan overabonnement op koppelingen tussen het initiatief/doel of overabonnement op componenten op het doel, zoals CPU en de schijf.  Dit is waar een goede prestatiekarakter handig is.

Wat duidt dit afbreekbericht op in het logbestand?

VMWare vmkernel log:

2017-07-27T14:54:10.590Z cpu6:33351)<7>fnic : 2 :: Abort Cmd called FCID 0x50a00, LUN 0xa TAG c8 flags 3

In dit voorbeeld werd op UTC-tijdstip 2017-07-27T14:54:10 UTC-tijd voor FCID 0x50a00 op LUN 0xa met host OS SCSI-tag 0xc8 een abort opgeroepen.

LUN legitimatiebewijs 0xA wordt omgezet in decimale waarde om te bepalen dat LUN ID 10 de LUN was waarmee het OS probeerde te communiceren in de array.

De tag 0xc8 is de IO-tag van de host-scsi-laag voor het verzoek, die kan worden gebruikt om de logitems op de VIC-adapter aan te passen.

Apparaatexemplaar 2 kan worden aangepast tot het vmware vmhba-nummer met fnic-tracetool -i

/tmp # ./fnic-tracetool -i

HBA             Device

---             ------

vmhba1          fnic1

vmhba2          fnic2

De FCID 0x50c00 kan op een bepaald doel in de fcns-database van de noordgebonden fabricswitches worden afgestemd als de fabric interconnect in de end-host modus loopt.

switch-A(nxos)# show fcns database fcid 0x50c00 detail vsan 1 ------------------------ VSAN:1 FCID:0x50c00 ------------------------ port-wwn (vendor) :50:00:00:00:ff:ff:ff:01 (EMC) node-wwn :50:00:00:00:ff:ff:ff:00 class :3 node-ip-addr :0.0.0.0 ipa :ff ff ff ff ff ff ff ff fc4-types:fc4_features :scsi-fcp:both 253 symbolic-port-name :SYMMETRIX::SAF- 3fB::FC::5876_272+::EMUL B80F0000 41234F44 94F360 07.27.15 11:14 symbolic-node-name :SYMMETRIX::FC::5876_272+ port-type :N port-ip-addr :0.0.0.0 fabric-port-wwn :20:1e:00:2a:6a:ea:00:00 hard-addr :0x000000 permanent-port-wwn (vendor) :50:00:00:00:ff:ff:ff:01 (EMC) connected interface :fc1/30

VIC-adapterlogboeken

170727-14:54:10.590661 ecom.ecom_main ecom(4:0): abort called for exch abort called for exch 431b, status 3 rx_id 0s_stat 0x0xmit_recvd 0x0burst_offset 0x0sgl_err 0x0 last_param 0x0 last_seq_cnt 0x0tot_bytes_exp 0xa00h_seq_cnt 0x0exch_type 0x1s_id 0x36010fd_id 0x50c00 host_tag 0xc8

- s_stat 0x0 => Er worden geen frames ontvangen

- exch_type 0x1 => Exchange is Ingress en is actief

- Totale bytes verwacht is => tot_bytes_exp 0xa00

- Ontvangen is => 0x0

- burst_offset is ingesteld => 0x0

- De IO-tag van de host-laag voor dit verzoek is => 0xc8

- Bron-ID => 0x36010f

- Doel testen => 0x50c00

- Seq ID => 0x0

- rx_id => 0

Status

- Status 3 = schrijfopdracht

- Status 1 = leesopdracht

Exchange type (exch_type):

==========================================================================================================================================================================================================================================================

EXCH_NOT_IN_USE = 0,

EXCH_INITIATOR_INGRESS_ACTIVE = 1

EXCH_TARGET_INGRESS_ACTIVE = 2

EXCH_EGRESS_ACTIVE = 3

EXCH_ABORTED = 4

EXCH_DEBUG = 5

Exchange Status-waarden (s_stat):

= =========================================================================================================================================================================================================================================================

0x00 Er worden geen frames ontvangen

0x01 Ten minste één geregisseerd frame

0x02 sequentie is nog steeds actief

0x04 reeks is voltooid

0x08 overdrachtsequentie

0x10 grassequentie is actief

0x20 RSP voor en host-invoer verzonden

0x40 zoekreeks in behandeling

Wat is het verschil tussen een melding van een abort en een mismatch van de FCPIO?

FCPIO-discrepantie kan optreden wanneer niet alle verwachte gegevens worden ontvangen.

Total bytes xmit < expecte ddata length

160621-04:26:51.733255 ecom.ecom_main ecom(8:3): ox_id 41d4 rx_id 44b seq_cnt 7 seq_id 1 160621-04:26:52.066235 ecom.ecom_main ecom(8:1): fcpio_data_cnt_mismatch for exch 4202 status 1 rx_id5f7 s_stat 0x3 xmit_recvd 0x3000 burst_offset 0x3000 sgl_err 0x0 last_param 0x2800 last_seq_cnt 0x0 tot_bytes_exp 0x8000 h_seq_cnt 0x5 exch_type 0x0 s_id 0xab800 d_id 0xab800 host_tag 0x377

Gerelateerde informatie

- Cisco UCS virtuele tunabels

- Gebruik van LIBfc met VMware en Cisco VIC om de initiator/doelcommunicatie van probleemoplossing te bevorderen

- SAN Congestion! Begrijpen, probleemoplossing, beperken in een Cisco-fabric

- Technische ondersteuning en documentatie – Cisco Systems