AIX MPIO Recommendations
This document provides AIX Multipath I/O (MPIO) best practices for IBM Power for Google (IP4G) block storage.
Recommended MPIO Configuration for AIX
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.
| Attribute | Recommended Value | Motivation |
|---|---|---|
algorithm | shortest_queue | Dynamically checks the pending I/O load on every available path before sending data, ensuring traffic is always routed to the least busy path. |
reserve_policy | no_reserve | Prevents 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_interval | 60 | Tells AIX to check failed paths every 60 seconds. If set to 0 (default), a failed path might never automatically come back online. |
hcheck_mode | nonactive | Checks only paths that have no active I/O, minimizing overhead. |
queue_depth | 32 | This 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.