ODM definitions can be downloaded from ftp://ftp.emc.com/pub/elab/aix/ODM_DEFINITIONS/
Software Used: * Virtual I/O v1.3.0.1-FP-8.1 * EMC Navisphere Agent / Client v6.24 * EMC ODM Filesets v5.3.0.0 * EMC PowerPath Filesets v5.0.0.0 The following steps will allow you to change the reserve_lock setting on the VIO Server: 1. Let's see the current setting. $ oem_seup_env (to leave the restricted shell) # lsattr -El hdiskpower2 cgname Consistency Group Name True clr_q no Clear Queue (RS/6000) True location Location True lun_id 0x2000000000000 LUN ID False lun_reset_spt yes FC Forced Open LUN True max_coalesce 0x100000 Maximum coalesce size True max_transfer 0x100000 Maximum transfer size True pvid none Physical volume identifier False pvid_takeover yes Takeover PVIDs from hdisks True q_err yes Use QERR bit True q_type simple Queue TYPE False queue_depth 32 Queue DEPTH True reassign_to 120 REASSIGN time out value True reserve_lock yes Reserve device on open True rw_timeout 30 READ/WRITE time out True scsi_id 0x21000 SCSI ID False start_timeout 60 START unit time out True ww_name 0x5006016830603e48 World Wide Name False 2. Let's try and change the setting with an LPAR running. # chdev -l hdiskpower0 -a reserve_lock=no Method error (/etc/methods/chgpowerdisk): 0514-062 Cannot perform the requested function because the specified device is busy. 3. The error in step 2 makes sense because we have mapped the physical device to a virtual device. $ lsmap -vadapter vhost3 SVSA Physloc Client Partition ID --------------- -------------------------------------------- ------------------ vhost3 U9131.52A.063448G-V1-C22 0x00000002 VTD vhdiskpower2 LUN 0x8100000000000000 Backing device hdiskpower2 Physloc U787F.001.DPM1545-P1-C5-T1-L8 4. Shutdown the LPAR that is using the device in step 3. 5. Remove the virtual adapter and its mapping. # exit (to return to the restricted shell) $ rmdev -dev vhost3 -recursive vhdiskpower2 deleted vhost3 deleted 6. Change the reserve_lock setting. # chdev -l hdiskpower2 -a reserve_lock=no hdiskpower2 changed 7. Let's make sure the setting changed. $ oem_seup_env (to leave the restricted shell) # lsattr -El hdiskpower2 cgname Consistency Group Name True clr_q no Clear Queue (RS/6000) True location Location True lun_id 0x2000000000000 LUN ID False lun_reset_spt yes FC Forced Open LUN True max_coalesce 0x100000 Maximum coalesce size True max_transfer 0x100000 Maximum transfer size True pvid none Physical volume identifier False pvid_takeover yes Takeover PVIDs from hdisks True q_err yes Use QERR bit True q_type simple Queue TYPE False queue_depth 32 Queue DEPTH True reassign_to 120 REASSIGN time out value True reserve_lock no Reserve device on open True rw_timeout 30 READ/WRITE time out True scsi_id 0x21000 SCSI ID False start_timeout 60 START unit time out True ww_name 0x5006016830603e48 World Wide Name False 8. Now that we have verified the changes, we need to re-create our virtual device. # exit (to return to the restricted shell) $ cfgdev (to bring back vhost3) $ mkvdev -vdev hdiskpower2 -vadapter vhost3 -dev vhdiskpower2 vhdiskpower2 Available $ lsmap -vadapter vhost3 SVSA Physloc Client Partition ID --------------- -------------------------------------------- ------------------ vhost3 U9131.52A.063448G-V1-C22 0x00000002 VTD vhdiskpower2 LUN 0x8100000000000000 Backing device hdiskpower2 Physloc U787F.001.DPM1545-P1-C5-T1-L8 9. You can now activate the LPAR that was using this device.
powermt display command (without any arguments), displays the available HBAs and their current status. The following examples, shows that there are 2 HBAs connected to the server, both the HBAs are in active condition with 2 I/O path’s each. qla2xxx indicates that it is using the Q-Logic HBA card.
This also indicates that the connected EMC device is CLARiiON, as it displays a value for “CLARiiON logical device count” as 1.
# powermt display Symmetrix logical device count=0 CLARiiON logical device count=1 Hitachi logical device count=0 Invista logical device count=0 HP xp logical device count=0 Ess logical device count=0 HP HSx logical device count=0 =================================================== =========================== ----- Host Bus Adapters --------- ------ I/O Paths ----- ------ Stats ------ ### HW Path Summary Total Dead IO/Sec Q-IOs Errors ============================================================================== 1 qla2xxx optimal 2 0 - 0 0 2 qla2xxx optimal 2 0 - 0 0
This is the most frequently used powermt command, which will display all the attached logical devices to the server.
# powermt display dev=all Pseudo name=emcpowera CLARiiON ID=AAA00000000000 [dev-server] Logical device ID=1111111111111111111 [LUN 1] state=alive; policy=CLAROpt; priority=0; queued-IOs=0 Owner: default=SP B, current=SP B Array failover mode: 1 ============================================================================== ---------------- Host --------------- - Stor - -- I/O Path - -- Stats --- ### HW Path I/O Paths Interf. Mode State Q-IOs Errors ============================================================================== 1 qla2xxx sdd SP A4 active alive 0 0 1 qla2xxx sde SP B4 active alive 0 0 2 qla2xxx sdf SP A5 active alive 0 0 2 qla2xxx sdg SP B5 active alive 0 0 Pseudo name=emcpowerb CLARiiON ID=AAA00000000000 [dev-server] Logical device ID=2111111111111111111 [LUN 2] state=alive; policy=CLAROpt; priority=0; queued-IOs=0 Owner: default=SP A, current=SP A Array failover mode: 1 ============================================================================== ---------------- Host --------------- - Stor - -- I/O Path - -- Stats --- ### HW Path I/O Paths Interf. Mode State Q-IOs Errors ============================================================================== 1 qla2xxx sdh SP A4 active alive 0 0 1 qla2xxx sdi SP B4 active alive 0 0 2 qla2xxx sdj SP A5 active alive 0 0 2 qla2xxx sdk SP B5 active alive 0 0
The above indicates that there are two LUNs attached to the dev-server with 4 I/O paths from the server to the SAN storage device.
The above command output indicates the following:
Pseudo name=emcpowera – The device name that can be used by the server. For example, /dev/emcpowera CLARiiON ID=AAA00000000000 [dev-server] - EMC CLARiiON CX3 serial number and the server name Logical device ID=11111111 [LUN 1] – LUN number. For example, LUN 1 state=alive; policy=CLAROpt; – This displays that this particular LUN is valid and using the CLAROpt policy Owner: default=SP B, current=SP B – This indicates that the default (and current) owner for this LUN is storage processor SP B.
When there are multiple LUNs connected to a server, you might want to view information about a specific LUN by providing the logical name of the LUN as shown below
# powermt display dev=emcpowera Pseudo name=emcpowera CLARiiON ID=AAA00000000000 [dev-server] Logical device ID=1111111111111111111 [LUN 1] state=alive; policy=CLAROpt; priority=0; queued-IOs=0 Owner: default=SP B, current=SP B Array failover mode: 1 ============================================================================== ---------------- Host --------------- - Stor - -- I/O Path - -- Stats --- ### HW Path I/O Paths Interf. Mode State Q-IOs Errors ============================================================================== 1 qla2xxx sdd SP A4 active alive 0 0 1 qla2xxx sde SP B4 active alive 0 0 2 qla2xxx sdf SP A5 active alive 0 0 2 qla2xxx sdg SP B5 active alive 0 0
If the device is not available, you’ll get a “Bad dev value” as shown below.
# powermt display dev=emcpowerc Bad dev value emcpowerc, or not under Powerpath control.
If you’ve lost the PowerPath registration key that you’ve used during the EMC PowerPath installation, you can retrieve it using the following command.
# powermt check_registration Key AAAA-BBBB-CCCC-DDDD-EEEE-FFFF Product: PowerPath Capabilities: All
Displays the high level EMC SAN array options as shown below.
# powermt display options Default storage system class: all Show CLARiiON LUN names: true Path Latency Monitor: Off Path Latency Threshold: 0 Sec. Storage System Class Attributes ------------ ---------- Symmetrix periodic autorestore = on status = managed CLARiiON periodic autorestore = on status = managed Hitachi periodic autorestore = on status = managed Invista periodic autorestore = on status = managed HP xp periodic autorestore = on status = managed Ess periodic autorestore = on status = managed HP HSx periodic autorestore = on status = managed
This is similar to #1, but displays whether hba is enabled or not, as shown in the last column of the output.
# powermt display hba_mode Symmetrix logical device count=0 CLARiiON logical device count=1 Hitachi logical device count=0 Invista logical device count=0 HP xp logical device count=0 Ess logical device count=0 HP HSx logical device count=0 ============================================================================== ----- Host Bus Adapters --------- ------ I/O Paths ----- Stats ### HW Path Summary Total Dead Q-IOs Mode ============================================================================== 1 qla2xxx optimal 2 0 0 Enabled 2 qla2xxx optimal 2 0 0 Enabled
This displays all available path for your SAN device
# powermt display paths Symmetrix logical device count=0 ============================================================================== ----- Host Bus Adapters --------- ------ Storage System ----- - I/O Paths - ### HW Path ID Interface Total Dead ============================================================================== CLARiiON logical device count=1 ============================================================================== ----- Host Bus Adapters --------- ------ Storage System ----- - I/O Paths - ### HW Path ID Interface Total Dead ============================================================================== 1 qla2xxx AAA00000000000 SP A4 1 0 1 qla2xxx AAA00000000000 SP B4 1 0 2 qla2xxx AAA00000000000 SP A5 1 0 2 qla2xxx AAA00000000000 SP B5 1 0 Hitachi logical device count=0 ============================================================================== ----- Host Bus Adapters --------- ------ Storage System ----- - I/O Paths - ### HW Path ID Interface Total Dead ============================================================================== Invista logical device count=0 ============================================================================== ----- Host Bus Adapters --------- ------ Storage System ----- - I/O Paths - ### HW Path ID Interface Total Dead ============================================================================== HP xp logical device count=0 ============================================================================== ----- Host Bus Adapters --------- ------ Storage System ----- - I/O Paths - ### HW Path ID Interface Total Dead ============================================================================== Ess logical device count=0 ============================================================================== ----- Host Bus Adapters --------- ------ Storage System ----- - I/O Paths - ### HW Path ID Interface Total Dead ============================================================================== HP HSx logical device count=0 ============================================================================== ----- Host Bus Adapters --------- ------ Storage System ----- - I/O Paths - ### HW Path ID Interface Total Dead ==============================================================================
Displays the status of the individual ports on the HBA. i.e Whether the port is enabled or not.
# powermt display port_mode Storage class = Symmetrix ============================================================================== ----------- Storage System --------------- -- I/O Paths -- --- Stats --- ID Interface Wt_Q Total Dead Q-IOs Mode ============================================================================== Storage class = CLARiiON ============================================================================== ----------- Storage System --------------- -- I/O Paths -- --- Stats --- ID Interface Wt_Q Total Dead Q-IOs Mode ============================================================================== AAA00000000000 SP A4 256 1 0 0 Enabled AAA00000000000 SP B4 256 1 0 0 Enabled AAA00000000000 SP A5 256 1 0 0 Enabled AAA00000000000 SP B5 256 1 0 0 Enabled
How to identify the version number of EMC PowerPath software?
# powermt version EMC powermt for PowerPath (c) Version 5.3 (build 185)
If you have made changes to the HBA’s, or I/O paths, just execute powermt check, to take appropriate action.
For example, if you have manually removed an I/O path, check command will detect a dead path and remove it from the EMC path list.
# powermt check Warning: storage_system I/O path path_name is dead . Do you want to remove it (y/n/a/q)?
Note: If you want powermt to automatically remove all dead paths, without any confirmation, execute “powermt check force”.
You can change the mode of a specific HBA to either standby or active using this command. Following example, changes HBA #1′s mode from active to standby.
# powermt set mode=standby hba=1
After the above command, you can see the mode for HBA#1 changed to standby, as shown below.
# powermt display dev=all Pseudo name=emcpowera CLARiiON ID=AAA00000000000 [dev-server] Logical device ID=1111111111111111111 [LUN 1] state=alive; policy=CLAROpt; priority=0; queued-IOs=0 Owner: default=SP B, current=SP B Array failover mode: 1 ============================================================================== ---------------- Host --------------- - Stor - -- I/O Path - -- Stats --- ### HW Path I/O Paths Interf. Mode State Q-IOs Errors ============================================================================== 1 qla2xxx sdd SP A4 standby alive 0 0 1 qla2xxx sde SP B4 standby alive 0 0 2 qla2xxx sdf SP A5 active alive 0 0 2 qla2xxx sdg SP B5 active alive 0 0
Note: Path mode can also be “unlic” indicating that you’ve not registered the PowerPath with proper License key.
Note: Some powermt commands (for example, powermt set port_disable), is restricted to certain platform and storage type — On AIX and Solaris, only Fibre channel is supported. On HP-UX, only iSCSI and Fibre are supported. On Linux, Only iSCSI (HBAs) and Fibre are supported
Use this command to remove any specific I/O path (or) a whole device.
The following example has 4 I/O Paths.
# powermt display dev=all ============================================================================== ---------------- Host --------------- - Stor - -- I/O Path - -- Stats --- ### HW Path I/O Paths Interf. Mode State Q-IOs Errors ============================================================================== 1 qla2xxx sdd SP A4 standby alive 0 0 1 qla2xxx sde SP B4 standby alive 0 0 2 qla2xxx sdf SP A5 active alive 0 0 2 qla2xxx sdg SP B5 active alive 0 0
To remove I/O Path sdd, execute the following powermt remove command.
# powermt remove dev=sdd # powermt display dev=all ============================================================================== ---------------- Host --------------- - Stor - -- I/O Path - -- Stats --- ### HW Path I/O Paths Interf. Mode State Q-IOs Errors ============================================================================== 1 qla2xxx sde SP B4 standby alive 0 0 2 qla2xxx sdf SP A5 active alive 0 0 2 qla2xxx sdg SP B5 active alive 0 0
Following will remove all I/O Path for a particular device. i.e To remove /dev/emcpowera, do the following. If the /dev/emcpowera is mounted and used by some program, following command will not work.
# powermt remove dev=emcpowera
This command checks for available EMC SAN logical devices and add those to PowerPath configuration list. Powermt config command, sets some of the options to it’s default values. For example, write throttling = off, HBA mode = active, CLARiiON policy = CLAROpt, etc. Possible EMC SAN LUN policy values are: Adaptive, BasicFail over, CLAROpt, LeastBlocks, LeastIos, NoRedirect, Request, RoundRobin, StreamIO, or SymmOpt. After you execute the powermt config, if you don’t like any of the def ault values, you should change it accordingly.
# powermt config
If you have dead I/O paths, and if you’ve done something to fix the issue, you can request PowerPath to re-check the paths and mark it as active using powermt restore com mand. When you execute powermt restore, it does an I/O path check. If a previously dead path is alive, it will be marked as alive, and if a previously alive path is dead, it will be marked as dead.
For some reason, if you see the default owner and the current owner of a particular LUN is not the same storage processor, then execute the following command, which will make the current owner of the LUN same as thedefault owner.
# powermt restore dev=all
Instead of dev, you can also specify class in the powermt restore command. Class can be one of the following depending on your system.
symm – Symmetrix clariion - CLARiiON invista – Invista ess – IBM ESS hitachi – Hitachi Lightning TagmaStore hpxp - HP StorageWorks XP, or EVA series hphsx – HP StorageWorks EMA, or MA all – All systems
If you are changing the PowerPath configurations for testing purpose, you can save the current configuration using powermt save command. Use this method to backup the current PowerPath Configurations.
# powermt save
This will save the current powermt configuration to /etc/powermt.custom file. Following is the partial content of this file.
# cat /etc/powermt.custom global:version:5.3.0.0.0:4.1.0 path_c:sdd:sdd:qla2xxx:0x111 path_c:sde:sde:qla2xxx:0x111 adapter: 1: 1:qla2xxx:0x111:1:0:111:0:11:0 adapter: 2: 2:qla2xxx:0x111:1:0:111:0:111:0 arrPort_c:04000000:04000000:111:111 mpext_cfg:unused:Mp:0:symm:0:0 ...
If you want to store the current PowePath configuration to a different file, do the following.
# powermt save file=/etc/powermt.21-Aug-2010
powermt load – Load a previously saved EMC PowerPath Configuration
When you are testing EMC PowerPath configuration, if you are not satisfied with the new configuration, you can go back to the previous configuration. For example, to restore the configuration to a specific file that you created in the above powermt save example, do the following.
# powermt load file=/etc/powermt.21-Aug-2010