EMC PowerPath Commands



If your server has two HBA cards connected to EMC SAN storage device, you can implement load-balancing, and fail-over on the HBA cards using the EMC PowerPath software.

Powermt management utility helps you manage I/O paths from the server to the EMC storage device. In this article, let us discuss how to use powermt command with practical examples.

1. powermt display – Display High Level HBA I/O Paths

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

2. powermt display dev=all – Display All Attached LUNs

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.

3. powermt display dev=emcpowera – Display specific LUN

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.

4. powermt check_registration – Display PowerPath Registration Key / Status

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

5. powermt display options – Display EMC PowerPath Options

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

6. powermt display hba_mode – Display PowerPath HBA Mode

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

7. powermt display path – Display available I/O Paths.

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

8. powermt displays port_mode – Display Port Status

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

9. powermt version – Display EMC PowerPath Version

How to identify the version number of EMC PowerPath software?

# powermt version
EMC powermt for PowerPath (c) Version 5.3 (build 185)

10. powermt check – Check the I/O Paths

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

11. powermt set mode hba – Forcefully set the mode for a specific HBA

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.

12. powermt remove – Delete an I/O Path

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

13. powermt config – Configure PowerPath

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, BasicFailover, CLAROpt, LeastBlocks, LeastIos, NoRedirect, Request, RoundRobin, StreamIO, or SymmOpt.

After you execute the powermt config, if you don’t like any of the default values, you should change it accordingly.

# powermt config

14. powermt restore – Make Dead I/O Path Alive

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

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

15. Powermt Save and Load – Save and Restore PowerPath Configurations

powermt save – Save the current Powerpath Configuration

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


No comments :