AIX ODM for MPIO User Guide 09
This chapter provides answers to frequently asked questions (FAQs) during AIX ODM for MPIO configuration and management. You can refer to this chapter for troubleshooting if necessary.
- 7.1 What Are Known Bugs That Affect This Software and Corresponding Patches?
- 7.2 Modifying the Attributes of the fscsi Device
- 7.3 How Can I Set a Load Balancing Mode for a Disk?
- 7.4 How Can I Configuring the ReserveCheck and ReserveBreak Functions?
- 7.5 How Do I Use UltraPath for AIX to Replace AIX ODM for MPIO in SAN Boot Scenarios?
7.1 What Are Known Bugs That Affect This Software and Corresponding Patches?
Question
What are known bugs that affect this software and corresponding patches?
Answer
- Bug description:
A REBOOT MAY RESULT IN RANDOM MPIO PATHS IN A MISSING STATE
- Patch information:
5300-08 maps to patch IZ66562; 5300-09 maps to patch IZ64005; 5300-10 maps to patch IZ64011; 5300-11 maps to patch IZ65325; 5300-12 maps to patch IZ65775; 6100-01 maps to patch IZ71807; 6100-02 maps to patch IZ64000; 6100-03 maps to patch IZ63159; 6100-04 maps to patch IZ64133; 6100-05 maps to patch IZ65870; 6100-06 maps to patch IZ66023.
7.2 Modifying the Attributes of the fscsi Device
Question
How do you modify the dyntrk and fc_err_recov parameters for the fscsi device?
Answer
There are three methods to modify the dyntrk and fc_err_recov parameters of the fscsi device. Select a proper method based on actual conditions.
- Method 1
If the host can be restarted, use method 1 to modify the parameters.
-
Run the chdev -l fscsiX -a dyntrk=yes -P and chdev -l fscsiX -a fc_err_recov=fast_fail -P commands to modify the attributes of all HBAs that connect to switches.
-bash-3.00# chdev -l fscsi0 -a dyntrk=yes -P fscsi0 changed -bash-3.00# chdev -l fscsi0 -a fc_err_recov=fast_fail -P fscsi0 changed
- Restart the host to make the modification take effect.
-
- Method 2
If the fscsi device connected to Huawei storage has no virtual disks or has virtual disks that can be deleted, use method 2. If it has virtual disks that cannot be deleted or may not be deleted, use method 3 instead.
- Run the rmdev -l fscsiX -R command to set the states of all fscsi devices connected to Huawei storage to defined.
-bash-3.00# rmdev -l fscsi0 -R fscsi0 Defined
- Run the chdev -l fscsiX -a dyntrk=yes and chdev -l fscsiX -a fc_err_recov=fast_fail commands to modify the attributes of all fscsi devices connected to Huawei storage.
-bash-3.00# chdev -l fscsi0 -a dyntrk=yes fscsi0 changed -bash-3.00# chdev -l fscsi0 -a fc_err_recov=fast_fail fscsi0 changed
- Run the cfgmgr -l fscsiX command to reconfigure all fscsi devices connected to Huawei storage.
-bash-3.00# cfgmgr -l fscsi0 -bash-3.00#
- Run the rmdev -l fscsiX -R command to set the states of all fscsi devices connected to Huawei storage to defined.
- Method 3
If the reported virtual disks of Huawei storage are connected to multiple fscsi devices, use method 3 (no virtual disks need to be deleted). If there is only one fscsi device connected to Huawei storage, use method 1 or 2.
- Run the lspath command to confirm the fscsi device in use. In the following figure, hdisk1 and hdisk2 are virtual disks of Huawei storage, which are connected to fscsi0 and fscsi1.
-bash-3.00# lspath Enabled hdisk0 scsi0 Enabled hdisk1 fscsi0 Enabled hdisk2 fscsi0 Enabled hdisk1 fscsi0 Enabled hdisk2 fscsi0 Enabled hdisk1 fscsi1 Enabled hdisk2 fscsi1 Enabled hdisk1 fscsi1 Enabled hdisk2 fscsi1
NOTE:The previous screen message indicates that hdisk1 and hdisk2 are virtual disks of Huawei storage, and they are connected to fscsi0 and fscsi1. - Run the rmdev -l fscsi0 -R command to set the state of fscsi0 to defined.
-bash-3.00# rmdev -l fscsi0 -R fscsi0 Defined
- Run the chdev -l fscsi0 -a dyntrk=yes and chdev -l fscsi0 -a fc_err_recov=fast_fail commands to modify the attributes of fscsi0.
-bash-3.00# chdev -l fscsi0 -a dyntrk=yes fscsi0 changed -bash-3.00# chdev -l fscsi0 -a fc_err_recov=fast_fail fscsi0 changed
- Run the cfgmgr -l fscsi0 command to reconfigure fscsi0.
-bash-3.00# cfgmgr -l fscsi0 -bash-3.00#
- Run the lspath command to ensure that all disk paths are normal.
-bash-3.00# lspath Enabled hdisk0 scsi0 Enabled hdisk1 fscsi0 Enabled hdisk2 fscsi0 Enabled hdisk1 fscsi0 Enabled hdisk2 fscsi0 Enabled hdisk1 fscsi1 Enabled hdisk2 fscsi1 Enabled hdisk1 fscsi1 Enabled hdisk2 fscsi1
- Run the rmdev -l fscsi1 -R command to set the state of fscsi1 to defined.
-bash-3.00# rmdev -l fscsi1 -R fscsi1 Defined
- Run the chdev -l fscsi1 -a dyntrk=yes and chdev -l fscsi1 -a fc_err_recov=fast_fail commands to modify the attributes of fscsi1.
-bash-3.00# chdev -l fscsi1 -a dyntrk=yes fscsi1 changed -bash-3.00# chdev -l fscsi1 -a fc_err_recov=fast_fail fscsi1 changed
- Run the cfgmgr -l fscsi1 command to reconfigure fscsi1.
-bash-3.00# cfgmgr -l fscsi1 -bash-3.00#
- Run the lspath command to ensure that all disk paths are normal.
-bash-3.00# lspath Enabled hdisk0 scsi0 Enabled hdisk1 fscsi0 Enabled hdisk2 fscsi0 Enabled hdisk1 fscsi0 Enabled hdisk2 fscsi0 Enabled hdisk1 fscsi1 Enabled hdisk2 fscsi1 Enabled hdisk1 fscsi1 Enabled hdisk2 fscsi1
- Run the lspath command to confirm the fscsi device in use. In the following figure, hdisk1 and hdisk2 are virtual disks of Huawei storage, which are connected to fscsi0 and fscsi1.
7.3 How Can I Set a Load Balancing Mode for a Disk?
Question
How can I set a load balancing mode for a disk?
Answer
- The fail_over mode is an optimal path mode. You can set different priorities for paths. Application servers select the path with the highest priority to deliver I/Os.
NOTE:
- The path priority depends on the value of the priority parameter. A smaller value of the priority parameter indicates a higher priority. The value of the priority parameter ranges from 1 to 255. If the value of the priority parameter is set to 1, the path priority is the highest. If the value of the priority parameter is set to 255, the path priority is the lowest.
- By default, the value of the priority parameter is 1.
- For the round_robin mode, when an application server delivers I/Os to a storage system for the first time, the I/Os are transferred through path 1. When the I/Os are delivered for the secondary time, path 2 is used. The paths that will be used are deduced by analogy. Paths are used in turn to ensure that each path is fully utilized.
- For the shortest_queue mode, when an application server delivers I/Os to a storage system, the I/Os are transferred through a path that currently has the fewest I/Os. If the transfer speed of a path is slow, the other paths whose transfer speed is quick can be fully utilized.
NOTE:
This mode can only be set in some operating systems that adopt the latest technologies. For details, see the official website of IBM.
- Query the disk properties.
Run the lsattr -El hdiskx command to query the disk properties (hdisk1 as an example). The value of the algorithm field indicates the path selection algorithm. The default value is fail_over.
-bash-3.00# lsattr -El hdisk1 PCM PCM/friend/MPIOpcm Path Control Module False PR_key_value none Persistant Reserve Key Value True algorithm fail_over Algorithm True clr_q no Device CLEARS its Queue on error True dist_err_pcnt 0 Distributed Error Percentage True dist_tw_width 50 Distributed Error Sample Time True hcheck_cmd test_unit_rdy Health Check Command True hcheck_interval 30 Health Check Interval True hcheck_mode nonactive Health Check Mode True location Location Label True lun_id 0x1000000000000 Logical Unit Number ID False lun_reset_spt yes LUN Level Reset True max_transfer 0x40000 Maximum TRANSFER Size True node_name 0x21000022a1073fdd FC Node Name False pvid 00007e1d562bd42d0000000000000000 Physical volume identifier False q_err yes Use QERR bit True q_type simple Queuing TYPE True queue_depth 32 Queue DEPTH True reassign_to 120 REASSIGN time out value True reserve_policy no_reserve Reserve Policy True rw_timeout 30 READ/WRITE time out value True scsi_id 0x10400 SCSI ID False start_timeout 60 START unit time out value True ww_name 0x20190022a1073fdd FC World Wide Name False
- Set a load balancing mode for the disk.
- Run the chdev -l hdisk1 -a algorithm=round_robin command to set the load balancing mode of the disk to round_robin.
- Run the chdev -l hdisk1 -a algorithm=fail_over command to set the load balancing mode of the disk to fail_over.
- Run the chdev -l hdisk1 -a algorithm=shortest_queue command to set the load balancing mode of the disk to shortest_queue.
- Optional: If the load balancing mode is fail_over, set path priorities.
- Query path priorities.
- Run the lspath -F"name:parent:connection:path_id:status" command to query path priorities. The command output is as follows:
-bash-3.00# lspath -F"name:parent:connection:path_id:status" hdisk0:scsi1:8,0:0:Enabled hdisk1:fscsi0:20080022a10bb2d5,1000000000000:0:Enabled hdisk2:fscsi0:20080022a10bb2d5,2000000000000:0:Enabled hdisk3:fscsi0:20080022a10bb2d5,3000000000000:0:Enabled hdisk4:fscsi0:20080022a10bb2d5,4000000000000:0:Enabled hdisk5:fscsi0:20080022a10bb2d5,5000000000000:0:Enabled hdisk6:fscsi0:20080022a10bb2d5,6000000000000:0:Enabled hdisk7:fscsi0:20080022a10bb2d5,7000000000000:0:Enabled hdisk8:fscsi0:20080022a10bb2d5,8000000000000:0:Enabled hdisk1:fscsi0:20090022a10bb2d5,1000000000000:1:Enabled hdisk2:fscsi0:20090022a10bb2d5,2000000000000:1:Enabled hdisk3:fscsi0:20090022a10bb2d5,3000000000000:1:Enabled hdisk4:fscsi0:20090022a10bb2d5,4000000000000:1:Enabled hdisk5:fscsi0:20090022a10bb2d5,5000000000000:1:Enabled hdisk6:fscsi0:20090022a10bb2d5,6000000000000:1:Enabled hdisk7:fscsi0:20090022a10bb2d5,7000000000000:1:Enabled hdisk8:fscsi0:20090022a10bb2d5,8000000000000:1:Enabled hdisk1:fscsi0:20180022a10bb2d5,1000000000000:2:Enabled hdisk2:fscsi0:20180022a10bb2d5,2000000000000:2:Enabled hdisk3:fscsi0:20180022a10bb2d5,3000000000000:2:Enabled hdisk4:fscsi0:20180022a10bb2d5,4000000000000:2:Enabled hdisk5:fscsi0:20180022a10bb2d5,5000000000000:2:Enabled hdisk6:fscsi0:20180022a10bb2d5,6000000000000:2:Enabled hdisk7:fscsi0:20180022a10bb2d5,7000000000000:2:Enabled hdisk8:fscsi0:20180022a10bb2d5,8000000000000:2:Enabled hdisk1:fscsi0:20190022a10bb2d5,1000000000000:3:Enabled hdisk2:fscsi0:20190022a10bb2d5,2000000000000:3:Enabled hdisk3:fscsi0:20190022a10bb2d5,3000000000000:3:Enabled hdisk4:fscsi0:20190022a10bb2d5,4000000000000:3:Enabled hdisk5:fscsi0:20190022a10bb2d5,5000000000000:3:Enabled hdisk6:fscsi0:20190022a10bb2d5,6000000000000:3:Enabled hdisk7:fscsi0:20190022a10bb2d5,7000000000000:3:Enabled hdisk8:fscsi0:20190022a10bb2d5,8000000000000:3:Enabled
- Run the lspath -l hdiskx -a priority -F value -p fscsix -w connection command to check the priority of a specified path.
-bash-3.00# lspath -l hdisk1 -a priority -F value -p fscsi0 -w 20080022a10bb2d5,1000000000000 1
- Run the lspath -F"name:parent:connection:path_id:status" command to query path priorities. The command output is as follows:
- Set path priorities.
Run the chpath -l hdiskx -a priority=x -p fscsi0 -w connection command to modify the priority of a specified path. The priority value ranges from 1 to 255 and 1 indicates the highest priority.
-bash-3.00# chpath -l hdisk1 -a priority=255 -p fscsi0 -w 20080022a10bb2d5,1000000000000 path Changed -bash-3.00# lspath -l hdisk1 -a priority -F value -p fscsi0 -w 20080022a10bb2d5,1000000000000 255
- Query path priorities.
7.4 How Can I Configuring the ReserveCheck and ReserveBreak Functions?
Question
How can I configuring the ReserveCheck and ReserveBreak functions?
Answer
The odmget -q name = xxxx CuDv and smit hacmp commands are used to configure the ReserveCheck and ReserveBreak functions. The name indicates device name. If one node fails, another node automatically invokes ReserveCheck and ReserveBreak to take over the resources on the failed node.
Before configuring these functions, ensure that the HACMP software has been installed.
Perform the following steps to configure the ReserveCheck and ReserveBreak functions:
- Run odmget -q name = xxxx CuDv to obtain the disk type.
- Run smit hacmp.
- On the HACMP for AIX configuration page, choose .
- On the following output, enter the disk type in New Disk Type.
[Entry Fields] * New Disk Type [] * Method to identify ghost disks [SCSI3] + * Method to determine if a reserve is held [/usr/sbin/ ReserveCheck] + * Method to break a reserve [/usr/sbin/ ReserveBreak] + Break reserves in parallel false + * Method to make the disk available [MKDEV]
- Press Enter to finish configuring the ReserveCheck and ReserveBreak functions.
For example, configure the ReserveCheck and ReserveBreak functions for hdisk2 (the disk type is disk/fcp/HWS5300).
# odmget -q 'name = hdisk2' CuDv CuDv: name = "hdisk2" status = 1 chgstatus = 0 ddins = "scsidisk" location = "1D-08-02" parent = "fscsi1" connwhere = "W_0" PdDvLn = "disk/fcp/HWS5300" # smit hacmp [Entry Fields] * New Disk Type [disk/fcp/HWS5300] * Method to identify ghost disks [SCSI3]+ * Method to determine if a reserve is held [/usr/sbin/ReserveCheck] + * Method to break a reserve [/usr/sbin/ReserveBreak] + Break reserves in parallel false + * Method to make the disk available [MKDEV]
7.5 How Do I Use UltraPath for AIX to Replace AIX ODM for MPIO in SAN Boot Scenarios?
Question
How do I use UltraPath for AIX to replace AIX ODM for MPIO in SAN boot scenarios?
Answer
- Uninstall AIX ODM for MPIO following 5 Uninstalling AIX ODM for MPIO and restart the AIX system.
- After the AIX system is started, run bootlist -m normal -o hdiskXX to set the boot list and run shutdown -Fr to restart the AIX system. You can run lslv -m hd5 to query hdiskXX. For example,
bash-3.00# lslv -m hd5 hd5:N/A LP PP1 PV1 PP2 PV2 PP3 PV3 0001 0001 hdisk9 bash-3.00# bootlist -m normal -o hdisk9 hdisk9 blv=hd5 bash-3.00# bash-3.00# shutdown -Fr SHUTDOWN PROGRAM Tue Apr 11 11:48:02 CDT 2017
- After the AIX system is started, run lsdev -Cc disk to check the residual defined and N/A disks. For example:
bash-3.00# lsdev -Cc disk lsdev: 0514-521 Cannot find information in the predefined device configuration database for the customized device hdisk8. hdisk0 Available Virtual SCSI Disk Drive hdisk1 Available C4-T1-01 Other FC SCSI Disk Drive hdisk2 Available C4-T1-01 Other FC SCSI Disk Drive hdisk3 Available C4-T1-01 Other FC SCSI Disk Drive hdisk4 Available C4-T1-01 Other FC SCSI Disk Drive hdisk5 Available C4-T1-01 Other FC SCSI Disk Drive hdisk6 Available C4-T1-01 Other FC SCSI Disk Drive hdisk7 Available C4-T1-01 Other FC SCSI Disk Drive hdisk8 Defined C4-T1-01 N/A hdisk9 Available C4-T1-01 Other FC SCSI Disk Drive
hdisk8 is the residual disk information.
- Delete the residual disk information and run the following commands for the disk:
odmdelete -o CuDv -q name=hdiskX odmdelete -o CuAt -q name=hdiskX odmdelete -o CuPath -q name=hdiskX odmdelete -o CuPathAt -q name=hdiskX odmdelete -o CuVPD -q name=hdiskX odmdelete -o CuDvDr -q value3=hdiskX
Run bosboot -a to update the boot image. For example:
bash-3.00# odmdelete -o CuDv -q name=hdisk8 0518-307 odmdelete: 1 objects deleted. bash-3.00# odmdelete -o CuAt -q name=hdisk8 0518-307 odmdelete: 6 objects deleted. bash-3.00# odmdelete -o CuPath -q name=hdisk8 0518-307 odmdelete: 2 objects deleted. bash-3.00# odmdelete -o CuPathAt -q name=hdisk8 0518-307 odmdelete: 4 objects deleted. bash-3.00# odmdelete -o CuVPD -q name=hdisk8 0518-307 odmdelete: 1 objects deleted. bash-3.00# odmdelete -o CuDvDr -q value3=hdisk8 0518-307 odmdelete: 1 objects deleted. bash-3.00# bosboot -a bosboot: Boot image is 53276 512 byte blocks.
- Run sh install.sh to install UltraPath. Restart the AIX system after the installation.
- If the AIX system fails to be started, go to the single user mode and run lsdev -Cc disk to check whether a defined disk exists. Run rmdev -dl hdiskXX to remove the defined disk. Execute bootlist -m normal -o hdiskXX to specify a boot device and run bosboot -a. Restart the AIX system.
For details about how to go to the single user mode, refer to http://www-01.ibm.com/support/docview.wss?uid=isg3T1011796.
http://support.huawei.com/enterprise/en/doc/EDOC1000087221?currentPartNo=j00a&togo=content