Linux; Fibre Channel Status

Submitted by Jeremy
on April 19, 2005 - 9:01am

Christoph Hellwig provided an update on the status of Fibre Channel support for the 2.6 kernel, noting that after a planned merge of the SCSI development branch following the upcoming release of 2.6.12, "Linux will have more advanced Fibre Channel support than any currently available operating system." He goes on to explain, "the new Fibre Channel (FC) transport class offers two major advantages over traditional standalone drivers", listing an easy to use library and a common userspace interface. He goes on to explain:

"This reduces the burden of writing and maintaining an FC HBA driver substantially, for example the recent conversion of the qla2xxx driver to use these facilities removes over 3000 lines of code (about 1/5 of the overall driver size) while adding new features and a userspace management interface. The FC transport class thus allows hardware vendors to concentrate on interfacing with the hardware and support their unique features, freeing them from the burden of reimplementing basic infrastructure in every driver and designing ad hoc management interfaces."


From: Christoph Hellwig [email blocked]
To:  linux-scsi, [email blocked]
Subject: Fibre Channel state of the union
Date: 	Mon, 18 Apr 2005 17:40:07 +0200


With the upcoming merge of the current SCSI development branch (probably
after the 2.6.12 release), Linux will have more advanced Fibre Channel
support than any currently available operating system.

The new Fibre Channel (FC) transport class offers two major advantages
over traditional standalone drivers:

 (1) It provides an easy to use library to deal with most aspects of FC
     remote port management and its integration into SAM and the Linux
     SCSI layer.

      - a remote port object that sits between the host and the target
	in the Linux SCSI layer object model
      - support for remote port based LUN scanning, including live
	rescanning on fabric topology changes and stable remove port to
	SCSI target id mappings
      - a queue freeze facility to handle temporary cable unplugs without
	generating I/O errors
     
 (2) a common userspace interface to transport specific and management
     information in sysfs.  The information provided is based on a sane
     subset of the SNIA HBA API specification.
 
This reduces the burden of writing and maintaining an FC HBA driver
substantially, for example the recent conversion of the qla2xxx driver to
use these facilities removes over 3000 lines of code (about 1/5 of the overall
driver size) while adding new features and a userspace management interface.
The FC transport class thus allows hardware vendors to concentrate on
interfacing with the hardware and support their unique features, freeing
them from the burden of reimplementing basic infrastructure in every driver
and designing ad hoc management interfaces.

We now have two drivers supporting this infrastructure fully:

  - qla2xxx for Qlogic 2100/2200/23xx HBAs
  - lpfc for all Emulex SLI2 HBAs

Two drivers for modern hardware don't fully use this infrastructure yet,
but we are working with the maintainers and expect the drivers to be
updated to take advantage of the new FC transport class soon.

  - zfcp for the Fibre Channel attachment on the IBM zSeries mainframes
  - mptfusion for the LSI "Fusion" 909/919(X)/929(X) HBAs

Still missing is an Open Source tool application utilizing our APIs.
The currently available proprietary applications are inflexible, available
only for very few of the architectures supported by Linux, and tied to
specific HBAs. The common API and hardware independence provide a great
opportunity for the Hardware vendors to collaborate on a single Open Source
management application and leverage the cost savings of an open development
method.

We are also looking forward to a bridge from the Linux
management interfaces to the "industry-standard" SNIA HBA API,
allowing various management applications to work out of the box with our
stack.

To make these new features available to Enterprise users and reduce the
fragmentation in driver and management space we will be working with the
major players in the Storage Industry and the Linux Distribution vendors
to support and certify this stack in the near future.

Special thanks go to Emulex and James Smart in particular for implementing
the majority of the new Fibre Channel transport class.  We also want to
thank Andrew Vasquez at Qlogic for providing valuable input on the
transport class design and for updating the qla2xx driver to use the new
facilities quickly.

The Linux SCSI community plans to provide a similar framework for
Serial Attached SCSI (SAS) transports in the near future.


Thanks to Arjan van de Ven, Peter Jones, Randy Dunlap, Rik van Riel,
Nikita Danilov and James Bottomley for reviewing this document and
suggesting various improvements.

Related Links:

Yeah, but will Linux support still be terrible compared to Sun?

Anonymous (not verified)
on
April 19, 2005 - 11:00am

I'm a Linux person through and through, and until recently I used to wonder why those outmoded Sun sysadmins clung to their OS. Since being involved in a SAN project, I've come to see at least two good reasons - Volume management and SCSI support.

On a sun box, you just present a bunch more LUNs to the system, and rescan the bus. I've tried the script at http://www.garloff.de/kurt/linux/rescan-scsi-bus.sh but even after running that, I still can't see my new LUNs - I have to reboot. Will this new solution rectify that ?

I don't know. Slowaris has b

Anonymous (not verified)
on
April 19, 2005 - 9:57pm

I don't know. Slowaris has been way behind on things like hardware RAID and other niceties of the PC-server era. I agree w/ you about the device add / remove constraints, but I RAID controllers will allow you to escape that for several different configurations. Also, on SATA based arrays w/ 3ware, you can do a heck of a lot on the fly. Pretty much all of it.

It's not as mature as the old school unix scsi support, but I don't really care for the baggage that comes w/ old school unix either.

There's no need for a manual

Anonymous (not verified)
on
April 20, 2005 - 10:06am

There's no need for a manual rescan anymore _at all_.
Re-read the annoucement ;-)

[OT] LUNs on FC

Anonymous (not verified)
on
April 21, 2005 - 4:22am

Maybe this has now changed, but Linux used to stop scanning LUNs as soon as there was no device on the last scanned LUN (meaning you had to start at 0 and assign LUNs to devices in order 0, 1, 2, ...). rescan-scsi-bus.sh -l always worked for me to "fix" situations where this wasn't the case.

That's because your raid does

Anonymous (not verified)
on
April 21, 2005 - 10:06am

That's because your raid doesn't advertise SCSI3 support, and for <= SCSI2 devices Linux doesn't expect sparse luns by default.

Please submit a whitelist entry for your device to linux-scsi@vger.kernel.org.

It's a little trickier with L

on
April 29, 2005 - 2:41am

It's a little trickier with Linux, but using the -l switch should work without a reboot if you've got the disks presented with non-sequential luns. Also I think the script only does 8 luns by default, if your SAN goes higher you'll have to edit the script.

But if a reboot fixes it without the script, why not just reload the module for the FC cards? You'll probably still have to stop restart some services, but it'll probably be quicker than a full reboot.

Great news!

Anonymous (not verified)
on
April 19, 2005 - 2:13pm

I am working on SAN and this is great news for the industry. Good work Chris!

I keep wondering, how would F

Anonymous (not verified)
on
April 19, 2005 - 4:40pm

I keep wondering, how would FC compare to iSCSI over jumbo-frames 10Gigabit Ethernet ?

What's with Infiniband 12x (3

Anonymous (not verified)
on
April 20, 2005 - 1:02am

What's with Infiniband 12x (30 Gbit/sec) and SRP (iSAR), should be faster that 10Gigabit Ethernet?

Basically Ethernet from 1Gb a

Anonymous (not verified)
on
April 20, 2005 - 3:58am

Basically Ethernet from 1Gb and up use essentially the same standards as fiberchannel. Just have a look at the INCITS T11 website http://www.t11.org which actually draw up the standards for storage transports like fiberchannel. There are lots of information being exchanged back and forth with the IEEE commitee drawing up the standards for Ethernet.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.