Search This Blog

Monday, 3 October 2016

Change the Pseudo Device name (emcpower) in PowerPath

DESCRIPTION : 

We have faced an issue where customer want to interchange the EMC pseudo devices i.e the device name that we see at host side after configuring Power Path (e.g. emcpower0). This document describes how to interchange these device names.

REQUIREMENTS:

After configuring the Power path, the LUNs automatically assigns the Device Names at the host side. Here is a view what we were getting after installing Power Path:

emcpower0 LUN6 ip-address B
emcpower1 LUN4 ip-address A
emcpower2 LUN5 ip-address A
emcpower3 LUN3 ip-address B
emcpower4 LUN7 ip-address B
emcpower5 LUN1 ip-address A
emcpower6 LUN0 ip-address B
emcpower7 LUN2 ip-address B

But the customer wants the below configuration:

emcpower0 LUN0 ip-address B
emcpower1 LUN1 ip-address A
emcpower2 LUN2 ip-address B
emcpower3 LUN3 ip-address B
emcpower4 LUN4 ip-address A
emcpower5 LUN5 ip-address A
emcpower6 LUN6 ip-address B
emcpower7 LUN7 ip-address B


PROCEDURE:

Before starting with the procedure to replace the Pseudo Devices, let’s have a look at what is a Pseudo device name.

“ A pseudo device name is automatically assigned to the LUN when Powerpath is configured. We can say that the LUN is mapped with the Pseudo name at the host. While seeing the LUN, you will not see its name but will see the Pseudo name."


Pseudo name always starts with emcpower e.g. emcpower0, emcpower1 etc. Powerpath gives a number of Pseudo names.

Now, Let’s start with the procedure:

1. Make sure that the Pseudo devices are not in use.

2. To check which pseudo device name are currently in use, type following command:

bash # emcpadm getusedpseudos

it will list the pseudo devices that are currently in use.

3. We cannot directly replace the pseudo devices with one another. So we will need to first replace the used pseudo devices to free pseudo devices. To check the free pseudo devices, use following command:

bash# emcpadm getfreepseudos –n [no of instances] –b [starting instance]

In our case, there are 8 pseudo devices in use, so we need 8 free pseudo devices to first replace the used devices to empty device names. So we will execute

bash# emcpadm getfreepseudos –n 8 –b 8

4. Now we will replace the used Pseudo device name to free them.

bash# emcpadm rename –s [source] –t [target]
e.g. : I replace the emcpower0 to target emcpower8

Similarly replace the used pseudo to empty pseudo, to make them free.
After finishing this, first 8 pseudo devices will be free and next 8 will be used.

5. Now, use the “emcpadm rename“command to again replace the pseudo in the order you want. For ease, you can execute “powermt display dev=all”. Here you will see the name of the LUN and also to which pseudo they are mapped. So, it will be easy from here to map the LUNs to required Pseudo device names. E.g – if we want the LUN 4 to give pseudo emcpower4, check the current pseudo for LUN4 and replace it to emcpower4.

bash-3.00# powermt display dev=all

Pseudo name=emcpower4a[pseudo device]
CLARiiON ID=CKM00110900782 [cmd]
Logical device ID=6006016032612C000450E984AEB6E011 [LUN_NAME]
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
==============================================================================
3072 pci@0,0/pci8086,340e@7/pci111d,806e@0/pci111d,806e@4/pci1077,170@0/fp@0,0 c2t0d1s0 SP A1 active alive 0 0
3073 pci@0,0/pci8086,3410@9/pci111d,806e@0/pci111d,806e@4/pci1077,170@0/fp@0,0 c3t0d1s0 SP B1 active alive 0 0

6. After getting the required pseudo device names. Execute the below command :

#powermt config [will save/apply the new configuration]

7. Now save the configuration

#powermt save [will save the configuration]

Note :- To apply this procedure, the emcpower devices should not be in use i.e. mounted or part of VXVM, SVM etc.