fc tom keiser
TRANSCRIPT
-
7/31/2019 Fc Tom Keiser
1/60
Fibre ChannelOr, why iSCSI is a BAD IDEA
Tom Keiser
Penn State Linux Users Group
Fibre Channel p.1/6
-
7/31/2019 Fc Tom Keiser
2/60
Overview
Historical Background
What is Fibre Channel?
FC Hardware
Topologies and Addressing
The FC Protocol
How fast is it?Why is it better than iSCSI?
Fibre Channel p.2/6
-
7/31/2019 Fc Tom Keiser
3/60
History of Storage Networks
Storage networks evolved for several reasons
To abstract the complexity of storagetechnologies from the host system
To allow multiple systems to share a diskcabinet or array
They were a necessary step in the
development of cluster filesystems forVMS, OS/390, etc.
More recently, they have permitted data
centers to place storage outside ofmetropolitan areas in specialized storagecenters Fibre Channel p.3/6
-
7/31/2019 Fc Tom Keiser
4/60
History of Storage Networks
DEC developed a precursor to the SAN for its
VMS clusters using the DSSI and CIinterconnects
IBM developed SSA for its RS/6000 systems
The SSA protocol stack is much simplerthan FC
The lowest layers of the SSA stack are astreamlined derivative of FC
SSA is application-specific; FC is generic
shared SCSI is common in small installations
Fibre Channel p.4/6
-
7/31/2019 Fc Tom Keiser
5/60
History of Fibre Channel
Architecture developed by Sun Microsystems
as a part of Project StoreXProtocol developed by IBM
IBM decided FC was too complex for manyapplications
SSA was IBMs simplified solution
Fibre originally came in several speedsranging from 125Mbps to 1062.5Mbps
Early fibre installations were private loops
Fibre Channel p.5/6
-
7/31/2019 Fc Tom Keiser
6/60
Fibre Channel
The Basics
Fibre Channel p.6/6
-
7/31/2019 Fc Tom Keiser
7/60
What is Fibre Channel?
A high-performance serial storage network
Current implementations run at 1 and 2 Gbps
4 and 8 Gbps implementations are planned
Common Physical Cabling:Copper cabling with HSSDC, HSSDC2, orDB9 connectors
Single-mode or multi-mode fiber with SC orLC connectors
Fibre Channel p.7/6
-
7/31/2019 Fc Tom Keiser
8/60
What is Fibre Channel?
FC, like most major data link layer protocols,
encapsulates common transport protocolsSCSI
IP
VI (virtual interface protocol used inclusters)
HIPPIESCON
Fibre Channel p.8/6
-
7/31/2019 Fc Tom Keiser
9/60
FC Hardware Overview
Host Bus Adapters (HBAs)
Interface PCI, SBUS, XIO64, etc. with FCIntegrate SRAM frame buffers and RISCprocessors to offload framing,segmentation, etc.
Hubs
Make a logical ring topology physicallyappear as a star topology
Automatically detect failed or unplugged
devices and route the ring around them
Fibre Channel p.9/6
-
7/31/2019 Fc Tom Keiser
10/60
FC Hardware Overview
Gigabit Interface Connectors (GBICs)
Abstract the technical details related tocable type and laser type from expensiveI/O processors
Hot-swappable
Available in two form factorsLegacy (GBIC)Small Form-factor Pluggable (SFP)
Available in a variety of connector types
Make transition to new cable technologiescheaper
Fibre Channel p.10/6
-
7/31/2019 Fc Tom Keiser
11/60
FC Hardware Overview
Switches
Incorporate large buffers to ensurelong-distance links for metropolitan-areaSANs are not starved
Handle load balancing and routedetermination across inter-switch links
Provide fabric name services to aid inservice location
Include zoning capabilites to enforce
security policies
Fibre Channel p.11/6
-
7/31/2019 Fc Tom Keiser
12/60
Hardware Manufacturers
HBAs
Emulex, Qlogic, JNI, LSI Logic, SunMicrosystems
Switches
Brocade, McData, Ancor/Qlogic, Cisco
GBICs
IBM, Finisar, AMP, Stratos Lightwave,Methode
Routers and GatewaysPathlight, ADIC, Cisco, QlogicFibre Channel p.12/6
-
7/31/2019 Fc Tom Keiser
13/60
Fibre Channel
Network Addressing and Topology
Fibre Channel p.13/6
-
7/31/2019 Fc Tom Keiser
14/60
Fibre Network Logon Types
Private
Simplistic protocol that uses ArbitratedLoop Physical Addressing (AL_PA)
Runs on an arbitrated loop topology
Public (Fabric Aware)
Flexible protocol that runs on switched
fabricsUses fabric name services for targetlocation
Switching done on Hardware addresses(WWNs)
Fibre Channel p.14/6
-
7/31/2019 Fc Tom Keiser
15/60
Public Addressing
Every port has a 48-bit hardware address,
called a World-Wide Port Name (WWPN)Each node in the system has a World-WideNode Name (WWNN)
Frames are routed based upon source anddestination WWPN values in frame headers
WWNNs help facilitate multipathingtechnologies by revealing an N:1 mapping
Fibre Channel p.15/6
-
7/31/2019 Fc Tom Keiser
16/60
Arbitrated Loops
Serial Ring Topology
Loop Initialization Primitive (LIP) is used toestablish and maintain loop
An initiator must acquire the loop, and thusform a bidirectional symmetric logical link withanother node on the ring
Only one pair of nodes per loop cancommunicate at a time
Stability can be disrupted by LIP storms
Loop can be constructed using TX RXsim lex cablin , or usin hubs Fibre Channel p.16/6
-
7/31/2019 Fc Tom Keiser
17/60
Switched Fabric
One or more switches interconnected by
Inter-Switch Links (ISLs)Each port is configured by the administratorfor a specific mode of operation
Switches provide zones (similar to IEEE802.1Q VLANs) to allow coexistence of
multiple security domainsService discovery is aided by the fabric nameservices that run on every switch
WWNs are used to address targets, so muchlarger networks are possible Fibre Channel p.17/6
-
7/31/2019 Fc Tom Keiser
18/60
Common Port Types
L_Port
Node PortArbitrated Loop Mode
N_PortNode Port
Point-to-Point Mode
FL_Port
Switch Port
Arbitrated Loop Mode
Fibre Channel p.18/6
-
7/31/2019 Fc Tom Keiser
19/60
Common Port Types
F_Port
Switch PortPoint-to-Point Mode
Many older I/O processors do not supportthis (e.g. Qlogic ISP2100, LSIFC909)
T_Port
Qlogic-proprietary ISL PortE_Port
ISL Port
Fibre Channel p.19/6
-
7/31/2019 Fc Tom Keiser
20/60
-
7/31/2019 Fc Tom Keiser
21/60
Port to Switch Topologies
Node
NL_Port
Switch
FL_Port
Node
NL_Port
Node
NL_Port
Public Loop Topology
Switch
F_Port
Node
N_Port
Public Point-to-Point Topology
Fibre Channel p.21/6
-
7/31/2019 Fc Tom Keiser
22/60
Common Fabric Topologies
Degenerate Case
Single-switch fabric
Cascade
Consists of a line or ring of switchesEvery switch has one or two adjacentswitches
Latency scales with , which is very badNumber of ISLs scales with , which isoptimal
Cascade is well suited to small fabricsFibre Channel p.22/6
-
7/31/2019 Fc Tom Keiser
23/60
Common Fabric Topologies
Switch 1 Switch 2 Switch 3
Cascade Fabric Topology
Fibre Channel p.23/6
-
7/31/2019 Fc Tom Keiser
24/60
Common Fabric Topologies
Mesh
Switches and ISLs form a complete graphGraph diameter is constant, which makeslatency constant (assuming all equipment
operational, and no congestion)Number of ISLs scales with
Worst-case ISL to usable port ratioProhibitively expensive for large fabrics
Highest performance
Good for medium-sized fabricsFibre Channel p.24/6
-
7/31/2019 Fc Tom Keiser
25/60
Common Fabric Topologies
Switch 1
Switch 2
Switch 3
Mesh Fabric Topology
Switch 4
Fibre Channel p.25/6
-
7/31/2019 Fc Tom Keiser
26/60
Common Fabric Topologies
Multi-Stage
Switches belong to one of two disjointclasses
Edge switches contain links to nodes and
core switchesCore switches contain links to edgeswitches
Topology forms a complete bipartite graphEvery edge switch has a link to everycore switch, and vice versa
ISL count scales withFibre Channel p.26/6
-
7/31/2019 Fc Tom Keiser
27/60
Common Fabric Topologies
Mult-Stage
Usable port count scales with, Where
is the number of edge switches
is the number of core switchesis the port count of edge switch
is the number of trunks between
edge switch and core switch
Latency is constant, but greater than thelatency for a Mesh
This topology is well suited to large fabricsFibre Channel p.27/6
-
7/31/2019 Fc Tom Keiser
28/60
-
7/31/2019 Fc Tom Keiser
29/60
Fibre Channel
The Protocol
Fibre Channel p.29/6
-
7/31/2019 Fc Tom Keiser
30/60
FC Protocol Stack
FC0
Physical LayerHandled by GBIC electronics
FC18b/10b encoding layer developed by IBMNecessary for receiver clock recovery
Encoding tries to keep the ratio of 0s to1s near 1Limits same bit run length to 5
Detects single-bit errorsFibre Channel p.30/6
-
7/31/2019 Fc Tom Keiser
31/60
FC Protocol Stack
FC1
268 of 1024 values are valid256 data values12 control values
Start of Frame (SOF), End of Frame(EOF), Idle, Receiver Ready (R_RDY),etc.
FC2
Framing, Segmentation, Reassembly
Flow Control LayerFibre Channel p.31/6
-
7/31/2019 Fc Tom Keiser
32/60
-
7/31/2019 Fc Tom Keiser
33/60
The Messaging Hierarchy
FC is a frame-based protocol
Frames are either 512, 1024, or 2048 bytesFrame size is negotiated during port login
Practically everything uses 2048 byteframes
An atomic message unit is called a Sequence
Sequences consist of one or more framesA transaction is called an Exchange
Exchanges consist of one or moresequences
Fibre Channel p.33/6
-
7/31/2019 Fc Tom Keiser
34/60
-
7/31/2019 Fc Tom Keiser
35/60
Frame Types
Link Control Frame
Provides for flow controlExamples include ACK for class 1 or 2frames
Contains no payload
Data Frame
Provides for data transport servicesExamples include encapsulated protocoldata
Contains a payload of 02112 bytesFibre Channel p.35/6
-
7/31/2019 Fc Tom Keiser
36/60
Frame Contents
Start of Frame Sequence (4 bytes)
Frame Header (24 bytes)
Payload (02112 bytes)
Cyclic Redundancy Checksum (4 bytes)End of Frame Sequence (4 bytes)
Fibre Channel p.36/6
-
7/31/2019 Fc Tom Keiser
37/60
FC Frame Header Layout
Offset Word Contents
0 Routing Ctrl Destination WWN
4 Reserved Source WWN
8 ULP Type Frame Control12 Sequence ID Data Field Ctrl Sequence Count
16 Originator Exchange ID Responder Exchange ID
20 Parameter
Fibre Channel p.37/6
-
7/31/2019 Fc Tom Keiser
38/60
Fibre Channel
Classes of Service and Flow Control
Fibre Channel p.38/6
-
7/31/2019 Fc Tom Keiser
39/60
-
7/31/2019 Fc Tom Keiser
40/60
Service Class 2
Connectionless
Unordered delivery is possible
Multi-mode flow control
Buffer-to-buffer by fabric-generated R_RDYframes
End-to-end by N_Ports sending ACKs
Fabric may multiplex/demultiplex frames intransit
Fabric attempts to notify originator ofnon-deliveryFibre Channel p.40/6
-
7/31/2019 Fc Tom Keiser
41/60
Service Class 3
Connectionless
Unordered delivery is possible
Delivery is not guaranteed
Buffer-to-buffer flow control viafabric-generated R_RDY frames
No notification to originator of dropped frames
Fabric may multiplex/demultiplex frames intransit
Fibre Channel p.41/6
-
7/31/2019 Fc Tom Keiser
42/60
Service Class 4
Not defined in ANSI FC-PH; classes 46 are
discussed vaguely on the internetStateful virtual circuit
Frames are delivered in-order
Delivery is guaranteed
Provides a fractional-bandwidth virtual circuit
Meant for isochronous data services
No know implementations
Fibre Channel p.42/6
-
7/31/2019 Fc Tom Keiser
43/60
Flow Control
Each port has a pool of frame buffers
Qlogic switches statically assign buffers toeach port
Thus, they have the lowest latency in the
industryLong-distance ports can steal buffersfrom adjacent ports, at the expense of
deactivating themBrocade switches have a global framebuffer pool
Fibre Channel p.43/6
-
7/31/2019 Fc Tom Keiser
44/60
Flow Control
Each frame buffer is referred to as a credit
A port may send as many frames as it hasavailable credits before receiving an ACK
Thus, link distances are effectively limited
by the number of available buffer credits ateach end of the link
Fibre Channel p.44/6
-
7/31/2019 Fc Tom Keiser
45/60
Flow Control
End-to-End Flow Control
Class 1 and Class 2 frames use thisImplemented as an ACK frame
A single ACK may acknowledge, one,
multiple sequential, or all frames in asequence
Buffer-to-Buffer Flow Control
Class 2 and Class 3 frames use this
Implemented as an R_RDY frame
One R_RDY is required per receivedframeFibre Channel p.45/6
-
7/31/2019 Fc Tom Keiser
46/60
Fibre Channel
The Practical Side
Fibre Channel p.46/6
-
7/31/2019 Fc Tom Keiser
47/60
Wh i iSCSI b d h l ?
-
7/31/2019 Fc Tom Keiser
48/60
Why is iSCSI bad technology?
Implementing SCSI over TCP is simply
overkillThe SCSI protocol does not lend itself tostateful transports, hence SCSI is an FC
class 3 serviceSCSI has its own built-in error detectionmethodology, so a reliable transport layer
is redundantThere are simpler ways to get flow controlthan by implementing Reno or Vegas in
SiliconFibre Channel p.48/6
Wh i iSCSI b d t h l ?
-
7/31/2019 Fc Tom Keiser
49/60
Why is iSCSI bad technology?
A key issue with SANs is that they are
physically separate from public networks, andthus are inherently more secure
LANs are generally architected in a much
more haphazard manner than SANs, thusleading to stability and robustness concerns
Mixing bulk I/O traffic and time-sensitiveIP-based traffic will lead to disputes over QoSsettings
Fibre Channel p.49/6
-
7/31/2019 Fc Tom Keiser
50/60
Wh i iSCSI b d t h l ?
-
7/31/2019 Fc Tom Keiser
51/60
Why is iSCSI bad technology?
The iSCSI protocol family is still very
immatureBecause iSCSI HBAs will be attached tocorporate ethernet backbones, there will
be an extraordinarily greater chance ofmalicious traffic hitting the HBAs.
The complexity of implementing a TCP
stack in silicon coupled with the smallamount of prior-work makes the probabilityof error high
Fibre Channel p.51/6
C t D i Ch i
-
7/31/2019 Fc Tom Keiser
52/60
Customary Design Choices
FC fabric designs follow normal HA theory
Multiple HBAs on separate buses are placedin each node
Two identical, redundant fabrics are built sothat a complete fabric failure will not affectoperations
FC disks are dual-port so they can beattached to both fabrics
Fibre Channel p.52/6
E amples
-
7/31/2019 Fc Tom Keiser
53/60
Examples
Disk 1 Disk 0Disk 2
Bypass CardBypass CardBypass Card
Bypass CardBypass CardBypass CardLoop A
GBIC
Loop B
GBIC
FibreJBOD
Fibre Channel p.53/6
Examples
-
7/31/2019 Fc Tom Keiser
54/60
Examples
Disk Loop BDisk Loop A
Host Loop BHost Loop A
Typical Redundant Fibre RAID System
Controller A Controller B
High-Bandwidth,
Low-Latency CacheCoherency Interconnect
Fabric AFabric B
JBOD JBOD JBODJBOD
Fibre Channel p.54/6
Examples
-
7/31/2019 Fc Tom Keiser
55/60
Examples
Loop B
Loop A
Fabric Switch
Private JBOD Public JBODPublic Initiator
Fibre HubPublic Loop UsingSimplex Cabling
Simple Fibre Channel Fabric
JBOD
JBOD
JBOD
Private Loop
Using a Hub
Public RAID
Controller(s)
Fibre Channel p.55/6
Examples
-
7/31/2019 Fc Tom Keiser
56/60
Examples
Loop B
Loop AFabric Switch
Private JBOD
Public JBOD
Public InitiatorPublic Initiator Private Initiator
Simple Redundant Fibre Channel Fabric
JBOD
JBOD
JBOD
Public RAID
Controller(s)Fabric Switch
Fibre Channel p.56/6
Fibre Channel
-
7/31/2019 Fc Tom Keiser
57/60
Fibre Channel
Conclusions
Fibre Channel p.57/6
Conclusions
-
7/31/2019 Fc Tom Keiser
58/60
Conclusions
The FC protocol is finally reaching maturity
Fibre Channel has become the standard SANinterconnect technology
No replacement technologies are going to beavailable in the next few years
iSCSI is only a replacement for FC in
lower-end installations where performanceand stability are less critical
Fibre Channel p.58/6
-
7/31/2019 Fc Tom Keiser
59/60
Fibre Channel
-
7/31/2019 Fc Tom Keiser
60/60
Fibre Channel
Because iSCSI is a BAD IDEA
(And thanks for coming to this talk)
created using xemacs, visio, and LATEXwith the prosper class
Fibre Channel p.60/6