kdump fails if LUN is mounted on HBA Mason (using qlge/qla2xxx/QLogic)

Solution In Progress - Updated -

Environment

  • Red Hat Enterprise Linux(RHEL) 7.x
  • HBA Mason using qlge/qla2xxx/QLogic

Issue

  • Some users might have issues to store a kernel crash dump if the root file system or the destination path is mounted on LUNs of the PCIe LP 10-Gb FCoE 2-port Adapter (FC 5270; CCIN 2B3B).

  • The qla2xxx device may incorrectly detect a LOOP DOWN scenario (followed by the detachment/offlining operation of its LUNs) if the qlge driver does not perform the necessary clean up of the NIC function, which occurs when the network interface is brought up.

  • Until a solution is available, the workaround procedure is to force the network interface to be brought up during the kdump. This can be accomplished in one of two ways, depending whether the root file system is mounted on a LUN of the qla2xxx driver.

Resolution

Case 1) The root file system is mounted on a LUN of the qla2xxx driver
  • In this case, the network scripts / interface configuration files might not have a chance to be loaded due to the detachment of the LUNs, thus the network interface cannot be brought up by that means.

  • It's possible to use boot options in the kdump environment in order to force the network interface to be brought up, specifically the "ip=" option, which
    is documented in the RHEL 7 Installation Guide (chapter 20 'Boot Options',section 'Network Boot Options').

  • This should lead to a LOOP UP scenario detected slightly after the LOOP DOWN, and bring back up all of the LUNs of the qla2xxx driver.

  • For example, for static IP address on qlge's network interface 'enP2p96s0f0'), this boot option would be used:

ip=10.33.33.209:::255.255.0.0::enP2p96s0f0:off
  1. Append the "ip=" parameter to the "KDUMP_COMMANDLINE_APPEND"
    variable in the "/etc/sysconfig/kdump" file.
  • You can verify which network interface is owned by the qlge driver with the ethtool command:
# ethtool -i enP2p96s0f0 | grep driver
driver: qlge
  • You can verify the network interface configuration with the ifconfig command or other means:
# ifconfig enP2p96s0f0 | grep 'inet '
inet 10.33.33.209  netmask 255.255.0.0  broadcast 10.33.255.255
  1. Restart the kdump service:

  2. Verify that the "ip=" parameter is in effect with this command:

<...> kdumpctl[...]: Modified cmdline:<...> ip=10.33.33.209:::255.255.0.0::enP2p96s0f0:off
Case 2) The root filesystem is not mounted on a LUN of the qla2xxx driver (for example, it is mounted on local disk), but the kdump destination path is.
  • In this case, there should be no problem to load the network scripts interface configuration files. It's only necessary to make sure there is a network script interface configuration file in place that can bring up the qlge network interface.
Alternative Work Around:
  • If the previous workaround was not effective in some scenario, another option is to disable the qlge kernel module, which prevents the problem.
  1. Append the "modprobe.blacklist=qlge" parameter to the GRUB_CMDLINE_LINUX variable in the /etc/default/grub file.

  2. Update the GRUB2 configuration file.

  3. Reboot the system.

  4. Verify the parameter is in effect in the kernel command line.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.