Tuesday, June 4, 2019

Fibre Channel SAN Part 1 – FCP and WWPN Addressing

SAN Terminology


Before we start getting more in depth on Fibre Channel, let me give you some basic general SAN terminology.

LUN stands for Logical Unit Number. The LUN represents a logical disk that will be presented to a host. The client connects to its LUN and uses it as if it was a local hard drive. LUNs are specific to our SAN, not our NAS protocols.

The client is known as the initiator and the storage system is known as the target.

The Fibre Channel Protocol


FCP, the Fibre Channel Protocol, is used to send the SCSI commands over the Fibre Channel network. If your client had a local hard drive, it would send SCSI commands to that local hard drive. With SAN, it's sending the SCSI commands, but over a network now.

Fibre Channel is Lossless


Fibre Channel is a very stable and reliable protocol which is one of the main reasons it remains very popular with old school storage engineers.

Ethernet networks are lossy. With TCP, the sender sends traffic to the receiver, and the receiver will periodically send acknowledgements back. If a sender doesn't get an acknowledgement back, then it knows that the traffic was lost in transit and it will resend the traffic.

UDP is best effort, without acknowledgements. It’s up to the higher application layers to deal with any lost traffic.

Fibre Channel is lossless, unlike TCP and UDP. The buffer-to-buffer credits flow control mechanism is built into the protocol to ensure frames are not lost.

Fibre Channel Speeds


Fibre Channel currently supports bandwidths of 2, 4, 6, 8 and 16 Gbps. Not all hardware supports the higher speeds, so the speed you’ll get depends on the equipment you've got deployed.

Fibre Channel Networking


Fibre Channel is different than Ethernet at all layers of the OSI stack, including the physical level, so it requires dedicated adapters, cables and switches. You can't use an Ethernet network card or an Ethernet switch for Fibre Channel. This is different than iSCSI, FCoE and our NAS protocols which do run over Ethernet.

(FCoE is a special case in that it uses an Ethernet network but still runs the Fibre Channel protocol which requires lossless traffic, so it can’t use standard Ethernet adaptors and switches.

In the example here, the host in the middle of the diagram is a web server and its client, at the top, is going to be accessing a web page on that web server. The client will access the server over the normal Ethernet local area network. Then to fetch the web page, the server will connect to its storage over the Fibre Channel network.

Fibre Channel FCP and WWPN


For the local area network which connects it to its client, the server uses standard Ethernet NIC (Network Interface Card) ports. Typically we will use two ports for redundancy, either on the same or separate physical cards.

For the storage area network which connects it to its storage, the server has standard Fibre Channel HBA (Host Bus Adapter) ports. An HBA is the Fibre Channel equivalent of an Ethernet NIC. Again we will typically use two for redundancy.

Network Addressing – The WWN


Fibre Channel uses World Wide Names, WWNs, for its addressing. Both initiators and targets are assigned WWNs. The WWNs are 8 byte addresses that are made up of 16 hexadecimal characters. Here’s an example:

21:00:00:e0:8b:05:05:04

There are two types of WWN address: The WWNN and the WWPN. They both use the same format and look the same.

The WWNN World Wide Node Name


The World Wide Node Name (WWNN) is assigned to a host in the storage network. The WWNN signifies that individual host. The same WWNN can identify multiple network interfaces of a single network node. A host could have multiple HBAs, or multiple ports in an HBA.

You might sometimes see the WWNN also being referenced as the NWWN, the Node World Wide Name. WWNN and NWWN are exactly the same thing, just two ways of saying it.

The WWPN World Wide Port Name


Our hosts also have World Wide Port Names, WWPNs. A different WWPN is assigned to every individual port on a node. If we had a multi-port HBA in the same host, each port on that HBA would have a different WWPN. WWPNs are the equivalent of MAC addresses in Ethernet. The WWPN is burned in by the manufacturer of that HBA, and it's guaranteed to be globally unique.

Just like WWNNs can also be known as NWWNs, WWPNs are also sometimes known as PWWNs. Again it means the same thing.

Both the initiator (the client) and the target (the storage system) are assigned WWNNs and WWPNs on their Fibre Channel interfaces to enable them to communicate with each other.

We're primarily concerned with the WWPNs, not the WWNN, when we're configuring Fibre Channel networks.

Aliases


The WWPN is a big, long hexadecimal address. It isn’t obvious which system it’s on if we’re looking at the output of troubleshooting commands, and it’s easy to make a typo when we’re entering our configuration.

Aliases can be configured for the WWPNs to make configuration and troubleshooting easier. For example, we could create an alias named EXCHANGE-SERVER-PORT-1. Now when we’re configuring settings, we can specify the alias, rather than the WWPN. This is more convenient and makes it less likely that we're going to put in any typos. Also, the Alias will be shown in any troubleshooting output which makes it immediately obvious which system we’re looking at.

For Fibre Channel you're going to need to reference WWPNs in both the Fibre Channel switch and the storage system configuration. Aliases can be used on both of them.

No comments:

Post a Comment