Product SiteDocumentation Site

Chapter 20.  Online Storage Management

20.1. Fibre Channel
20.1.1. Fibre Channel API
20.1.2. Native Fibre Channel Drivers and Capabilities
20.2. iSCSI
20.2.1. iSCSI API
20.3. Persistent Naming
20.3.1. WWID
20.3.2. UUID and Other Persistent Identifiers
20.4. Removing a Storage Device
20.5. Removing a Path to a Storage Device
20.6. Adding a Storage Device or Path
20.7. Configuring a Fibre-Channel Over Ethernet Interface
20.8. Scanning Storage Interconnects
20.9. iSCSI Discovery Configuration
20.10. Configuring iSCSI Offload and Interface Binding
20.10.1. Viewing Available iface Configurations
20.10.2. Configuring an iface for Software iSCSI
20.10.3. Configuring an iface for iSCSI Offload
20.10.4. Binding/Unbinding an iface to a Portal
20.11. Scanning iSCSI Interconnects
20.12. Logging In to an iSCSI Target
20.13. Resizing an Online Logical Unit
20.13.1. Resizing Fibre Channel Logical Units
20.13.2. Resizing an iSCSI Logical Unit
20.13.3. Updating the Size of Your Multipath Device
20.14. Adding/Removing a Logical Unit Through
20.15. Modifying Link Loss Behavior
20.15.1. Fibre Channel
20.15.2. iSCSI Settings With dm-multipath
20.15.3. iSCSI Root
20.16. Controlling the SCSI Command Timer and Device Status
20.17. Troubleshooting
It is often desirable to add, remove or re-size storage devices while the operating system is running, and without rebooting. This chapter outlines the procedures that may be used to reconfigure storage devices on Fedora 14 host systems while the system is running. It covers iSCSI and Fibre Channel storage interconnects; other interconnect types may be added it the future.
This chapter focuses on adding, removing, modifying, and monitoring storage devices. It does not discuss the Fibre Channel or iSCSI protocols in detail. For more information about these protocols, refer to other documentation.
This chapter makes reference to various sysfs objects. Fedora advises that the sysfs object names and directory structure are subject to change in major Fedora releases. This is because the upstream Linux kernel does not provide a stable internal API. For guidelines on how to reference sysfs objects in a transportable way, refer to the document Documentation/sysfs-rules.txt in the kernel source tree for guidelines.


Online storage reconfiguration must be done carefully. System failures or interruptions during the process can lead to unexpected results. You should reduce system load to the maximum extent possible during the change operations. This will reduce the chance of I/O errors, out-of-memory errors, or similar errors occurring in the midst of a configuration change. The following sections provide more specific guidelines regarding this.
In addition, you should back up all data before reconfiguring online storage. 

20.1. Fibre Channel

This section discusses the Fibre Channel API, native Fedora 14 Fibre Channel drivers, and the Fibre Channel capabilities of these drivers.

20.1.1. Fibre Channel API

Below 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.


If your system is using multipath software, 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 — number of seconds to wait before marking a link as "bad". Once a link is marked bad, I/O running on its corresponding path (along with any new I/O on that path) will be failed.
    The default dev_loss_tmo value varies, depending on which driver/device is used. If a Qlogic adapter is used, the default is 35 seconds, while if an Emulex adapter is used, it is 30 seconds. The dev_loss_tmo value can be changed via the scsi_transport_fc module parameter dev_loss_tmo, although the driver can override this timeout value.
    The maximum dev_loss_tmo value is 600 seconds. If dev_loss_tmo is set to zero or any value greater than 600, the driver's internal timeouts will be used instead.
  • fast_io_fail_tmo — length of time to wait before failing I/O executed when a link problem is detected. I/O that reaches the driver will fail. If I/O is in a blocked queue, it will not be failed until dev_loss_tmo expires and the queue is unblocked.
Host: /sys/class/fc_host/hostH/
  • port_id
  • issue_lip — instructs the driver to rediscover remote ports.

20.1.2. Native Fibre Channel Drivers and Capabilities

Fedora 14 ships with the following native fibre channel drivers:
  • lpfc
  • qla2xxx
  • zfcp
  • mptfc
Table 20.1, “Fibre-Channel API Capabilities” describes the different fibre-channel API capabilities of each native Fedora 14 driver. X denotes support for the capability.
Table 20.1. Fibre-Channel API Capabilities
lpfc qla2xxx zfcp mptfc
Transport port_id X X X X
Transport node_name X X X X
Transport port_name X X X X
Remote Port dev_loss_tmo X X X X
Remote Port fast_io_fail_tmo X X [a] X [b]
Host port_id X X X X
Host issue_lip X X

[a] Supported as of Fedora 10

[b] Supported as of Fedora 13.0