How to disable or enable AIX native Multi-Path I/O (MPIO) for LUNs with Array Product PID with the vxmpio utility

Article: 100028373
Last Published: 2019-06-06
Ratings: 0 0
Product(s): InfoScale & Storage Foundation

Description

Background:

Previous procedures to disable AIX MPIO  multipathing to allow VxVM-DMP multipathing control required multiple steps including the download and installation of ODM array definitions from the array vendor. .  

Veritas now provides the vxmpio utility which will disable or enable MPIO for array specific LUNs.

 

What follows is a vxmpio-disable and vxmpio-enable procedure walkthrough of the vxmpio utility.

Procedure to disable AIX native MPIO multipathing to establish VxVM-DMP multipathing
 
1.0 We need to identify the SAN array LUNs provisioned to the host.
 
*   With vxdisk list we can display the DEVICE of interest.
* Notice VxVM Enclosure Based Naming (EBN) is enabled. We can identify the EMC storage LUNs.
 
# vxdisk -eo alldgs list
DEVICE       TYPE           DISK        GROUP        STATUS               OS_NATIVE_NAME   ATTR
emc0_0       auto:none      -            -           online invalid       hdisk1           -
emc0_1       auto:none      -            -           online invalid       hdisk2           -
emc0_2       auto:none      -            -           online invalid       hdisk3           -
emc0_3       auto:none      -            -           online invalid       hdisk4           -
emc0_4       auto:none      -            -           online invalid       hdisk5           -
emc0_5       auto:none      -            -           online invalid       hdisk6           -
emc0_6       auto:none      -            -           online invalid       hdisk7           -
emc0_7       auto:none      -            -           online invalid       hdisk8           -
emc0_8       auto:none      -            -           online invalid       hdisk9           -
emc0_9       auto:none      -            -           online invalid       hdisk10          -
ibm_ds8x000_0 auto:LVM       -            -           LVM                  hdisk0           -
 
 
* We can distinguish the emc0 and the ibm_ds8x0000_0 LUNs
* Our objective is place the EMC LUNs under VxVM-DMP multipathing control.
* But what is the AIX native MPIO multipathing status with the EMC LUNs?
 
2.0   We can check which devices are MPIO managed.
 
* We know from vxdisk-list we can reference the device OS_NATIVE_NAME
* It appears all LUNs in this lsdev-disk are under MPIO multipathing
 
# lsdev -c disk
 
hdisk0 Available 30-T1-01 MPIO Other FC SCSI Disk Drive
hdisk1 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk2 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk3 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk4 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk5 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk6 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk7 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk8 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk9 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk10 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk11 Available 35-T1-01 MPIO Other FC SCSI Disk Drive
 
* But we need to identify-confirm the EMC LUNs and we need to determine the PID for the vxmpio command
 
Note:  If your lsdev -c disk output displays the following similar array specific error 
 
# /etc/vx/bin/vxmpio disable pid=SYMMETRIX

VxVM vxmpio ERROR V-5-2-5826 MPIO already disabled, model_name 'SYMMETRIX' already exists in ODM
 
* this indicates the EMC Symmetrix was previously defined in the AIX ODM database for MPIO multipathing.
In order to use the vxmpio utility you will need revert the previous ODM procedures for disk management. 
Consult AIX procedures on the initial setup of MPIO and ODM. vxmpio utility assumes the new installation default AIX setup of MPIO.
 
 
 
2.1 How many paths does VxVM-DMP see?
 
# vxdisk list emc0_0
Device:    emc0_0
devicetag: emc0_0
type:      auto
info:      format=none
flags:     online ready private autoconfig invalid
pubpaths: block=/dev/vx/dmp/emc0_0 char=/dev/vx/rdmp/emc0_0
guid:      -
udid:      EMC%5FSYMMETRIX%5F000192600969%5F6900C84000
site:      -
Multipathing information:
numpaths:   1
hdisk1          state=enabled    <<<<<<<< VxVM see a single psuedo MPIO device path
 
# vxdisk list emc0_1
Device:    emc0_1
devicetag: emc0_1
type:      auto
info:      format=none
flags:     online ready private autoconfig invalid
pubpaths: block=/dev/vx/dmp/emc0_1 char=/dev/vx/rdmp/emc0_1
guid:      -
udid:      EMC%5FSYMMETRIX%5F000192600969%5F6900C85000
site:      -
Multipathing information:
numpaths:   1
hdisk2          state=enabled   <<<<<<<< VxVM see a single psuedo MPIO device path
 
# vxdmpadm getsubpaths
NAME         STATE[A]   PATH-TYPE[M] DMPNODENAME ENCLR-NAME   CTLR   ATTRS
================================================================================
hdisk1       ENABLED(A)   -          emc0_0       emc0         fscsi1   -
hdisk2       ENABLED(A)   -          emc0_1       emc0         fscsi1   -
hdisk3       ENABLED(A)   -          emc0_2       emc0         fscsi1   -
hdisk4       ENABLED(A)   -          emc0_3       emc0         fscsi1   -
hdisk5       ENABLED(A)   -          emc0_4       emc0         fscsi1   -
hdisk6       ENABLED(A)   -          emc0_5       emc0         fscsi1   -
hdisk7       ENABLED(A)   -          emc0_6       emc0         fscsi1   -
hdisk8       ENABLED(A)   -          emc0_7       emc0         fscsi1   -
hdisk9       ENABLED(A)   -          emc0_8       emc0         fscsi1   -
hdisk10      ENABLED(A)   -          emc0_9       emc0         fscsi1   -
hdisk0       ENABLED(A)   -          ibm_ds8x000_0 ibm_ds8x000 fscsi0   -
 
# vxdisk path
SUBPATH                     DANAME               DMNAME       GROUP        STATE
hdisk1                      emc0_0               -            -            ENABLED
hdisk2                      emc0_1               -            -            ENABLED
hdisk3                      emc0_2               -            -            ENABLED
hdisk4                      emc0_3               -            -            ENABLED
hdisk5                      emc0_4               -            -            ENABLED
hdisk6                      emc0_5               -            -            ENABLED
hdisk7                      emc0_6               -            -            ENABLED
hdisk8                      emc0_7               -            -            ENABLED
hdisk9                      emc0_8              -            -            ENABLED
hdisk10                     emc0_9               -            -            ENABLED
hdisk0                      ibm_ds8x000_0        -            -            ENABLED
 
* Clearly AIX native MPIO multipathing is active; VxVM DMP is just a passenger.
* This is a Veritas unsupported configuration for VxVM-DMP and AIX
 
3.0 Now confirm-identify the EMC LUNs and determine the EMC PID
 
# lscfg -vl  hdisk0
  hdisk0           U9117.MMB.1017B7P-V6-C430-T1-W50050763090386B5-L0 MPIO Other FC SCSI Disk Drive
 
        Manufacturer................IBM         <<<<<<<<<<<< array source
        Machine Type and Model......2107900     <<<<<<<<<<<< PID
        Part Number.................
        ROS Level and ID............2E323436
        Serial Number...............75TK2710
        EC Level....................
        FRU Number..................
        Device Specific.(Z0)........000005329F101002
        Device Specific.(Z1)........82D
        Device Specific.(Z2)........075
        Device Specific.(Z3)........05510
        Device Specific.(Z4)........
        Device Specific.(Z5)........
        Device Specific.(Z6)........
 
# lscfg -vl  hdisk1
  hdisk1           U9117.MMB.1017B7P-V6-C431-T1-W50000972080F2561-L0 MPIO Other FC SCSI Disk Drive
 
        Manufacturer................EMC        <<<<<<<<<<<<< array source
        Machine Type and Model......SYMMETRIX <<<<<<<<<<<<< PID
        Part Number.................
        ROS Level and ID............35383734
        Serial Number...............69C84000
        EC Level....................`.i
        FRU Number..................D0
        Device Specific.(Z0)........000004329008100A
        Device Specific.(Z1)........@
        Device Specific.(Z2)........
        Device Specific.(Z3)........
        Device Specific.(Z4)........T.
        Device Specific.(Z5)..........
 
# lscfg -vl  hdisk11
  hdisk11          U9117.MMB.1017B7P-V6-C435-T1-W50000972080F2524-L0 MPIO Other FC SCSI Disk Drive
 
        Manufacturer................EMC        <<<<<<<<<<<<< array source
        Machine Type and Model......SYMMETRIX <<<<<<<<<<<<< PID
        Part Number.................
        ROS Level and ID............35383734
        Serial Number...............69246000
        EC Level........................i
        FRU Number..................D0
        Device Specific.(Z0)........000004329008100A
        Device Specific.(Z1)........@
        Device Specific.(Z2)........
        Device Specific.(Z3)........
        Device Specific.(Z4)........U.
        Device Specific.(Z5)..........
 
* We need to disable MPIO multipathing EMC LUNs using the  PID "SYMMETRIX" string
 
4.0 Before we disable MPIO we need to temporarily remove VxVM "view" or "claim" of the LUNs.
 
* The vxmpio command will complain the EMC LUNs are in use
 
# for d in `vxdisk list | grep emc0_ | awk '{print $1}'`; do vxdisk rm $d; done
 
* recheck vxdisk-list
 
# vxdisk -eo alldgs list
 
DEVICE       TYPE           DISK        GROUP        STATUS               OS_NATIVE_NAME   ATTR
ibm_ds8x000_0 auto:LVM       -            -           LVM                  hdisk0           -
 
* VxVM is now released from the EMC LUNs
 
5.0 We can now disable AIX native MPIO multipathing for the EMC LUNs
 
* We will use the vxmpio utility
 
Important: vxmpio use with SAN root/boot disks 

Do not use vxmpio to unmanage MPIO controlled SAN root/boot disks. The vxmpio utility was not designed to handle SAN boot disks, the utility will be enhanced to report a user friendly error message going forward, until we can support it. Here we are disabling MPIO on EMC disks.
 
 
# /etc/vx/bin/vxmpio disable pid=SYMMETRIX
Running bosboot ..
 
bosboot: Boot image is 46917 512 byte blocks.
VxVM vxmpio INFO V-5-2-5828 Please reboot the machine to disable MPIO support for SYMMETRIX
 
* vxmpio-disable completed but a reboot is required
# reboot
 
6.0 Now check the lsdev-disk device output
* Notice what is different with this output (compare with 2.0 above)
 
# lsdev -c disk
hdisk0 Available 30-T1-01 MPIO Other FC SCSI Disk Drive <<<< IBM LVM LUN
hdisk1 Available 31-T1-01 Other FC SCSI Disk Drive   <<<< EMC multi-device paths per LUN
hdisk2 Available 31-T1-01 Other FC SCSI Disk Drive
hdisk3 Available 31-T1-01 Other FC SCSI Disk Drive
hdisk4 Available 31-T1-01 Other FC SCSI Disk Drive
hdisk5 Available 31-T1-01 Other FC SCSI Disk Drive
hdisk6 Available 31-T1-01 Other FC SCSI Disk Drive
hdisk7 Available 31-T1-01 Other FC SCSI Disk Drive
hdisk8 Available 31-T1-01 Other FC SCSI Disk Drive
hdisk9 Available 31-T1-01 Other FC SCSI Disk Drive
hdisk10 Available 31-T1-01 Other FC SCSI Disk Drive
hdisk11 Available 35-T1-01 Other FC SCSI Disk Drive
hdisk12 Available 35-T1-01 Other FC SCSI Disk Drive
hdisk13 Available 35-T1-01 Other FC SCSI Disk Drive
hdisk14 Available 35-T1-01 Other FC SCSI Disk Drive
hdisk15 Available 35-T1-01 Other FC SCSI Disk Drive
hdisk16 Available 35-T1-01 Other FC SCSI Disk Drive
hdisk17 Available 35-T1-01 Other FC SCSI Disk Drive
hdisk18 Available 35-T1-01 Other FC SCSI Disk Drive
hdisk19 Available 35-T1-01 Other FC SCSI Disk Drive
hdisk20 Available 35-T1-01 Other FC SCSI Disk Drive
hdisk21 Available 35-T1-01 Other FC SCSI Disk Drive
 
* Notice "MPIO Other" is now just "Other" with MPIO vxmpio-disabled EMC LUNs
* Also notice there are now twice as many "hdisk" devices (11 count prior to vxmpio-disable)
 
# lsdev -c disk |egrep -v MPIO |egrep -c "Other"
20
 
* This means the hdisk# are device paths for each EMC LUN
* Notice too VxVM vxdisk-path sees two paths per EMC "DANAME"
 
# vxdisk path
SUBPATH                     DANAME               DMNAME       GROUP        STATE
hdisk18                     emc0_0c8a            -            -            ENABLED
hdisk7                      emc0_0c8a            -            -            ENABLED
hdisk19                     emc0_0c8b            -            -            ENABLED
hdisk8                      emc0_0c8b            -            -            ENABLED
hdisk20                     emc0_0c8c            -            -            ENABLED
hdisk9                      emc0_0c8c            -            -            ENABLED
hdisk21                     emc0_0c8d            -            -            ENABLED
hdisk10                     emc0_0c8d            -            -            ENABLED
hdisk12                     emc0_0c84            -            -            ENABLED
hdisk1                      emc0_0c84            -            -            ENABLED
hdisk13                     emc0_0c85            -            -            ENABLED
hdisk2                      emc0_0c85            -            -            ENABLED
hdisk14                     emc0_0c86            -            -            ENABLED
hdisk3                      emc0_0c86            -            -            ENABLED
hdisk15                     emc0_0c87            -            -            ENABLED
hdisk4                      emc0_0c87            -            -            ENABLED
hdisk16                     emc0_0c88            -            -            ENABLED
hdisk5                      emc0_0c88            -            -           ENABLED
hdisk17                     emc0_0c89            -            -            ENABLED
hdisk6                      emc0_0c89            -            -            ENABLED
hdisk0                      ibm_ds8x000_0        -            -            ENABLED
 
7.0 With MPIO multipathing out-of-the-way or disabled for the EMC LUNs, VxVM DMP multipathing --rescanned after reboot--  is now in control.
 
* vxdmpadm display multiple paths per "DMPNODENAME"
 
# vxdmpadm getsubpaths
NAME         STATE[A]   PATH-TYPE[M] DMPNODENAME ENCLR-NAME   CTLR   ATTRS
================================================================================
hdisk1       ENABLED(A)   -          emc0_0c84    emc0         fscsi1   -
hdisk12      ENABLED(A)   -          emc0_0c84    emc0         fscsi2   -
hdisk13      ENABLED(A)   -          emc0_0c85    emc0         fscsi2   -
hdisk2       ENABLED(A)   -          emc0_0c85    emc0         fscsi1   -
hdisk14      ENABLED(A)   -          emc0_0c86    emc0         fscsi2   -
hdisk3       ENABLED(A)   -          emc0_0c86    emc0         fscsi1   -
hdisk15      ENABLED(A)   -          emc0_0c87    emc0         fscsi2   -
hdisk4       ENABLED(A)   -          emc0_0c87    emc0         fscsi1   -
hdisk16      ENABLED(A)   -          emc0_0c88    emc0         fscsi2   -
hdisk5       ENABLED(A)   -          emc0_0c88    emc0         fscsi1   -
hdisk17      ENABLED(A)   -          emc0_0c89    emc0         fscsi2   -
hdisk6       ENABLED(A)   -          emc0_0c89    emc0         fscsi1   -
hdisk18      ENABLED(A)   -         emc0_0c8a    emc0         fscsi2   -
hdisk7       ENABLED(A)   -          emc0_0c8a    emc0         fscsi1   -
hdisk19      ENABLED(A)   -          emc0_0c8b    emc0         fscsi2   -
hdisk8       ENABLED(A)   -          emc0_0c8b    emc0         fscsi1   -
hdisk20      ENABLED(A)   -          emc0_0c8c    emc0         fscsi2   -
hdisk9       ENABLED(A)   -          emc0_0c8c    emc0         fscsi1   -
hdisk10      ENABLED(A)   -          emc0_0c8d    emc0         fscsi1   -
hdisk21      ENABLED(A)   -          emc0_0c8d    emc0         fscsi2   -
hdisk0       ENABLED(A)   -          ibm_ds8x000_0 ibm_ds8x000 fscsi0   -
 
 
*   vxdisk-list dmpnodename
 
# vxdisk list emc0_0c84
Device:    emc0_0c84
devicetag: emc0_0c84
type:      auto
info:      format=none
flags:     online ready private autoconfig invalid
pubpaths: block=/dev/vx/dmp/emc0_0c84 char=/dev/vx/rdmp/emc0_0c84
guid:      -
udid:      EMC%5FSYMMETRIX%5F000192600969%5F6900C84000
site:      -
Multipathing information:
numpaths:   2
hdisk12         state=enabled   <<<<<<<<<<<<<<<<<<<
hdisk1          state=enabled    <<<<<<<<<<<<<<<<<<<
 
 
Procedure RE-ENABLE AIX Native MPIO multipathing with the vxmpio utility
 
65.0 Procedure to enable MPIO support (MPIO will do the multipathing):
Execute following command:

/etc/vx/bin/vxmpio enable pid=< product_id >

              
# /etc/vx/bin/vxmpio enable pid=SYMMETRIX
Method error (/usr/lib/methods/ucfgdevice):
        0514-062 Cannot perform the requested function because the
                 specified device is busy.
VxVM vxmpio ERROR V-5-2-5825 Failed to remove devices hdisk12
 
 
65.1 Above command failed because devices tied to VxVM at this time appear “busy”
* The vxmpio operation fails. We need to remove devices from VxVM and re-run vxmpio-enable command again.
*  Be sure do vxdisk rm on each device to release all open counts.
 
# for d in `vxdisk list | grep emc0_ | awk '{print $1}'`; do vxdisk rm $d; done
 
# vxdisk list
DEVICE       TYPE            DISK         GROUP        STATUS
ibm_ds8x000_0 auto:LVM        -            -            LVM
 
 
66.0 Use vxmpio command to return MPIO multipathing to the EMC LUNs
 
# /etc/vx/bin/vxmpio enable pid=SYMMETRIX
hdisk1 deleted
hdisk2 deleted
hdisk3 deleted
hdisk4 deleted
hdisk5 deleted
hdisk6 deleted
hdisk7 deleted
hdisk8 deleted
hdisk9 deleted
hdisk10 deleted
hdisk11 deleted
hdisk12 deleted
hdisk13 deleted
hdisk14 deleted
hdisk15 deleted
hdisk16 deleted
hdisk17 deleted
hdisk18 deleted
hdisk19 deleted
hdisk20 deleted
hdisk21 deleted
Running bosboot ..
 
bosboot: Boot image is 46914 512 byte blocks.
VxVM vxmpio INFO V-5-2-5829 Please reboot the machine to enable MPIO support for SYMMETRIX
 
 
* Reboot the system to see if MPIO is enabled for devices or not.
 
67.0 After reboot we see MPIO is back
 
# lsdev -c disk
hdisk0 Available 30-T1-01 MPIO Other FC SCSI Disk Drive
hdisk1 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk2 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk3 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk4 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk5 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk6 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk7 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk8 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk9 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk10 Available 31-T1-01 MPIO Other FC SCSI Disk Drive
hdisk11 Available 35-T1-01 MPIO Other FC SCSI Disk Drive
 
* MPIO multipathing now presents psuedo devices to VxVM-DMP
 
 
67.1 We see VxVM-DMP sees the single pseudo device path per LUN from MPIO
 
# vxdmpadm getsubpaths
NAME         STATE[A]   PATH-TYPE[M] DMPNODENAME ENCLR-NAME   CTLR   ATTRS
================================================================================
hdisk1       ENABLED(A)   -          emc0_0       emc0         fscsi1   -
hdisk2       ENABLED(A)   -          emc0_1       emc0         fscsi1   -
hdisk3       ENABLED(A)   -          emc0_2       emc0         fscsi1   -
hdisk4       ENABLED(A)   -          emc0_3       emc0         fscsi1   -
hdisk5       ENABLED(A)   -          emc0_4       emc0         fscsi1   -
hdisk6       ENABLED(A)   -          emc0_5       emc0         fscsi1   -
hdisk7       ENABLED(A)   -          emc0_6       emc0         fscsi1   -
hdisk8       ENABLED(A)   -          emc0_7       emc0         fscsi1   -
hdisk9       ENABLED(A)   -          emc0_8       emc0         fscsi1   -
hdisk10      ENABLED(A)   -          emc0_9       emc0         fscsi1   -
hdisk0       ENABLED(A)   -          ibm_ds8x000_0 ibm_ds8x000 fscsi0   -
(AIX)(c1062-p7701-mp4) /{4.EN_US}
 
* The count is now 10 EMC devices (pseudo devices)
# vxdmpadm getsubpaths |egrep -c emc0_10
 
68.0 Furthermore we see MPIO multipathing is back in control with the EMC LUNs with lspath command
If you check following command then you see MPIO is managing two paths:
 
# lspath -l hdisk1
Enabled hdisk1 fscsi1
Enabled hdisk1 fscsi2
 
# lspath -l hdisk10
Enabled hdisk10 fscsi1
Enabled hdisk10 fscsi2
 
* VxVM-DMP is now just a passenger with MPIO multipathing in the driver seat presenting the pseudo device per LUN
 
# vxdmpadm getsubpaths
NAME         STATE[A]   PATH-TYPE[M] DMPNODENAME ENCLR-NAME   CTLR   ATTRS
================================================================================
hdisk1       ENABLED(A)   -          emc0_0       emc0         fscsi1   -
hdisk2       ENABLED(A)   -          emc0_1       emc0         fscsi1   -
hdisk3       ENABLED(A)   -          emc0_2       emc0         fscsi1   -
hdisk4       ENABLED(A)   -          emc0_3       emc0         fscsi1   -
hdisk5       ENABLED(A)   -          emc0_4       emc0         fscsi1   -
hdisk6       ENABLED(A)   -          emc0_5       emc0         fscsi1   -
hdisk7       ENABLED(A)   -          emc0_6       emc0         fscsi1   -
hdisk8       ENABLED(A)   -          emc0_7       emc0         fscsi1   -
hdisk9       ENABLED(A)   -          emc0_8       emc0         fscsi1   -
hdisk10      ENABLED(A)   -          emc0_9       emc0         fscsi1   -
hdisk0       ENABLED(A)   -          ibm_ds8x000_0 ibm_ds8x000 fscsi0   -
 

Applies To

AIX environments with SAN array attached LUNs where native AIX MPIO multipathing is enabled.

Was this content helpful?