High Availability

Linux

Audience
Public
Product
FlashBlade
FlashArray
Technology Integrations
Linux
Source Type
Documentation

iSCSI Path Redundancy Model

Failover Behavior

iSCSI/dm-multipath Failover Sequence

Failover Timing

iSCSI Failover Parameters

Parameter Default Recommended Description
replacement_timeout 120s 20s Time before failing over to alternate path
fast_io_fail_tmo 5s 5s Time before marking path as failed
no_path_retry fail queue Behavior when all paths fail
polling_interval 5s 5s Path checking frequency

Configure timeouts in /etc/iscsi/iscsid.conf:

# Aggressive failover (faster, may cause false positives in busy networks)
node.session.timeo.replacement_timeout = 20

# Conservative failover (slower, more tolerant of network glitches)
node.session.timeo.replacement_timeout = 60

Path States

dm-multipath Path Groups

Failback Behavior

Automatic failback (default for active/active arrays):

  • When failed path recovers, I/O is automatically rebalanced
  • No manual intervention required

Manual failback (for active/passive arrays):

# Check current path states
multipathd show paths

# Force path check
multipathd reconfigure

# Manually switch path group
multipathd switchgroup <multipath_device> <group_number>

Using Pacemaker/Corosync:

# Install cluster packages
sudo dnf install -y pcs pacemaker corosync fence-agents-all

# Enable and start pcsd
sudo systemctl enable --now pcsd

# Set hacluster password (on all nodes)
sudo passwd hacluster

# Authenticate nodes (run on one node)
sudo pcs host auth node1 node2 node3 -u hacluster

# Create cluster
sudo pcs cluster setup mycluster node1 node2 node3

# Start cluster
sudo pcs cluster start --all
sudo pcs cluster enable --all

# Verify cluster status
sudo pcs status

Fencing Configuration

Configure STONITH (fencing):

# Disable STONITH for testing (NOT for production)
sudo pcs property set stonith-enabled=false

# For production, configure appropriate fence agent
# Example: IPMI fencing
sudo pcs stonith create fence_node1 fence_ipmilan \
    pcmk_host_list="node1" \
    ipaddr="10.0.0.101" \
    login="admin" \
    passwd="password" \
    lanplus=1

# Verify fencing
sudo pcs stonith status

Shared Storage Resources

Configure iSCSI LVM as cluster resource:

# Create LVM volume group on multipath device
sudo vgcreate --clustered y vg_iscsi /dev/mapper/mpatha

# Create logical volume
sudo lvcreate -L 100G -n lv_data vg_iscsi

# Create filesystem
sudo mkfs.xfs /dev/vg_iscsi/lv_data

# Add to cluster as resource
sudo pcs resource create fs_data Filesystem \
    device="/dev/vg_iscsi/lv_data" \
    directory="/mnt/data" \
    fstype="xfs" \
    --group storage_group

# Verify
sudo pcs resource status