Setting up the zfcp device driver
Red Hat® Enterprise Linux® loads the zfcp device driver for you when an FCP device becomes available. Use anaconda or dracut to configure the zfcp device driver. You might also need to install the zfcp HBA API library.
You have the following options for configuring FCP LUNs to attach SCSI devices:
- During installation, use the anaconda GUI, the dracut boot
parameter rd.zfcp=, or the kickstart parameter
zfcp. Important: Linux on IBM® Z kernel parameters in the boot configuration have a size limit of 895 bytes. Automatically generated rd.zfcp parameters might cause this limit to be exceeded. For details, see Preventing excessive kernel parameters during installation.
- On an installed system, use the dracut boot parameter rd.zfcp= only for SCSI disks that are required for the root file system. Use the configuration file /etc/zfcp.conf for all other SCSI devices, such as data volumes or tape libraries.
For details about configuration, see the Red Hat documentation website
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux
- allow_lun_scan=<value>
- disables the automatic LUN scan for FCP devices that run in NPIV mode if set to 0, n, or N. To
enable the LUN scanning set the parameter to 1, y, or Y. When the LUN scan is disabled, all LUNs
must be configured through the unit_add zfcp attribute in sysfs. LUN scan is enabled by
default.Warning: Only disable automatic LUN scan as a workaround according to Preventing excessive kernel parameters during installation or if advised to do so by an IBM Support engineer. Running without the automated LUN scan can adversely affect resilience against path failures.
- datarouter=
- enables (if set to 1, y, or Y) or disables (if
set to 0, n, or N) support for the hardware data routing
feature. The default is 1. Note: The hardware data routing feature becomes active only for FCP devices that are based on adapter hardware with hardware data routing support.
- dbflevel=<level>
- sets the initial log level of the debug feature. The value is an integer in the range 0 - 6, where greater numbers generate more detailed information. The default is 3.
- dbfsize=<pages>
- specifies the number of pages to be used for the debug feature.
The debug feature is available for each FCP device and the following areas:
- hba
- FCP device
- san
- Storage Area Network
- rec
- Error Recovery Process
- scsi
- SCSI
- pay
- Payloads for entries in the hba, san, rec, or scsi areas. The default is 8 pages.
The value given is used for all areas. The default is 4, that is, four pages are used for each area and FCP device. In the following example thedbfsize
is increased to 6 pages:
This results in six pages being used for each area and FCP device. The payload is doubled to use 12 pages.dbfsize=6
- dif=
- turns on end-to-end data consistency checking in DIF-only mode if set to 1, y, or Y (and off if
set to 0, n, or N). The default is 0.Interface change: As of Red Hat Enterprise Linux 8.2, the dif= module parameter enables DIF only and no longer includes DIX. Use the dix= module parameter to enable end-to-end data consistency checking in extended mode, with both DIF and DIX.
- dix=
- turns on end-to-end data consistency checking in extended mode if set to 1, y, or Y (and off if
set to 0, n, or N). The default is 0.
Specifying dix=1 enables both DIF and DIX. Enabling dix= overrides specifications for dif=.
Note: End-to-end data consistency checking in extended mode is experimental and can cause errors if enabled. - port_scan_ratelimit=<limit>
- sets the minimum delay, in milliseconds, between automatic port scans of your Linux instance. The default value is 60000 milliseconds. To turn off the rate limit, specify 0. Use this parameter to avoid frequent scans, while you still ensure that a scan is conducted eventually.
- port_scan_backoff=<delay>
- sets additional random delay, in milliseconds, in which the port scans of your Linux instance are spread. The default value is 500 milliseconds. To turn off the random delay, specify 0. In an installation with multiple Linux instances, use this attribute for every Linux instance to spread scans to avoid potential multiple simultaneous scans.
- no_auto_port_rescan=
- turns the automatic port rescan feature off (if set to 1, y, or Y) or on (if set to 0, n, or N). The default is 0. Automatic rescan is always performed when setting an adapter online and when user-triggered writes to the sysfs attribute port_rescan occur.
- queue_depth=<depth>
- specifies the number of commands that can be issued simultaneously to a SCSI device. The default is 32. The value you set here is used as the default queue depth for new SCSI devices. You can set the queue depth for each SCSI device using the queue_depth sysfs attribute.
- device=<device_bus_id>, <wwpn>, <fcp_lun>
- Attention: The device= module parameter is reserved for internal use. Do not use.
- <device_bus_id>
- specifies the FCP device through which the SCSI device is attached.
- <wwpn>
- specifies the target port through which the SCSI device is attached.
- <fcp_lun>
- specifies the LUN of the SCSI device.
- ber_stop=
- sets the mode of handling FCP devices for which the FCP channel reports a bit-error count in
excess of its threshold.
If set to 1, y, or Y, the zfcp device driver shuts down such FCP devices; this is the default. If set to 0, n, or N, such FCP devices keep running and might cause I/O command timeouts with an associated performance degradation.
Kernel message
All paths over this FCP device are disused because of excessive bit errors
indicates that the zfcp device driver shut down a device because of bit errors. To resolve the problem, ensure that fibre optics on the local fibre link are clean and functional, and that all cables are properly plugged. Then recover the FCP device by writing0
to its failed sysfs attribute. If recovery through sysfs is not possible, set the CHPID of the device offline and back online on the Support Element.
Example
Use the following module parameter to enable end-to-end data consistency checking:modprobe zfcp dif=1