Difference between revisions of "Cisco FCoE"

From HackerNet
Jump to: navigation, search
(Created page with "Fibre Channel over Ethernet är en teknik för att enkapsulera Fibre Channel frames över lossless Ethernet. Fibre Channel fungerar som vanlig FC men FC0 och FC1 görs av ethe...")
 
Line 1: Line 1:
Fibre Channel over Ethernet är en teknik för att enkapsulera Fibre Channel frames över lossless Ethernet. Fibre Channel 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.  
+
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==
 
==Native FC==
Line 5: Line 5:
  
 
'''Termer'''
 
'''Termer'''
* WWPN: 64-bitars HBA-adress (typ MAC-adress)
+
* pWWN/WWPN: 64-bitars portadress på HBA (typ MAC-adress)
* FCNS: Fibre Channel Name Server (typ DNS), körs på utvald Principal switch
+
* 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''' <br/>
 +
* 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. 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. 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).
  
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 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).  
  
 
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.
 
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''' <br/>
 +
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''' <br/>
 +
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
 +
feature fcoe
 +
 +
slot 1
 +
  port 44-48 type fc
 +
 +
copy run start
 +
reload
 +
 +
Verify
 +
show int br 
 +
show int e1/44 trans
 +
 +
VSAN o 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
  
 
==FCoE==
 
==FCoE==
  
 +
[[File:Cisco-FCoE-CNA.png]]
  
 
[[Category:Cisco]]
 
[[Category:Cisco]]

Revision as of 08:53, 24 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. Har man t.ex. Ciscoswitchar finns det stöd för VSAN (motsvarigheten till VLAN) 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

feature fcoe

slot 1 
 port 44-48 type fc

copy run start
reload

Verify

show int br  
show int e1/44 trans

VSAN o 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

FCoE

Cisco-FCoE-CNA.png