No LUNs visible through QLogic driver after a server reboot

  • 3599648
  • 15-Jan-2007
  • 27-Apr-2012

Environment

Novell Open Enterprise Server (Linux based)
Novell Open Enterprise Server (Linux based) Support Pack 2
QLogic drivers qla2xxx
QLogic SANsurfer used to configure persistent binding on the fiber channel adapter

Situation

Symptoms

After the server is restarted SAN disks are not accessible trough the QLogic fiber channel adapter and no LUNs are visible anymore.

Changes

The command "rug pin ‑‑entire‑channel oes" was issued in order to update the server to the lastest available patches.

Resolution

  1. Insert into /etc/modprobe.conf.local the following line:
    options qla2xxx ConfigRequired=0
  2. Unload all the qlx2xxx series modules and then reload them with
    modprobe qla2xxx" command
    Note that if some modules are locked a reload of the modules is not possible and the system will need to be rebooted to activate the change.
  3. Run the QLogic SANsurfer and make the proper configuration changes;
  4. It is now possible to remove the line
    option qla2xxx ConfigRequired=0
    from the /etc/modprobe.conf.local file or to change it to
    options qla2xxx ConfigRequired=1

Additional Information

QLogic write its configuration inside the binary module qla2xxx_conf.ko to avoid the need to read it from disk while loading (insmod/modprobe).

A system update performed using the command "rug pin ‑‑entire‑channel oes" (which forces a reload of all the patches), or any Kernel update performed using rug, yast or rpm, will cause the kernel module "qla2xxx_conf.ko" to be rewritten and this will result in a reset of the fiber channel configuration.

When the QLogic SANsurfer is used to configure persistent binding, the default is to have "options qla2xxx ConfigRequired=1", or the line missing at all, in the modprobe.conf.local file.

Under Linux, when running with failover driver, the parameter ConfigRequired=1 means that a device must have the matching config entry for the driver to configure it.

In order to have the QLogic driver to show to the system all the LUNs, even if not configured, the ConfigRequired parameter must be set to 0.

You may also want to check the modprobe.conf file to double check that, if the line "options qla2xxx [...]" is present, the ConfigRequired parameter is also set to 0.