iSCSI Path Redundancy Model
Failover Behavior
Failover Diagrams (iSCSI)
Failover behavior diagrams for iSCSI with dm-multipath.
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>
What is Ksplice?
Ksplice benefits:
-
Zero-downtime kernel updates
-
No reboots required for security patches
-
Maintains iSCSI connections during updates
-
Reduces maintenance windows
-
Improves uptime SLAs
Requires: Oracle Linux Premier Support subscription
Enable Ksplice
Install and configure Ksplice:
# Install uptrack (Ksplice client)
sudo dnf install -y uptrack
# Register with Oracle (requires support subscription)
sudo uptrack-upgrade --register <access_key>
# Enable automatic updates
sudo systemctl enable --now uptrack-upgrade.timer
# Check Ksplice status
sudo uptrack-show
# View available updates
sudo uptrack-upgrade --check
Ksplice Best Practices
-
Monitor Ksplice updates:
# Check what patches are applied sudo uptrack-show # View update history sudo uptrack-show --history # Check for available updates sudo uptrack-upgrade --check -
Schedule updates during low-activity periods:
# Configure update schedule sudo systemctl edit uptrack-upgrade.timer # Add: [Timer] OnCalendar= OnCalendar=Sun 02:00 -
Test in non-production first:
-
Apply Ksplice updates to dev/test systems first
-
Monitor for any issues
-
Roll out to production after validation
-
-
Understand limitations:
-
Some updates still require reboot (rare)
-
Major kernel upgrades require reboot
-
Check
uptrack-showfor reboot-required updates
-