what is Fcoe,Dcb,Lldp,Fip
Fibre Channel over Ethernet (FCoE)
Based on standards from IEEE T11 FC-BB-5, FCoE allows the encapsulation of Fibre Channel (FC) frames over Ethernet networks.
The common data center has a dedicated LAN (Local Area Network) and SAN (Storage Area Network), separated from each other with their specific configurations. The idea behind FCoE is to merge LAN and SAN onto a single and converged network structure, which means a reduced number of cables, ports, switches, I/O cards, power and cooling costs.
Data Center Bridging (DCB)
Data Center Bridging, also known as Data Center Bridging eXchange (DCBX), enables priority-based flow control to a specific type of traffic, which enhances the reliability of Ethernet transport. Oversimplifying things, two DCB important functionalities are: allocating bandwidth and to provide lossless ethernet transport using priority-based flow control between endpoints and switches.
Link Layer Discovery Protocol (LLDP)
Link Layer Discovery Protocol (LLDP) is a vendor-neutral layer 2 protocol. It is used by network devices, such as switches and routers to advertise their identity and capabilities to other devices on the network.
Virtual LAN (VLAN)
This technology allows network administrators to subdivide a network into Virtual LANs (VLAN), isolating the local network in more than one virtual network with distinct broadcast domains. It also allows switches, or router, in a different physical location to communicate as if they were in the same broadcast domain. VLAN plays an important part in FCoE, as it should use a VLAN dedicated only for FCoE traffic, also known as FCoE VLAN, and most important do not mix standard Ethernet with FCoE traffic on the same VLAN.
FCoE Initiator Protocol (FIP)
Fibre Channel over Ethernet (FCoE) Initialization Protocol (FIP) is responsible to establish and maintain between FCoE devices and Fibre Channel (FC) virtual links. It performs four important functions:
Deploying Fibre-Channel Over Ethernet on Red Hat Enterprise Linux
Disclosure: before beginning the configuration process, you must understand the hardware in use and its capabilities. For example, the differences between a rack-mounted and a blade server, passthrough or virtual adapter enclosure switches and so on. As it is vendor-specific details, these are way beyond the scope of this article, so please contact your hardware documentation.
Installing Packages
There are two packages needed to be able to use FCoE on RHEL:
After certifying that these packages were installed, the network interface configuration is the next step toward the FCoE deploy.
There will be only one Ethernet interface in use for the FCoE connection in this article. If you want to add more than one interface, the same process can be used for the newly added network interface.
Network Interface Configuration
Identify the Ethernet device that supports FCoE and configure the new VLAN.
The file /etc/fcoe/cfg-ethx provides the default configuration, and you can modify it as necessary.
# cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-ethN
## Type: yes/no
## Default: no
# Enable/Disable FCoE service at the Ethernet port
# Normally set to "yes"
FCOE_ENABLE="yes"
## Type: yes/no
## Default: no
# Indicate if DCB service is required at the Ethernet port
# Normally set to "yes"
DCB_REQUIRED="yes"
## Type: yes/no
## Default: no
# Indicate if VLAN discovery should be handled by fcoemon
# Normally set to "yes"
AUTO_VLAN="yes"
## Type: fabric/vn2vn
## Default: fabric
# Indicate the mode of the FCoE operation, either fabric or vn2vn
# Normally set to "fabric"
MODE="fabric"
## Type: yes/no
## Default: no
# Indicate whether to run a FIP responder for VLAN discovery in vn2vn mode
#FIP_RESP="yes"
# cat /etc/sysconfig/network-scripts/ifcfg-ethN
DEVICE=ethN
HWADDR=00:1A:2B:3C:4D:5E
ONBOOT=yes
BOOTPROTO=none
NM_CONTROLLED=no
Start lldpad daemon using the following command:
# service lldpad start
For interfaces that require a software DCB/DCBX client, enable it on the network interface using the following commands:
Reminder: If you are using hardware DCB/DCBX, then you remembered setting DCB_REQUIRED to no and this step can be skipped.
# dcbtool sc ethN dcb on
# dcbtool sc ethN app:fcoe e:1
Start the network interface:
# ifup ethN
Start fcoe and lldpad daemon:
RHEL 6:
# service fcoe start
# service lldpad start
RHEL 7:
Recommended by LinkedIn
# systemctl start fcoe
# systemctl start lldpad
Assuming that all other settings on the fabric are correct, the FCoE device should appear shortly. Run the following command to view the FCoE devices:
# fcoeadm -i
The output should look similar to this:
# fcoeadm -i
Description: 10-Gigabit Network Connection
Revision: 01
Manufacturer: Vendor Corporation
Serial Number: 001A1B112345
Driver: xyz 3.0.8-k2
Number of Ports: 1
Symbolic Name: fcoe v0.1 over ethN.550-fcoe
OS Device Name: host0
Node Name: 0x1000001234567890
Port Name: 0x2000001234567890
FabricName: 0x2064000ABCDEFGHI
Speed: 10 Gbit
Supported Speed: 10 Gbit
MaxFrameSize: 2048
FC-ID (Port ID): 0x4A0065
State: Online
Make sure that fcoe and lldapd daemons start at boot time:
RHEL 6:
# chkconfig fcoe on
# chkconfig lldpad on
RHEL 7:
# systemctl enable fcoe
# systemctl enable lldpad
If everything is right, from this point on you can attach LUNs, and use rescan-scsi-bus.sh, available installing sg3_utils package, to scan for new LUNs.
Useful Commands
Besides fcoeadm, commands like fipvlan and ip can give you some information about FCoE devices.
Using ip command, you can see the VLAN ID of your network interface quickly:
# ip -o|grep fcoe
3: eth1.550-fcoe@ethN: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP \ link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
If you want more details, you can use fipvlan command, like the example below:
# fipvlan -a
Fibre Channel Forwarders Discovered
interface | VLAN | FCF MAC
------------------------------------------
ethN | 550 | 00:1a:2b:3c:4d:5e
The command fcoeadm can help you gather some information.
Some examples that might be helpful:
Show detailed information about the discovered SCSI LUNs associated with the FCoE instance on the specified network interface:
# fcoeadm -l
Interface: ethN.550-fcoe
Roles: FCP Target
Node Name: 0x1000001234567890
Port Name: 0x2000001234567890
Target ID: 0
MaxFrameSize: 2048
OS Device Name: rport-0:0-1
FC-ID (Port ID): 0x4A0065
State: Online
LUN #10 Information:
OS Device Name: /dev/sdb
Description: Vendor Model (revision)
Ethernet Port FCID: 0x4A0065
Target FCID: 0x4A06FF
Target ID: 0
LUN ID: 10
Capacity: 25.00 GB
Capacity in Blocks: 52428799
Block Size: 512 bytes
Status: Attached
Show information about the discovered targets associated with the FCoE instance on the specified network interface. If no network interface is specified, information about discovered targets from all FCoE instances will be shown.
# fcoeadm -t
fcoeadm -t ethN.550
Interface: ethN.550
Roles: FCP Target
Node Name: 0x1000001234567890
Port Name: 0x2000001234567890
Target ID: 0
MaxFrameSize: 2048
OS Device Name: rport-0:0-1
FC-ID (Port ID): 0x4A0065
State: Online
LUN ID Device Name Capacity Block Size Description
------ ----------- ---------- ---------- ----------------------------
10 /dev/sdb 25.0 GB 512 Vendor Model (revision)
There are much more options available for the commands listed here, refer to their respective manuals for detailed information.
Caveats
Types of FCoE Cards
There are three types of FCoE cards:
No offload: EE (Enhanced Ethernet) cards.
These cards support (FIP) 0x8614 and FC-Frame mapping 0x8609 ethernet packet types, but offer no offloading of any type.
Partial offload: Some Qlogic cards, for example.
These cards support both the FIP and FC-Frame mapping packets -- no offload is provided for the FIP so that portion of the setup/configuration is still required, but once the FC gateway is found via FIP, the other half of the card performs the FC functions, that is a qla2xxx FC driver handles all disk I/O over FC and the Ethernet side of the HBA automatically handles the FC-Frame mapping/encapsulation within 0x8609 Ethernet packets.
Requires software support to enable FCoE functionality.
Full offload: Emulex cards, for example.
These cards support both FIP and FC-Frame mapping packets.
The ethernet firmware supports full FIP processing, while the FC-Framing is handled within the FC portion of the card.
These cards act as a plug-and-play replacement for FC cards in that no additional -- or very limited -- FCoE specific configuration is required.