Configuring multipath with Fibre Channel (FC) storage is essential for ensuring high availability, redundancy, and performance in your large-scale on-premises data center environments. When utilizing Linux as an initiator for fiber channel access to the PowerVault ME5 series Storage Array, this guide outlines best practices for configuring and optimizing multipath with Fibre Channel storage on widely used Ubuntu-based systems.
Brief About Fiber Channel
Fibre Channel (FC) is a high-speed network technology primarily used to connect computer servers to storage area networks (SANs). It’s designed for fast, reliable, and low-latency data transfer, typically in data centers and enterprise environments.
Components of a Fibre Channel Environment
- HBAs (Host Bus Adapters) – Fibre Channel “NICs” in servers.
- FC Switches – Like Ethernet switches but dedicated to FC traffic (e.g., Brocade, Cisco MDS).
- SAN Storage Arrays – High-performance storage that supports FC (e.g., Dell ME5, NetApp, HPE 3PAR).

What is WWPN?
WWPN (World Wide Port Name) is a unique identifier assigned to each Fibre Channel (FC) port on a device. It is a 64-bit hexadecimal number assigned by the manufacturer and is similar to a MAC address in Ethernet networking. Every Fibre Channel device, including your Host Bus Adapter (HBA), FC switch, and SAN, has a WWPN for each FC port.
How to Find WWPNs?
In the Linux systems, you can enter the following command to find the FC HBA WWPNs.
cat /sys/class/fc_host/host*/port_name

In your FC SAN, you can find it inside the Controller port details.

Configure Fibre Channel Zoning
Why Do We Need Zoning?
Zoning is a security and performance feature in Fibre Channel networks. It defines which devices (servers, storage, etc.) can communicate with each other. Most of the FC switches support zoning features out of the box. There are some key benefits you can gain when configuring zones on your FC switch.
- Security: Prevents unauthorized access between devices.
- Isolation: Reduces the risk of one device interfering with others.
- Performance: Reduces FC switch workload by limiting unnecessary traffic.
- Multipathing Support: Ensures correct paths for failover and load balancing.
The recommended zoning approach is to create a dedicated zone for each Fibre Channel (FC) HBA port on your server. Each SAN controller FC port should also be zoned separately. Each zone should contain exactly one HBA port WWPN and one SAN controller port WWPN.
Example Zoning Configuration:
Zone Name | Server HBA WWPN | SAN Controller FC WWPN |
ZONE_Server01_A0 | xx:xx:xx:xx:xx:xx:xx:01 | yy:yy:yy:yy:yy:yy:yy:01 |
ZONE_Server01_B0 | xx:xx:xx:xx:xx:xx:xx:02 | yy:yy:yy:yy:yy:yy:yy:02 |

Each zone allows only one-to-one communication, ensuring optimized and secure SAN access.
Create Aliases for WWPNs
Log in to your Fibre Channel (FC) switch via the web UI and navigate to Zoning → Zone Aliases. In this section, you can create zone aliases for each FC interface by adding their respective WWPNs. In this example, I will add the two FC ports from the server’s HBA and the FC ports from the SAN controllers.

Create Zones
Now, let’s create zones. Each zone should include one server HBA FC port and one SAN controller FC port.

Likewise, create zones for other interface/s.

Add Zones to a Configuration
In FC switches, zones define which initiator (server HBA) can talk to which target (storage controller port). However, zones alone do nothing until they are added to a configuration and activated.
Let’s activate the created zones by creating a zone configuration.

Configure SAN Storage
Once you have created a storage pool by initializing the required RAID configuration on your Dell FC SAN, you can begin creating volumes from that storage pool. For this demonstration, I will create a 200GB storage pool.
Navigate to Provisioning → Volumes → Create Volume
Select your storage pool, assign a suitable name to the volume, specify the desired volume size, and then click ‘Add Volume’.

In the next step, you need to choose the option to create a new host (if you don’t have a host or a host group).

Now, you need to add your Dell servers using their WWPNs. You can change the initiator ID nickname as required.

Once all the above steps are completed, the created volume will be assigned to its corresponding host.


The next step is to configure Multipath I/O (MPIO) on your servers. This ensures failover and load balancing between the two Fibre Channel paths.
Verify SAN Connectivity in Linux
First, verify that your Fibre Channel host adapters are detected on your Linux server:
ls /sys/class/fc_host/

Retrieve details of the HBA ports on the server:
for host in /sys/class/fc_host/host*; do
echo "HBA: $(basename $host)";
echo "WWPN: $(cat $host/port_name)";
echo "WWNN: $(cat $host/node_name)";
echo "Port State: $(cat $host/port_state)";
done

Scan for new FC LUNs:
for host in /sys/class/scsi_host/host*; do
echo "- - -" > $host/scan
done
Now, check the block devices by running the lsblk
command. You will see that the newly created volume appears as two separate disks sdb
and sdc
due to the multiple paths.

What is Multipathing?
Multipathing is the technique of using multiple physical paths between the host (your Ubuntu server) and storage devices (e.g., SAN or FC storage arrays). It provides failover and load balancing, ensuring continuous data access even if one path fails.
Let’s Install multipath tools if it is not already installed:
sudo apt install multipath-tools
#Makesure that multipathd service is enabled and running.
sudo systemctl enable multipathd
sudo systemctl start multipathd
sudo systemctl status multipathd
After installing the multipath tools, confirm that all paths are active.
multipath -ll

If you are unable to see any output of the multipath -ll
command, just force Multipath Scan (if needed)
sudo multipath -F # flush old maps
sudo multipath -v4 # force re-detection with high verbosity
Tuning Multipath Configuration for Best Performance
The /etc/multipath.conf
file is the main configuration file for the Device Mapper Multipath service on Linux (used for multipathing SAN storage). It controls how the system detects, manages, and balances multiple paths to the same block device.
Configure Multipath Load Balancing Policies
Multipath I/O (MPIO) supports different load-balancing policies to optimize performance and redundancy. The best policy depends on your storage system and use case.
Types of Multipath Load Balancing Policies
Policy | Description |
round-robin | Distributes I/O evenly across all available paths (✅ Best for performance) |
failover | Uses only one active path; others remain on standby (✅ Best for HA) |
load balancing | Uses hardware controller’s load-balancing algorithm (e.g., ALUA) |
priority-based | Selects paths based on priorities set by the SAN |
Dell ME5 Series storage arrays support ALUA (Asymmetric Logical Unit Access), where one controller path is active-optimized and the other is on standby. To maximize performance and ensure optimal use of both Fibre Channel ports, a round-robin path selection policy is ideal for best performance.
Edit /etc/multipath.conf
and set:
#Sets general behavior for all devices
defaults {
user_friendly_names yes
find_multipaths yes
polling_interval 5
no_path_retry fail
fast_io_fail_tmo 5
dev_loss_tmo 10
}
#Used to exclude specific devices from multipathing.
blacklist {
devnode "^sda" # Don't multipath the local system disk
}
#Used to define how to handle specific storage hardware (by vendor/product).
devices {
device {
vendor "DELL"
product "ME5"
path_grouping_policy group_by_prio
path_selector "round-robin 0"
failback immediate
rr_weight uniform
no_path_retry queue
hardware_handler "1 alua"
prio alua
}
}
multipaths {
multipath {
wwid "3600c098000afceb90000026701000000"
alias ME5XXX_VOL01
}
}
Note: Adjust vendor and product values based on your actual storage.
Restart multipath service:
sudo systemctl restart multipathd
Then enter the multipath -ll
command to see the active paths with configured names and policies.

Conclusion
Whether you’re managing a small SAN setup or a large-scale data center, these best practices will help you get the most out of your Linux and Fibre Channel-based storage environment.
Multipath with Fibre Channel storage is essential for achieving high availability, improved performance, and storage redundancy in enterprise environments. Following the best practices outlined here ensures that your Linux server environment can handle path failures gracefully, balance I/O effectively, and avoid data access issues.