Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

25.4. Fibre Channel

This section discusses the Fibre Channel API, native Red Hat Enterprise Linux 7 Fibre Channel drivers, and the Fibre Channel capabilities of these drivers.

25.4.1. Fibre Channel API

Following is a list of /sys/class/ directories that contain files used to provide the userspace API. In each item, host numbers are designated by H, bus numbers are B, targets are T, logical unit numbers (LUNs) are L, and remote port numbers are R.

Important

If your system is using multipath software, Red Hat recommends that you consult your hardware vendor before changing any of the values described in this section.
Transport: /sys/class/fc_transport/targetH:B:T/
  • port_id — 24-bit port ID/address
  • node_name — 64-bit node name
  • port_name — 64-bit port name
Remote Port: /sys/class/fc_remote_ports/rport-H:B-R/
  • port_id
  • node_name
  • port_name
  • dev_loss_tmo: controls when the scsi device gets removed from the system. After dev_loss_tmo triggers, the scsi device is removed.
    In multipath.conf, you can set dev_loss_tmo to infinity, which sets its value to 2,147,483,647 seconds, or 68 years, and is the maximum dev_loss_tmo value.
    In Red Hat Enterprise Linux 7, if you do not set the fast_io_fail_tmo option, dev_loss_tmo is capped to 600 seconds. By default, fast_io_fail_tmo is set to 5 seconds in Red Hat Enterprise Linux 7 if the multipathd service is running; otherwise, it is set to off.
  • fast_io_fail_tmo: specifies the number of seconds to wait before it marks a link as "bad". Once a link is marked bad, existing running I/O or any new I/O on its corresponding path fails.
    If I/O is in a blocked queue, it will not be failed until dev_loss_tmo expires and the queue is unblocked.
    If fast_io_fail_tmo is set to any value except off, dev_loss_tmo is uncapped. If fast_io_fail_tmo is set to off, no I/O fails until the device is removed from the system. If fast_io_fail_tmo is set to a number, I/O fails immediately when the fast_io_fail_tmo timeout triggers.
Host: /sys/class/fc_host/hostH/
  • port_id
  • issue_lip: instructs the driver to rediscover remote ports.

25.4.2. Native Fibre Channel Drivers and Capabilities

Red Hat Enterprise Linux 7 ships with the following native Fibre Channel drivers:
  • lpfc
  • qla2xxx
  • zfcp
  • bfa

Important

The qla2xxx driver runs in initiator mode by default. To use qla2xxx with Linux-IO, enable Fibre Channel target mode with the corresponding qlini_mode module parameter.
First, make sure that the firmware package for your qla device, such as ql2200-firmware or similar, is installed.
To enable target mode, add the following parameter to the /usr/lib/modprobe.d/qla2xxx.conf qla2xxx module configuration file:
options qla2xxx qlini_mode=disabled
Then, use the dracut -f command to rebuild the initial ramdisk (initrd), and reboot the system for the changes to take effect.
Table 25.1, “Fibre Channel API Capabilities” describes the different Fibre Channel API capabilities of each native Red Hat Enterprise Linux 7 driver. X denotes support for the capability.

Table 25.1. Fibre Channel API Capabilities

lpfcqla2xxxzfcpbfa
Transport port_idXXXX
Transport node_nameXXXX
Transport port_nameXXXX
Remote Port dev_loss_tmoXXXX
Remote Port fast_io_fail_tmoXX [a]X [b] X
Host port_idXXXX
Host issue_lipXX X
[a] Supported as of Red Hat Enterprise Linux 5.4
[b] Supported as of Red Hat Enterprise Linux 6.0