Dual-mode FC configuration

Revision as of 06:03, 5 September 2026 by Qadmin (talk | contribs) (Rewrite to house style and fix the values (QSTOR-12529). The page told readers to write qlini_mode=enabled for dual mode - that is initiator-only - and qlini_mode=disabled for target-only, which never creates the initiator role and breaks Enable FC Initiator Mode. Replaces the hand-written modprobe edits with qs-util enabledualmode/disabledualmode, which write dual/exclusive to the file the product expects, and explains that enabling FC target mode means dual because the initiator role is wha...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Enabling FC target mode on QuantaStor means dual mode -- initiator and target at the same time, rather than target alone. Both roles are needed: the target role presents LUNs to FC hosts, and the initiator role is what lets the appliance enumerate the FC initiators visible on the fabric. Without it the appliance is invisible to its own fabric, so target mode and dual mode go together.

The mode is set by the qlini_mode option on the QLogic driver, applies to the whole appliance rather than to an individual port, and takes effect at boot. Use the qs-util verbs below rather than editing the driver configuration by hand -- they write the correct values to the file the product expects.

Mode qlini_mode What it gives you
Dual (use this for FC target) dual Initiator and target together. FC target ports serve LUNs, and FC remote ports on the fabric are discoverable.
Target only exclusive Target only. LUNs are served, but no FC initiators are discoverable -- see the warning below.

Checking the current mode

Navigation: Storage Management → Storage Systems → select a Storage System → FC Ports (tab)

The Mode column reports each port's active mode. From the appliance, read it per port from sysfs -- substitute your own hostN, which you can list with ls /sys/class/fc_host/:

cat /sys/class/fc_host/host7/device/scsi_host/host7/active_mode

Dual mode prints both roles:

Initiator, Target

To see the value the driver was actually loaded with:

cat /sys/module/qla2xxx_scst/parameters/qlini_mode

Setting dual initiator + target mode

sudo qs-util enabledualmode
sudo reboot

This writes qlini_mode=dual to /etc/modprobe.d/qla2xxx.conf for both the qla2xxx and qla2xxx_scst module names. A reboot is required -- the option is read when the driver loads.

After the reboot, confirm both roles are present with the active_mode check above.

Setting target-only mode

sudo qs-util disabledualmode
sudo reboot

This writes qlini_mode=exclusive, and the ports come up in target mode without transitioning from initiator mode at boot.

Target-only mode makes FC initiators invisible to the appliance. With exclusive set, qs fc-remote-port-list returns nothing and the Select Initiator... picker in Add Host finds no WWPNs, because the appliance has no initiator role with which to see the fabric. You can still create a host by typing the initiator's WWPN in by hand. Use target-only mode only where that trade-off is intended.

Do not edit the driver configuration by hand

Older guidance had administrators write the modprobe file directly. Two values in common circulation are wrong:

Value What it actually does
qlini_mode=enabled Initiator only -- not dual mode.
qlini_mode=disabled The initiator role is never created. A port taken out of target mode then has no role at all, which breaks Enable FC Initiator Mode.

Hand-written instructions also commonly use the filename /etc/modprobe.d/qla2xxx_scst.conf, while qs-util writes /etc/modprobe.d/qla2xxx.conf. Following both leaves two files setting the same option to different values, and which one wins is not something to rely on. If you have an old qla2xxx_scst.conf on an appliance, remove it and set the mode with qs-util.

Related pages


Verified against QuantaStor 6.9.0.