Difference between revisions of "Cisco FCoE"

From HackerNet
Jump to: navigation, search
Line 22: Line 22:
 
* FC-4: Mappning mellan FC och det som körs ovanpå, t.ex. SCSI eller IP
 
* FC-4: Mappning mellan FC och det som körs ovanpå, t.ex. SCSI eller IP
  
Initiators och targets har Host Bus Adapters (HBA), dessa kallas Node Ports. N ports kopplas till Fabric Ports (F ports) på FC-switcharna. Switchportar som kopplas ihop med varandra kallas Expansion (E) Ports. Har man t.ex. Ciscoswitchar finns det stöd för VSAN (motsvarigheten till [[Cisco_VLAN|VLAN]]) kan man trunka dem över dessa E ports, då kallas det Trunking Expansion Ports (TE Ports).
+
Initiators och targets har Host Bus Adapters (HBA), dessa kallas Node Ports. N ports kopplas till Fabric Ports (F ports) på FC-switcharna. Switchportar som kopplas ihop med varandra kallas Expansion (E) Ports, det är på dessa som FSPF körs. Default räknas FSPF cost: 1000 delat med link speed i Gbps, t.ex. 10G = 100. FC har stöd för ECMP. Har man t.ex. Ciscoswitchar finns det stöd för VSAN (motsvarigheten till [[Cisco_VLAN|VLAN]] + VRF) kan man trunka dem över dessa E ports, då kallas det Trunking Expansion Ports (TE Ports).
  
 
Det första som händer när man kopplar in en server är att den skickar en Fabric Login (FLOGI). Detta görs till FFFFFE (well-known fibre channel address for a fabric F_Port). Switchen tar emot detta meddelande och registrerar denna unika WWPN med FCNS. FCNS svarar tillbaka med en unik 24-bitars Fibre Channel Identifier (FC_ID eller N_Port_ID). FCID består av Domain ID, Area ID, Port ID och är routbar inom FC-domänen. När en initiator har fått ett FCID så skickar den Port Login (PLOGI). Detta görs till FFFFFC (well-known fibre channel address for a directory server). Då registreras WWPN och det assignade FCID till FCNS. FCNS svarar då tillbaka med FCID:n för de targets som initiatorn har rätt att accessa enligt zoningpolicyn. När PLOGI är klart kan initiatorn börja sin discovery process för att hitta targets och deras capabilities och operating parameters. Detta görs mellan upper layer protocols och kallas PRLI. Sedan kan man hitta Logical Unit Numbers (LUNs).  
 
Det första som händer när man kopplar in en server är att den skickar en Fabric Login (FLOGI). Detta görs till FFFFFE (well-known fibre channel address for a fabric F_Port). Switchen tar emot detta meddelande och registrerar denna unika WWPN med FCNS. FCNS svarar tillbaka med en unik 24-bitars Fibre Channel Identifier (FC_ID eller N_Port_ID). FCID består av Domain ID, Area ID, Port ID och är routbar inom FC-domänen. När en initiator har fått ett FCID så skickar den Port Login (PLOGI). Detta görs till FFFFFC (well-known fibre channel address for a directory server). Då registreras WWPN och det assignade FCID till FCNS. FCNS svarar då tillbaka med FCID:n för de targets som initiatorn har rätt att accessa enligt zoningpolicyn. När PLOGI är klart kan initiatorn börja sin discovery process för att hitta targets och deras capabilities och operating parameters. Detta görs mellan upper layer protocols och kallas PRLI. Sedan kan man hitta Logical Unit Numbers (LUNs).  
Line 39: Line 39:
  
 
===Konfiguration===
 
===Konfiguration===
Nexus 5000
+
Nexus 5000. Default pratar bara Nexus-switchar FC med Cisco FC-switchar, detta går att ändra med interoperability mode.
 +
 
 +
Prereqs
 
  feature fcoe
 
  feature fcoe
 
   
 
   
Line 52: Line 54:
 
  show int e1/44 trans
 
  show int e1/44 trans
  
VSAN o trunk
+
VSAN och trunk
 
  feature npiv
 
  feature npiv
 
  feature fport-channel-trunk
 
  feature fport-channel-trunk
Line 70: Line 72:
  
 
  show san-port-channel database
 
  show san-port-channel database
 +
 +
TE port
 +
interface fc1/1 - 2
 +
  switchport speed 8000
 +
  switchport mode E
 +
  switchport trunk allowed vsan 101
 +
 +
TE Port-channel
 +
interface fc2/1 - 2
 +
  switchport speed 8000
 +
  switchport mode E
 +
  channel-group 11 force
 +
  no shutdown
 +
 +
interface san-port-channel 11
 +
  channel mode active
 +
  switchport mode E
 +
  switchport trunk allowed vsan 101
  
 
'''Verify''' <br/>
 
'''Verify''' <br/>
Line 75: Line 95:
 
  show fcns database
 
  show fcns database
 
  show fcdomain domain-list
 
  show fcdomain domain-list
 +
 +
Traffic Engineering
 +
interface fc1/24
 +
  fspf cost 50 vsan 100
 +
 +
show fspf vsan 100
  
 
====Zoning====
 
====Zoning====
Zoning är access control i fabricen. Hard zoning går ej att stänga av på Nexus.  
+
Zoning är access control i fabricen. Ett zoneset är en eller flera zones. Zone-rekommendation är single target, single initiatior och att man använder pwwn eller alias. Hard zoning går ej att stänga av på Nexus.  
  
 
  zone name PROD vsan 100
 
  zone name PROD vsan 100
Line 84: Line 110:
 
   
 
   
 
  zoneset activate name PROD vsan 100
 
  zoneset activate name PROD vsan 100
 +
 
Show
 
Show
 
  show zone status vsan 100
 
  show zone status vsan 100
 
Permit all
 
Permit all
 
  zone default-zone permit vsan 100
 
  zone default-zone permit vsan 100
 +
Man kan även distribuera sitt zoneset över fabricen
 +
zoneset distribute full vsan 100
 +
 +
'''Smart Zoning''' <br/>
 +
För att förenkla sin konfig lite kan man använda taggar för att ange vilka pwwn som är initiators kontra targets. Detta måste vara påslaget på alla switchar i fabricen.
 +
zone smart-zone enable vsan 100
 +
zone convert smart-zone vsan 100
  
 
==FCoE==
 
==FCoE==
Fibre Channel är ett stängt point-to-point medium medans Ethernet är öppet multi-access medium. Trots detta kan ethernet användas för att bära FC. Fibre Channel traffic kräver lossless transport. FCoE har en egen EtherType (0x8906).  
+
Fibre Channel är ett stängt point-to-point medium medans Ethernet är öppet multi-access medium. Trots detta kan ethernet (med hjälp av vissa enhancements) användas för att bära FC. Fibre Channel traffic kräver lossless transport. FCoE har en egen EtherType (0x8906).  
  
 
'''Termer''' <br/>
 
'''Termer''' <br/>
Line 106: Line 140:
 
PFC (IEEE 802.1bb) är ett subprotokoll till DCB. Det är en mekanism som förhindrar frame loss pga congestion. Det är likt 802.3x Flow Control (pause frames) men det jobbar på en per CoS basis. När en buffer threshold överstigs pga congestion så skickas en pause frame till andra sidan för att den ska sluta skicka frames med ett visst CoS-värde på den länken under en viss tid. När sedan trafik går ner under ett visst gränsvärde så skickas en resume frame för att dra igång dataflödet på länken igen. PFC kommunicerar genom att skicka frames till well-known multicast address 01:80:C2:00:00:01.  
 
PFC (IEEE 802.1bb) är ett subprotokoll till DCB. Det är en mekanism som förhindrar frame loss pga congestion. Det är likt 802.3x Flow Control (pause frames) men det jobbar på en per CoS basis. När en buffer threshold överstigs pga congestion så skickas en pause frame till andra sidan för att den ska sluta skicka frames med ett visst CoS-värde på den länken under en viss tid. När sedan trafik går ner under ett visst gränsvärde så skickas en resume frame för att dra igång dataflödet på länken igen. PFC kommunicerar genom att skicka frames till well-known multicast address 01:80:C2:00:00:01.  
  
Det första som händer när länken mellan FCoE-switch och CNA kommer upp är att DCBX (Data Centre Bridging capabilities eXchange protocol) berättar för CNA hur den ska vara konfad med avseende på PFC & ETS. DCBX transporteras on the wire av LLDP. När DCBX är klart kan FIP ta vid.
+
Det första som händer när länken mellan FCoE-switch och CNA kommer upp är att DCBX (Data Centre Bridging capabilities eXchange protocol) berättar för CNA hur den ska vara konfad med avseende på PFC & ETS (enhanced transmission selection). ETS jobbar med priority groups som man kan assigna bandbredd till. DCBX transporteras on the wire av LLDP. När DCBX är klart kan FIP ta vid.
  
 
'''FCoE Initiation Protocol''' <br/>
 
'''FCoE Initiation Protocol''' <br/>
FIP är en väsentlig del i FCoE. Det används för att upptäcka och initiera FCoE-kapabla enheter som är kopplade till ethernetnätverket. FIP har hand om vlan och FCF discovery samt FLOGI och Fabric Discovery. Det är FIP som sätter upp virtuella FC-länkar. På varje FCoE Ethernet port på FCF skapas en virtuell FC-port (vfc). Varje virtuell FC-länk identifieras av FCoE VLAN ID samt MAC-adresserna i varje ände på länken. Det betyder att varje FC-paket måste vara taggat med det vlan som vsanet är mappat med, detta vlan kan ej användas till något annat än FCoE. FIP bygger även länkar FCF till FCF för multihop FCoE samt håller koll på länkar mha periodiska maintenance messages. FIP har en dedikerad Ethertype (0x8914). Protokollet finns i två versioner (CIN-DCBX & CEE-DCBX) och Nexus har stöd för båda.  
+
FIP är en väsentlig del i FCoE. Det används för att upptäcka och initiera FCoE-kapabla enheter som är kopplade till ethernetnätverket. FIP har hand om vlan och FCF discovery samt FLOGI och Fabric Discovery. Det är FIP som sätter upp virtuella FC-länkar. På varje FCoE Ethernet port på FCF skapas en virtuell FC-port (vfc). Varje virtuell FC-länk identifieras av FCoE VLAN ID samt MAC-adresserna i varje ände på länken. Det betyder att varje FC-paket måste vara taggat med det vlan som vsanet är mappat med, detta vlan kan ej användas till något annat än FCoE. Notera dock att FIP använder native vlan först men gör en vlan discovery så man får en lista av FCoE-vlan.
  
E-Nodes använder olika MAC-adresser för FIP och FCoE. FIP sourcas med burned in address medans FCoE sourcas med den MAC-adress som fabricen tillhandahållit, Fabric Provided MAC Address. FPMA utgörs av FCoE MAC address prefix (24 bitar) plus FC_ID (24 bitar). För att rymma den maximala FC-framen är qos class-fcoe definierad med MTU 2240 bytes.
+
FIP bygger även länkar FCF till FCF för multihop FCoE samt håller koll på länkar mha periodiska maintenance messages. E-Nodes använder olika MAC-adresser för FIP och FCoE. FIP sourcas med burned in address medans FCoE sourcas med den MAC-adress som fabricen tillhandahållit, Fabric Provided MAC Address. FPMA utgörs av FCoE MAC address prefix (24 bitar) plus FC_ID (24 bitar). För att rymma den maximala FC-framen är qos class-fcoe definierad med MTU 2240 bytes. FIP har en dedikerad Ethertype (0x8914). Protokollet finns i två versioner (CIN-DCBX & CEE-DCBX) och Nexus har stöd för båda.
  
 
===Konfiguration===
 
===Konfiguration===
 
Eftersom FCoE och FIP använder ett taggat FCoE-vlan så måste ethernetport på FCF mot servrar vara vlan-trunk.  
 
Eftersom FCoE och FIP använder ett taggat FCoE-vlan så måste ethernetport på FCF mot servrar vara vlan-trunk.  
 +
 +
'''QoS''' <br/>
 +
Kontrollera att QoS är konfat med minst en no-drop klass. Default används CoS 3 för FCoE.
 +
show policy-map system type network-qos
 +
 +
'''F-port'''
 +
interface 1/15
 +
  switchport mode trunk
 +
  switchport trunk allowed vlan 1,100-105
 +
  spanning-tree port type edge trunk
 +
 +
interface vfc 315
 +
  bind interface e1/15
 +
  switcport mode f
 +
 +
'''Verify'''
 +
show flogi database
 +
show fcns database
 +
show vlan fcoe
 +
show fcoe database
 +
show topology vsan 100
  
 
'''PFC''' <br/>
 
'''PFC''' <br/>
Line 123: Line 178:
 
auto betyder att no-drop CoS values ska annonseras och förhandlas med hjälp av DCBXP. En successful negotiation slår på PFC på no-drop CoS. Medans om det t.ex. är en mismatch i capabilities så kommer inte förhandlingen att lyckas och PFC förblir avstängt.
 
auto betyder att no-drop CoS values ska annonseras och förhandlas med hjälp av DCBXP. En successful negotiation slår på PFC på no-drop CoS. Medans om det t.ex. är en mismatch i capabilities så kommer inte förhandlingen att lyckas och PFC förblir avstängt.
  
 +
====Multihop FCoE====
 +
Precis som det finns virtuella F-portar finns det även virtuella E-portar.
 +
 +
interface vfc 15
 +
  bind interface ethernet 1/15
 +
  switchport mode e
 +
  no shut
 +
 +
interface ethernet 1/15
 +
  switchport mode trunk
 +
  no shut
 +
 +
====Enhanced vPC====
 +
Man kan kombinera FCoE med [[Nexus_vPC|Enhanced vPC]] men man måste separera A- och B-sidan. Detta kan man göra genom att konfa FEX:arna att pinna FCoE-trafik till endast den ena parent. Först bygger man vPC och sedan FCoE på det. FCoE-vlan får ej traversera vPC peer-linken men detta sköts default. Host facing vfc-interfaces binds till fysiska ethernetport och inte port-channel interface.
 +
 +
Nexus1
 +
fex 101
 +
  fcoe
 +
 +
interface vfc 10
 +
  bind interface ethernet101/1/1
 +
  no shutdown
 +
 +
Nexus2
 +
fex 102
 +
  fcoe
 +
 +
interface vfc 10
 +
  bind interface ethernet102/1/1
 +
  no shutdown
 +
 +
Show
 +
show fex detail | i FCoE
 +
 +
====Nexus 7k====
 +
FCoE görs med hjälp av Storage VDC.
 +
license fcoe module 2
 +
 +
system qos
 +
  service-policy type network-qos default-nq-7e-4q8q-policy
 +
 +
vdc SAN type storage
 +
  allocate interface e2/1-8
 +
  allocate fcoe-vlan-range 100-101
 +
 +
==iSCSI==
 +
iSCSI har egentligen inte mycket med switchar att göra men man bör göra det lossless.
 +
 +
class-map type qos match-all class-iscsi
 +
  match protocol iscsi
 +
  match cos 6
 +
 +
policy-map type qos qos_fcoe_and_iscsi
 +
  class class-iscsi
 +
  set qos-group 2
 +
  class class-fcoe
 +
  set qos-group 1
 +
 +
policy-map type network-qos network_fcoe_and_iscsi
 +
  class type network-qos class-iscsi
 +
  mtu 9216
 +
  pause no-drop
 +
  class type network-qos class-fcoe
 +
  mtu 2158
 +
  pause no-drop
 +
  class type network-qos class-default
 +
  mtu 9216
 +
 +
system qos
 +
  service-policy type queuing input fcoe-default-in-policy
 +
  service-policy type queuing output fcoe-default-out-policy
 +
  service-policy type qos input qos_fcoe_and_iscsi
 +
  service-policy type network-qos network_fcoe_and_iscsi
  
 
[[Category:Cisco]]
 
[[Category:Cisco]]

Revision as of 08:40, 31 August 2018

Fibre Channel over Ethernet är en teknik för att enkapsulera Fibre Channel frames över lossless Ethernet. FCoE fungerar som vanlig FC men FC0 och FC1 görs av ethernet istället. Genom att konsolidera nätverk och storage behövs inte lika mycket kablage i datacentret. Servrar som ska nyttja FCoE behöver converged network adapters som har fysiska ethernet-portar men de innehåller både HBA och NIC. FCoE har en dedikerad Ethertype, 0x8906, och fungerar med 802.1Q taggar.

Native FC

Eftersom FCoE är sedvanlig FC är det viktigt att känna till hur FC funkar. FC lämpar sig bra för block based storage.

Termer

  • pWWN/WWPN: 64-bitars portadress på HBA (typ MAC-adress)
  • nWWN/WWNN: 64-bitars HBA-adress
  • sWWN: Switch WWN
  • Sequence: en eller flera data frames som hör ihop (SEQ_ID) och skickas i en enkelriktad ström mellan två N ports
  • FCID: Logisk adress
  • Principal switch: har bl.a. hand om domain ID distribution och RSCN, finns en per SAN
  • FCNS: Fibre Channel Name Server (typ DNS), körs på den utvalda Principal switch
  • RSCN: Registered State Change Notification är en tjänst som N ports kan subscriba på för att få uppdateringar om vad som händer i fabricen
  • FSPF: Fabric Shortest Path First är det routingprotokoll som körs i fabricen (motsvarighet till OSPF för IP)

Layers

  • FC-0: physical layer
  • FC-1: enconding and error control
  • FC-2: signaling protocol med frame structure och byte sequences
  • FC-3: vilka services finns i fabricen, t.ex. time distribution och säkerhet
  • FC-4: Mappning mellan FC och det som körs ovanpå, t.ex. SCSI eller IP

Initiators och targets har Host Bus Adapters (HBA), dessa kallas Node Ports. N ports kopplas till Fabric Ports (F ports) på FC-switcharna. Switchportar som kopplas ihop med varandra kallas Expansion (E) Ports, det är på dessa som FSPF körs. Default räknas FSPF cost: 1000 delat med link speed i Gbps, t.ex. 10G = 100. FC har stöd för ECMP. Har man t.ex. Ciscoswitchar finns det stöd för VSAN (motsvarigheten till VLAN + VRF) kan man trunka dem över dessa E ports, då kallas det Trunking Expansion Ports (TE Ports).

Det första som händer när man kopplar in en server är att den skickar en Fabric Login (FLOGI). Detta görs till FFFFFE (well-known fibre channel address for a fabric F_Port). Switchen tar emot detta meddelande och registrerar denna unika WWPN med FCNS. FCNS svarar tillbaka med en unik 24-bitars Fibre Channel Identifier (FC_ID eller N_Port_ID). FCID består av Domain ID, Area ID, Port ID och är routbar inom FC-domänen. När en initiator har fått ett FCID så skickar den Port Login (PLOGI). Detta görs till FFFFFC (well-known fibre channel address for a directory server). Då registreras WWPN och det assignade FCID till FCNS. FCNS svarar då tillbaka med FCID:n för de targets som initiatorn har rätt att accessa enligt zoningpolicyn. När PLOGI är klart kan initiatorn börja sin discovery process för att hitta targets och deras capabilities och operating parameters. Detta görs mellan upper layer protocols och kallas PRLI. Sedan kan man hitta Logical Unit Numbers (LUNs).

FLOGI-databasen är alltså locally significant inom switchen. Där finns endast WWPN och FCID:n för de directly connected initiators och targets. FCNS-databasen är distribuerad över alla switchar i fabricen och där finns alla nåbara WWPN och FC_ID:n.

Eftersom FC är lossless data transport så finns det inbyggd flow control mekanismer. Detta är credit-based vilket betyder att mottagaren alltid kontrollerar flödena och sändaren får endast skicka data om den vet att mottagaren har tillräckligt med resurser för att ta emot det. Man berättar för andra sidan hur mycket buffer som finns tillgängligt (BB_Credit) och sändaren räknar sedan hur mycket som har skickats (BB_Credit_CNT). Counten får ej överstiga BB_Credit. Varje gång en buffer blir ledig så skickas ett R_RDY message över till sändaren som då sänker BB_Credit_CNT. Detta görs hela tiden mellan alla portar i fabricen.

Zoning
En zone är en samling N ports i fabricen som känner till varandra men inget utanför zonen, ett slags VPN. Detta används för att få storage access control. Varje medlem kan definieras av port på switch, WWN, FCID eller ett operator configured alias. Zoning kan göras på två olika sätt, soft och hard zoning. Soft betyder att members endast ser varandra i name server queries medans hard görs med "ACL:er" i hårdvaran i hela fabricen. Nuföritden finns endast hard zoning.

En eller flera zoner kan aktiveras som en grupp och kallas då zone set. En fabric kan ha flera zone sets men endast en kan vara aktiv åt gången. För att ha hand om detta finns det en Zone Server.

VSAN
Med virtuella SAN kan man köra flera SAN i samma hårdvara. VSAN är en emulering av en FC fabric, dvs man partitionerar upp sitt SAN. Varje VSAN kör sin egen Name Server, Zone Server, Login Server etc. VSAN Manager är en NX-OS process som håller koll på VSAN attribut och porttillhörighet. Alla portar på en Cisco-switch ligger default i VSAN 1. Man kan förlänga VSAN genom att trunka dem över E ports, som då kallas TE_port. Alla frames taggas då med en VSAN header. Det går även att aggregera länkar som trunkar VSAN. Man kan låta PCP agera kontrollprotokoll för länkaggregeringar likt LACP för ethernet.

Konfiguration

Nexus 5000. Default pratar bara Nexus-switchar FC med Cisco FC-switchar, detta går att ändra med interoperability mode.

Prereqs

feature fcoe

slot 1 
 port 44-48 type fc

copy run start
reload

Verify

show int br  
show int e1/44 trans

VSAN och trunk

feature npiv
feature fport-channel-trunk

vsan database
 vsan 100
 vsan 100 interface fc1/44 - 48

interface fc1/44 - 45
 channel-group 10 

interface san-port-channel 10
 channel mode active
 switchport trunk mode on
 switchport trunk allowed vsan 100

Noter att båda sidor bör konfas klart innan man gör no shutdown på port-channel.

show san-port-channel database

TE port

interface fc1/1 - 2
 switchport speed 8000
 switchport mode E
 switchport trunk allowed vsan 101

TE Port-channel

interface fc2/1 - 2
 switchport speed 8000
 switchport mode E
 channel-group 11 force
 no shutdown

interface san-port-channel 11
 channel mode active
 switchport mode E
 switchport trunk allowed vsan 101

Verify

show flogi database
show fcns database
show fcdomain domain-list

Traffic Engineering

interface fc1/24
 fspf cost 50 vsan 100

show fspf vsan 100

Zoning

Zoning är access control i fabricen. Ett zoneset är en eller flera zones. Zone-rekommendation är single target, single initiatior och att man använder pwwn eller alias. Hard zoning går ej att stänga av på Nexus.

zone name PROD vsan 100
 member pwwn 10:00:00:23:45:00:00:10
 member pwwn 10:00:00:23:45:00:00:20

zoneset activate name PROD vsan 100

Show

show zone status vsan 100

Permit all

zone default-zone permit vsan 100

Man kan även distribuera sitt zoneset över fabricen

zoneset distribute full vsan 100

Smart Zoning
För att förenkla sin konfig lite kan man använda taggar för att ange vilka pwwn som är initiators kontra targets. Detta måste vara påslaget på alla switchar i fabricen.

zone smart-zone enable vsan 100
zone convert smart-zone vsan 100

FCoE

Fibre Channel är ett stängt point-to-point medium medans Ethernet är öppet multi-access medium. Trots detta kan ethernet (med hjälp av vissa enhancements) användas för att bära FC. Fibre Channel traffic kräver lossless transport. FCoE har en egen EtherType (0x8906).

Termer

  • End Node (E-Node): de noder som har CNA.
  • FCF: Fibre Channel Forwarder är en switch som förstår både FC och FCoE.
  • NPV: N-Port Virtualisation

Overview
Cisco-FCoE-CNA.png

Data Center Bridging
Ett DCB-nätverk tillhandahåller I/O consolidation. Det betyder att SAN- och LAN-trafik går i samma nätverk. Switcharna måste supportera CoS-based traffic differentiation. Fibre Channel är känsligt för packet drops och är beroende av att paketen kommer fram i samma ordning som de skickades. I ett DCB-nätverk används virtuella länkar (VLs) för att differentiera trafik-klasser. VLs är en extension av CoS vilket gör att trafik i en klass inte påverkar trafik i en annan. Det finns 8 CoS värden. DCBX är på default på Nexus-switchar.

Priority Flow Control
PFC (IEEE 802.1bb) är ett subprotokoll till DCB. Det är en mekanism som förhindrar frame loss pga congestion. Det är likt 802.3x Flow Control (pause frames) men det jobbar på en per CoS basis. När en buffer threshold överstigs pga congestion så skickas en pause frame till andra sidan för att den ska sluta skicka frames med ett visst CoS-värde på den länken under en viss tid. När sedan trafik går ner under ett visst gränsvärde så skickas en resume frame för att dra igång dataflödet på länken igen. PFC kommunicerar genom att skicka frames till well-known multicast address 01:80:C2:00:00:01.

Det första som händer när länken mellan FCoE-switch och CNA kommer upp är att DCBX (Data Centre Bridging capabilities eXchange protocol) berättar för CNA hur den ska vara konfad med avseende på PFC & ETS (enhanced transmission selection). ETS jobbar med priority groups som man kan assigna bandbredd till. DCBX transporteras on the wire av LLDP. När DCBX är klart kan FIP ta vid.

FCoE Initiation Protocol
FIP är en väsentlig del i FCoE. Det används för att upptäcka och initiera FCoE-kapabla enheter som är kopplade till ethernetnätverket. FIP har hand om vlan och FCF discovery samt FLOGI och Fabric Discovery. Det är FIP som sätter upp virtuella FC-länkar. På varje FCoE Ethernet port på FCF skapas en virtuell FC-port (vfc). Varje virtuell FC-länk identifieras av FCoE VLAN ID samt MAC-adresserna i varje ände på länken. Det betyder att varje FC-paket måste vara taggat med det vlan som vsanet är mappat med, detta vlan kan ej användas till något annat än FCoE. Notera dock att FIP använder native vlan först men gör en vlan discovery så man får en lista av FCoE-vlan.

FIP bygger även länkar FCF till FCF för multihop FCoE samt håller koll på länkar mha periodiska maintenance messages. E-Nodes använder olika MAC-adresser för FIP och FCoE. FIP sourcas med burned in address medans FCoE sourcas med den MAC-adress som fabricen tillhandahållit, Fabric Provided MAC Address. FPMA utgörs av FCoE MAC address prefix (24 bitar) plus FC_ID (24 bitar). För att rymma den maximala FC-framen är qos class-fcoe definierad med MTU 2240 bytes. FIP har en dedikerad Ethertype (0x8914). Protokollet finns i två versioner (CIN-DCBX & CEE-DCBX) och Nexus har stöd för båda.

Konfiguration

Eftersom FCoE och FIP använder ett taggat FCoE-vlan så måste ethernetport på FCF mot servrar vara vlan-trunk.

QoS
Kontrollera att QoS är konfat med minst en no-drop klass. Default används CoS 3 för FCoE.

show policy-map system type network-qos

F-port

interface 1/15
 switchport mode trunk
 switchport trunk allowed vlan 1,100-105
 spanning-tree port type edge trunk

interface vfc 315
 bind interface e1/15
 switcport mode f

Verify

show flogi database
show fcns database
show vlan fcoe
show fcoe database
show topology vsan 100

PFC

interface ethernet 1/15
 priority-flow-control mode auto

show interface priority-flow-control

auto betyder att no-drop CoS values ska annonseras och förhandlas med hjälp av DCBXP. En successful negotiation slår på PFC på no-drop CoS. Medans om det t.ex. är en mismatch i capabilities så kommer inte förhandlingen att lyckas och PFC förblir avstängt.

Multihop FCoE

Precis som det finns virtuella F-portar finns det även virtuella E-portar.

interface vfc 15
 bind interface ethernet 1/15
 switchport mode e
 no shut

interface ethernet 1/15
 switchport mode trunk
 no shut

Enhanced vPC

Man kan kombinera FCoE med Enhanced vPC men man måste separera A- och B-sidan. Detta kan man göra genom att konfa FEX:arna att pinna FCoE-trafik till endast den ena parent. Först bygger man vPC och sedan FCoE på det. FCoE-vlan får ej traversera vPC peer-linken men detta sköts default. Host facing vfc-interfaces binds till fysiska ethernetport och inte port-channel interface.

Nexus1

fex 101
 fcoe 

interface vfc 10
 bind interface ethernet101/1/1
 no shutdown

Nexus2

fex 102
 fcoe

interface vfc 10
 bind interface ethernet102/1/1
 no shutdown

Show

show fex detail | i FCoE

Nexus 7k

FCoE görs med hjälp av Storage VDC.

license fcoe module 2

system qos
 service-policy type network-qos default-nq-7e-4q8q-policy

vdc SAN type storage
 allocate interface e2/1-8
 allocate fcoe-vlan-range 100-101

iSCSI

iSCSI har egentligen inte mycket med switchar att göra men man bör göra det lossless.

class-map type qos match-all class-iscsi
 match protocol iscsi
 match cos 6

policy-map type qos qos_fcoe_and_iscsi
 class class-iscsi
  set qos-group 2
 class class-fcoe
  set qos-group 1

policy-map type network-qos network_fcoe_and_iscsi
 class type network-qos class-iscsi
  mtu 9216
  pause no-drop
 class type network-qos class-fcoe
  mtu 2158
  pause no-drop
 class type network-qos class-default
  mtu 9216

system qos
 service-policy type queuing input fcoe-default-in-policy
 service-policy type queuing output fcoe-default-out-policy
 service-policy type qos input qos_fcoe_and_iscsi
 service-policy type network-qos network_fcoe_and_iscsi