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
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