AIX MPIO Recommendations

This document provides AIX Multipath I/O (MPIO) best practices for IBM Power for Google (IP4G) block storage.

The following AIX Multipath I/O (MPIO) settings have been validated by the IBM Power for Google Cloud engineering team to provide the best mix of performance and stability. If you feel your workload requires an alternative configuration, please contact IBM Power for Google Cloud support before making changes.

AttributeRecommended ValueMotivation
algorithmshortest_queueDynamically checks the pending I/O load on every available path before sending data, ensuring traffic is always routed to the least busy path.
reserve_policyno_reservePrevents the host from locking the disk exclusively. This is required for IBM Power for Google Cloud non-disruptive maintenance using Live Partition Mobility (LPM).
hcheck_interval60Tells AIX to check failed paths every 60 seconds. If set to 0 (default), a failed path might never automatically come back online.
hcheck_modenonactiveChecks only paths that have no active I/O, minimizing overhead.
queue_depth32This setting maximizes throughput (IOPS) while maintaining consistent low latency. Please contact support if you feel your workload requires a different setting.

Verify AIX MPIO Configuration

Check existing MPIO configuration for each disk using lsattr -El <disk_name> and filtering for the attributes shown in the table above. This should be done for each disk in the operating system.

# lsattr -El hdisk0 | egrep "algorithm|reserve_policy|hcheck_interval|hcheck_mode|queue_depth"
algorithm       shortest_queue                                      Algorithm                    True+
hcheck_interval 60                                                  Health Check Interval        True+
hcheck_mode     nonactive                                           Health Check Mode            True+
queue_depth     32                                                  Queue DEPTH                  True+
reserve_policy  no_reserve                                          Reserve Policy               True+

Set AIX MPIO Configuration for Existing Disks

If you have existing disks that need to be updated with the recommended MPIO settings, you can use the following commands:

# Set algorithm to shortest_queue
chdev -l <disk_name> -a algorithm=shortest_queue

# Set reserve_policy to no_reserve
chdev -l <disk_name> -a reserve_policy=no_reserve

# Set hcheck_interval to 60
chdev -l <disk_name> -a hcheck_interval=60

# Set hcheck_mode to nonactive
chdev -l <disk_name> -a hcheck_mode=nonactive

# Set queue_depth to 32
chdev -l <disk_name> -a queue_depth=32

Set AIX MPIO Configuration for New Disks

These commands update the Predefined Attribute (PdAt) database so that any future disk you map or discover will automatically inherit the best practices settings without manual intervention.

# Set default algorithm to shortest_queue
chdef -a algorithm=shortest_queue -c disk -s fcp -t mpioosdisk

# Set default reserve_policy to no_reserve (Critical for LPM)
chdef -a reserve_policy=no_reserve -c disk -s fcp -t mpioosdisk

# Set default health check interval to 60 seconds
chdef -a hcheck_interval=60 -c disk -s fcp -t mpioosdisk

# Set default health check mode to nonactive
chdef -a hcheck_mode=nonactive -c disk -s fcp -t mpioosdisk

# Set default queue_depth to 32
chdef -a queue_depth=32 -c disk -s fcp -t mpioosdisk

Monitoring Available Paths in AIX

Each disk attached to an IBM Power for Google Cloud block storage volume will have four fiber channel paths. These paths are distributed across a fully redundant dataplane, and a dual fiber channel fabric. A disk can lose up to 3 of 4 fiber channel paths and still remain operational.

Customers should monitor the status of MPIO paths. While path failures are expected during maintenance events, it is important to evaluate any path failure that is unexpected.

Display path status for all devices.

lspath

Display all paths associated with a specific device, including their status (Available, Defined, Failed).

lspath -l <device_name> 

This command shows detailed information and status for all devices and paths, including their status and path status.

lsmpio

This command provides detailed information for a specific device.

lsmpio -l <device_name>

Scheduled Maintenance and AIX Path Recovery

IBM Power for Google Cloud performs storage maintenance to maintain the health of the storage system. During maintenance events, some paths may go down but should be automatically recovered. Review the following actions that should be taken before and after maintenance events. These actions and any additional actions are always included in maintenance notifications as well.

Before Maintenance:

  • Check Path Status: Use lspath or lsmpio to get a baseline of current path status. This will help identify any discrepancies after maintenance.

  • Resolve any Down Paths: If paths are discovered as down they should be fixed prior to maintenance to avoid an outage. A standard method for doing so is to:

    • Find the failed paths using lspath, note the hdisk and fscsi device
    • Remove the failed paths using rmpath -l hdiskX -p fscsiY
    • Rediscover all paths using cfgmgr
    • Use lspath to verify the path state

After Maintenance:

  • Verify Path Status: Use lspath or lsmpio again to confirm that all paths have recovered and are in the “Available” state.

  • Recover Paths: Sometimes AIX does not automatically recover paths. During these scenarios, customer should attempt to recover the paths. A standard method for doing so is to:

    • Find the failed paths using lspath, note the hdisk and fscsi device
    • Remove the failed paths using rmpath -l hdiskX -p fscsiY
    • Rediscover all paths using cfgmgr
    • Use lspath to verify the path state

Report Issues: If there are any issues with pathing or storage connectivity after maintenance, promptly report them to Converge for resolution.

By following these guidelines and proactively monitoring MPIO paths, customers can ensure the high availability and performance of their applications running on IBM Power for Google.

Additional Resources

You can learn more about the general MPIO configuration from the official IBM documentation:

It is important customers understand their Application and select MPIO policies that best suit their Application requirements.