Product SiteDocumentation Site

Chapter 21.  Online Storage Management

21.1. Fibre Channel
21.1.1. Fibre Channel API
21.1.2. Native Fibre Channel Drivers and Capabilities
21.2. iSCSI
21.2.1. iSCSI API
21.3. Persistent Naming
21.3.1. WWID
21.3.2. UUID and Other Persistent Identifiers
21.4. Removing a Storage Device
21.5. Removing a Path to a Storage Device
21.6. Adding a Storage Device or Path
21.7. Configuring a Fibre-Channel Over Ethernet Interface
21.8. Configuring an FCoE Interface to Automatically Mount at Boot
21.9. Scanning Storage Interconnects
21.10. iSCSI Discovery Configuration
21.11. Configuring iSCSI Offload and Interface Binding
21.11.1. Viewing Available iface Configurations
21.11.2. Configuring an iface for Software iSCSI
21.11.3. Configuring an iface for iSCSI Offload
21.11.4. Binding/Unbinding an iface to a Portal
21.12. Scanning iSCSI Interconnects
21.13. Logging In to an iSCSI Target
21.14. Resizing an Online Logical Unit
21.14.1. Resizing Fibre Channel Logical Units
21.14.2. Resizing an iSCSI Logical Unit
21.14.3. Updating the Size of Your Multipath Device
21.15. Adding/Removing a Logical Unit Through rescan-scsi-bus.sh
21.16. Modifying Link Loss Behavior
21.16.1. Fibre Channel
21.16.2. iSCSI Settings With dm-multipath
21.16.3. iSCSI Root
21.17. Controlling the SCSI Command Timer and Device Status
21.18. 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 Red Hat Enterprise Linux 6 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. Red Hat advises that the sysfs object names and directory structure are subject to change in major Red Hat Enterprise Linux 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 /usr/share/doc/kernel-doc-version/Documentation/sysfs-rules.txt in the kernel source tree for guidelines.

Warning

Online storage reconfiguration must be done carefully. System failures or interruptions during the process can lead to unexpected results. Red Hat advises that you 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, Red Hat recommends that you back up all data before reconfiguring online storage. 

21.1. Fibre Channel

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

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

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

21.1.2. Native Fibre Channel Drivers and Capabilities

Red Hat Enterprise Linux 6 ships with the following native fibre channel drivers:
  • lpfc
  • qla2xxx
  • zfcp
  • mptfc
Table 21.1, “Fibre-Channel API Capabilities” describes the different fibre-channel API capabilities of each native Red Hat Enterprise Linux 6 driver. X denotes support for the capability.
Table 21.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 Red Hat Enterprise Linux 5.4

[b] Supported as of Red Hat Enterprise Linux 6.0