User Tools

Site Tools


aix:aix_mpio

AIX multipathing commands

Which type of disk: DS3500

[root@nim]:/root # lsdev -Cc disk | grep hdisk0
hdisk0  Available C7-T1-01 MPIO DS3500 Disk

Which driver is used ? standard AIX MPIO driver for DS3500
For information if you install SDDPCM, it will substitute AIX MPIO driver for SVC, DS8k (so you won't find it in the following list)

[root@nim]:/root # manage_disk_drivers -l
Device              Present Driver        Driver Options     
2810XIV             AIX_AAPCM             AIX_AAPCM,AIX_non_MPIO
DS4100              AIX_APPCM             AIX_APPCM,AIX_fcparray
DS4200              AIX_APPCM             AIX_APPCM,AIX_fcparray
DS4300              AIX_APPCM             AIX_APPCM,AIX_fcparray
DS4500              AIX_APPCM             AIX_APPCM,AIX_fcparray
DS4700              AIX_APPCM             AIX_APPCM,AIX_fcparray
DS4800              AIX_APPCM             AIX_APPCM,AIX_fcparray
DS3950              AIX_APPCM             AIX_APPCM
DS5020              AIX_APPCM             AIX_APPCM
DCS3700             AIX_APPCM             AIX_APPCM
DS5100/DS5300       AIX_APPCM             AIX_APPCM
DS3500              AIX_APPCM             AIX_APPCM
XIVCTRL             MPIO_XIVCTRL          MPIO_XIVCTRL,nonMPIO_XIVCTRL
2107DS8K            NO_OVERRIDE           NO_OVERRIDE,AIX_AAPCM,AIX_non_MPIO
IBMFlash            NO_OVERRIDE           NO_OVERRIDE,AIX_AAPCM,AIX_non_MPIO
IBMSVC              NO_OVERRIDE           NO_OVERRIDE,AIX_AAPCM,AIX_non_MPIO

For IBM DS3000, DS4000, DS5000 you can get more information about the storage:

[root@nim]:/root # /usr/bin/mpio_get_config -Av
Frame id 1:
    Storage Subsystem worldwide name: 60080e500017e6dc000000004b9f3000
    Controller count: 2
    Partition count: 1
    Partition 0:
    Storage Subsystem Name = 'DS3950'
        hdisk#           LUN #   Ownership          User Label
        hdisk1               5   B (preferred)      arwen_bckdb
        hdisk10              3   A (preferred)      arwen_stg1
        hdisk11              4   B (preferred)      arwen_stg2
        hdisk12              0   A (preferred)      arwen_luitlabesx1_01
        hdisk13              1   B (preferred)      arwen_luitlabesx1_02
        hdisk14              2   A (preferred)      arwen_luitlabesx1_03
Frame id 0:
    Storage Subsystem worldwide name: 60080e50002ecb2c0000000050349b11
    Controller count: 2
    Partition count: 1
    Partition 0:
    Storage Subsystem Name = 'DS3524'
        hdisk#           LUN #   Ownership          User Label
        hdisk0              11   A (preferred)      arwen_b2
        hdisk4               3   A (preferred)      arwen_db2_1
        hdisk5               4   B (preferred)      arwen_db2_2
        hdisk6               5   A (preferred)      arwen_db2_3
        hdisk7               6   B (preferred)      arwen_db2_4
        hdisk8               7   A (preferred)      arwen_db2_archlog
        hdisk9               8   A (preferred)      arwen_db2_log
        hdisk17             13   A (preferred)      arwen_db2_archlog2
        hdisk18             14   B (preferred)      arwen_db2_log2

More information about the paths (lsmpio available in AIX6.1TL9 and AIX7.1TL3)

[root@nim]:/root # lsmpio -l hdisk0
name     path_id  status   path_status  parent  connection

hdisk0   2        Enabled  Sel,Act      fscsi2  20440080e52ec702,b000000000000
hdisk0   3        Enabled  Pas          fscsi2  20450080e52ec702,b000000000000
hdisk0   6        Enabled  Act          fscsi3  20340080e52ec702,b000000000000
hdisk0   7        Enabled  Pas          fscsi3  20350080e52ec702,b000000000000

Or:

[root@nim]:/root # lspath -l hdisk0 -F 'name path_id status path_status parent connection' 
hdisk0  2 Enabled Available fscsi2 20440080e52ec702,b000000000000
hdisk0  3 Enabled Available fscsi2 20450080e52ec702,b000000000000
hdisk0  6 Enabled Available fscsi3 20340080e52ec702,b000000000000
hdisk0  7 Enabled Available fscsi3 20350080e52ec702,b000000000000

List disk settings

[root@nim]:/root # lsattr -El hdisk0
DIF_prot_type   none                                                           T10 protection type              False
DIF_protection  no                                                             T10 protection support           True
PCM             PCM/friend/otherapdisk                                         Path Control Module              False
PR_key_value    none                                                           Persistant Reserve Key Value     True+
algorithm       fail_over                                                      Algorithm                        True+
autorecovery    no                                                             Path/Ownership Autorecovery      True
clr_q           no                                                             Device CLEARS its Queue on error True
cntl_delay_time 90                                                             Controller Delay Time            True
cntl_hcheck_int 10                                                             Controller Health Check Interval True
dist_err_pcnt   0                                                              Distributed Error Percentage     True
dist_tw_width   50                                                             Distributed Error Sample Time    True
hcheck_cmd      inquiry                                                        Health Check Command             True+
hcheck_interval 60                                                             Health Check Interval            True+
hcheck_mode     nonactive                                                      Health Check Mode                True+
location                                                                       Location Label                   True+
lun_id          0xb000000000000                                                Logical Unit Number ID           False
lun_reset_spt   yes                                                            LUN Reset Supported              True
max_coalesce    0x10000                                                        Maximum Coalesce Size            True
max_retry_delay 60                                                             Maximum Quiesce Time             True
max_transfer    0x40000                                                        Maximum TRANSFER Size            True
node_name       0x20040080e52ec702                                             FC Node Name                     False
pvid            000a97d8072eb88b0000000000000000                               Physical volume identifier       False
q_err           yes                                                            Use QERR bit                     True
q_type          simple                                                         Queuing TYPE                     True
queue_depth     10                                                             Queue DEPTH                      True
reassign_to     120                                                            REASSIGN time out value          True
reserve_policy  single_path                                                    Reserve Policy                   True+
rw_timeout      30                                                             READ/WRITE time out value        True
scsi_id         0xb0000                                                        SCSI ID                          False
start_timeout   60                                                             START unit time out value        True
timeout_policy  retry_path                                                     Timeout Policy                   True+
unique_id       3E21360080E50002ECB2C00000BC85063D37E0F1746      FAStT03IBMfcp Unique device identifier         False
ww_name         0x20440080e52ec702                                             FC World Wide Name               False

List available value for a setting:

[root@nim]:/root # lsattr -Rl hdisk0 -a algorithm
fail_over
round_robin

List available value for a setting (if needed add -P for change after reboot, for static settings):

[root@nim]:/root # chdev -l hdisk0 -a algorithm=round_robin

SDDPCM specific commands

When you install SDDPCM driver, install both package : devices.fcp.disk.ibm.mpio, devices.sddpcm.71 (specific for the AIX version). Once installed, SDDPCM is the default driver, but you can switch from standard MPIO to SDDPCM using this command (a reboot is also required)

manage_disk_drivers -d device -o <AIX_APPCM|AIX_SDDAPPCM>

Which type of disk:

[root@nim]:/root # lsdev -Cc disk
hdisk0 Available 00-00-00 SAS Disk Drive
...
hdisk8 Available 05-01-02 MPIO FC 2145

More information about the paths

[root@nim]:/root # lspath -l hdisk8 -s available -F"path_id:connection:parent:path_status:status"
0:50050768050c0b2e,6000000000000:fscsi0:Available:Enabled
1:50050768050c0b2f,6000000000000:fscsi0:Available:Enabled
2:5005076805100b2e,6000000000000:fscsi1:Available:Enabled
3:5005076805100b2f,6000000000000:fscsi1:Available:Enabled

In this sample you can see on path ID 0 the controler WWPN 50050768050c0b2e

Or:

[root@nim]:/root # lspcmcfg | grep hdisk8
hdisk8 (Avail pv TSM01_SQLvg) 600507600089002A0800000000000019 = path0 (Enabled) path1 (Enabled) path2 (Enabled) path3 (Enabled)

Or:
Here you can see active path (all path with * are not in use)

[root@nim]:/root # pcmpath query device 8                                                

DEV#:   8  DEVICE NAME: hdisk8  TYPE: 2145  ALGORITHM:  Load Balance 
SERIAL: 600507600089002A0800000000000019
==========================================================================
Path#      Adapter/Path Name          State     Mode     Select     Errors
    0*          fscsi0/path0           OPEN   NORMAL          0          0
    1           fscsi0/path1           OPEN   NORMAL          9          0
    2*          fscsi1/path2           OPEN   NORMAL          0          0
    3           fscsi1/path3           OPEN   NORMAL          7          0

SDDPCM discovers the preferred SVC controller, as exported by the target using in-band commands. On SVC you can switch to the second controler in the IO group

[root@nim]:/root # pcmpath chgprefercntl device 8
[root@nim]:/root # pcmpath query device 8                                                

DEV#:   8  DEVICE NAME: hdisk8  TYPE: 2145  ALGORITHM:  Load Balance 
SERIAL: 600507600089002A0800000000000019
==========================================================================
Path#      Adapter/Path Name          State     Mode     Select     Errors
    0           fscsi0/path0           OPEN   NORMAL          3          0
    1*          fscsi0/path1           OPEN   NORMAL          9          0
    2           fscsi1/path2           OPEN   NORMAL          3          0
    3*          fscsi1/path3           OPEN   NORMAL          7          0

Check if there is a persistent reservation on a disk (lock)

[root@nim]:/root # pcmquerypr -Vh /dev/hdisk8 
connection type: fscsi1
open dev: /dev/hdisk8

Attempt to read reservation key...

Attempt to read registration keys...
Read Keys parameter 
        Generation :  0  
        Additional Length:  0  
resrvpolicy= no_reserve
Reserve Key provided by current host = none (hex)f9240701
Not reserved.

Statistics on FC ports

[root@nim]:/root # pcmpath query port

Active TargetPorts :4

Port#             Wwpn     State     Mode             Select     Errors  Paths  Active
    0  50050768050c0b2e   NORMAL   ACTIVE          100034059         10      7       7
    1  50050768050c0b2f   NORMAL   ACTIVE           19996787          9      7       7
    2  5005076805100b2e   NORMAL   ACTIVE           99866807         14      7       7
    3  5005076805100b2f   NORMAL   ACTIVE           18781185          6      7       7
[root@nim]:/root # pcmpath query adapter 

Total Dual Active and Active/Asymmetric Adapters : 2

Adpt#    Name    State     Mode             Select     Errors  Paths  Active
    0  fscsi0   NORMAL   ACTIVE          120030846         19     14      14
    1  fscsi1   NORMAL   ACTIVE          118647992         20     14      14
[root@nim]:/root # pcmpath query portstats

Port #:  0
=============
                Total Read  Total Write  Active Read  Active Write   Maximum
I/O:                     0            0            0             0         0
SECTOR:                  0            0            0             0         0

Port #:  1
=============
                Total Read  Total Write  Active Read  Active Write   Maximum
I/O:                     0            0            0             0         0
SECTOR:                  0            0            0             0         0

Port #:  2
=============
                Total Read  Total Write  Active Read  Active Write   Maximum
I/O:                     0            0            0             0         0
SECTOR:                  0            0            0             0         0

Port #:  3
=============
                Total Read  Total Write  Active Read  Active Write   Maximum
I/O:                     0            0            0             0         0
SECTOR:                  0            0            0             0         0
aix/aix_mpio.txt · Last modified: 2021/01/01 21:21 (external edit)