The support for SDDPCM will officially end on June 30, 2020. IBM ask customers to migrate away from SDDPCM multipathing and onto AIXPCM in response to the planned End of support (EOS) of SDDPCM with IBM storage products.
I will write commands to migrate from SDDPCM to AIXPCM, current enviornment is AIX(7.1) with 2107DS8K(DS*), IBMFlash, IBMSVC.
Command to check SVC also check if IBMFlash and 2107DS8K etc.
# manage_disk_drivers -l | grep -i svc
IBMSVC NO_OVERRIDE NO_OVERRIDE,AIX_AAPCM,AIX_non_MPIO
Grep for IBMFlash and 2107DS8K if its added all will show NO_OVERRIDE
1st run chdef command to change definition of MPIO disk as below.
# chdef -a queue_depth=32 -c disk -s fcp -t mpioosdisk
queue_depth changed
# chdef -a reserve_policy=no_reserve -c disk -s fcp -t mpioosdisk
reserve_policy changed
# chdef -a algorithm=shortest_queue -c disk -s fcp -t mpioosdisk
algorithm changed
Now run change Driver command
# manage_disk_drivers -d IBMSVC -o AIX_AAPCM
********************** ATTENTION *************************
For the change to take effect the system must be rebooted
# manage_disk_drivers -d 2107DS8K -o AIX_AAPCM
********************** ATTENTION *************************
For the change to take effect the system must be rebooted
# manage_disk_drivers -d IBMFlash -o AIX_AAPCM
********************** ATTENTION *************************
For the change to take effect the system must be rebooted
# shutdown -Fr
If your server is connected to DS* then with chdef command all paths are not selected when you run lsmpio command.
Then check if any others disks are attached.
# lspv
hdisk0 00f9793902ab4972 datavg active
hdisk4 00f97939684667bc usrvg active
hdisk5 00f979392c15469d rootvg active
showing 3 disks from the storage.
you can check disks definition by running lsattr -El hdisk0 or just to check algorithm parameter which has to be changed.
# lsattr -El hdisk0 | grep algorithm
algorithm fail_over Algorithm True+
if algorithm is fail_over then you have to change it to shortest_queue
other parameter options available
# lsattr -Rl hdisk0 -a algorithm
fail_over
round_robin
shortest_queue // shortest_queue is added only after earlier manage_disk_drivers command
load_balance
load_balance_port
Now change definition for each disks as below.
# chdev -l hdisk0 -a reserve_policy=no_reserve -P
hdisk0 changed
# chdev -l hdisk0 -a queue_depth=32 -P
hdisk0 changed
# chdev -l hdisk0 -a algorithm=shortest_queue -P
hdisk0 changed
This chdev -l hdisk0 -a algorithm=shortest_queue -P command should be run last else it will not change; do it for hdisk4 and hdisk5 also.
OR
you can run if many disks are attached
lsdev -Cc disk -F name | while read line; do chdev -l ${line} -a queue_depth=32 -a reserve_policy=no_reserve -a algorithm=shortest_queue -P; done
//chdev -l hdiskX -a reserve_policy=no_reserve -a queue_depth=32 -a algorithm=shortest_queue -U. For AIX 7.1 TL5 and AIX 7.2 TL2 (with -U option, it will allow without reboot only if device is available -U is allowed.)
# shutdown -Fr
# manage_disk_drivers -l | grep -i svc
IBMSVC AIX_AAPCM NO_OVERRIDE,AIX_AAPCM,AIX_non_MPIO
earlier it was NO_OVERRIDE now it should show AIX_AAPCM
#lsmpio
hdisk0 0 Enabled Sel fscsi0 50050763071bd31f,40ec402b00000000
hdisk0 1 Enabled Sel fscsi0 500507630710d31f,40ec402b00000000
hdisk0 2 Enabled Sel fscsi1 50050763071b931f,40ec402b00000000
hdisk0 3 Enabled Sel fscsi1 500507630713931f,40ec402b00000000
hdisk0 4 Enabled Sel fscsi2 50050763071bd31f,40ec402b00000000
hdisk0 5 Enabled Sel fscsi2 500507630713d31f,40ec402b00000000
hdisk0 6 Enabled Sel fscsi3 50050763071b931f,40ec402b00000000
hdisk0 7 Enabled Sel fscsi3 500507630713931f,40ec402b00000000
same for all disks like hdisk4, hdisk5 etc with sel option set
To see full details and errors if any, run
# lsmpio -are
To Rollback
If you need to go back to using SDDPCM as the driver, and haven’t removed it, you can use manage_disk_drivers to flip back and reboot.
# manage_disk_drivers -d IBMSVC -o NO_OVERRIDE
********************** ATTENTION *************************
For the change to take effect the system must be rebooted
# shutdown -Fr
lsdev -H -F “name class subclass type” | grep -e ^name -e hdisk
chdef -a queue_depth=32 -c disk -s fcp -t mpioosdisk
chdef -a reserve_policy=no_reserve -c disk -s fcp -t mpioosdisk
chdef -a algorithm=shortest_queue -c disk -s fcp -t mpioosdisk
FOR DS8*
chdef -a queue_depth=32 -c disk -s fcp -t aixmpiods8k
chdef -a reserve_policy=no_reserve -c disk -s fcp -t aixmpiods8k
chdef -a algorithm=shortest_queue -c disk -s fcp -t aixmpiods8k