Storage, SAN, Linux: EMC PowerPath Configuration On Cisco UCS
The following is a walk through of installing EMC PowerPath software on RedHat based Linux hosts (CentOS/Fedora). This is required to fully utilize multiple paths to EMC SANs. The test server used here is a Cisco UCS B250-M1 blade running FCOE over 10gb Ethernet. The configuration steps work for ISCSI, Fiber Channel, and FCOE connectivity to Clariion systems.
First, copy the RPM installation package over to the server. Below shows the package to be installed.
[root@test_server01 user01]# ll total 7036 -rw-r--r-- 1 user01 user01 7191661 Apr 27 09:24 EMCpower.LINUX-5.3.1.00.00-111.rhel5.x86_64.rpm
Install the package via “rpm -i”.
[root@test_server01 user01]# rpm -i EMCpower.LINUX-5.3.1.00.00-111.rhel5.x86_64.rpm All trademarks used herein are the property of their respective owners. NOTE:License registration is not required to manage the CLARiiON AX series array.
Before powerpath can be used, a license key must be installed.
[root@test_server01 user01]# emcpreg -list unable to open license key file: No such file or directory
Overview of the “emcpreg -add” syntax.
[root@test_server01 user01]# emcpreg -add
Missing option parameter.
Usage:
emcpreg [opts] -add key [key ...]
emcpreg [opts] -remove key [key ...]
emcpreg [opts] -check key [key ...]
emcpreg [opts] -list
emcpreg [opts] -edit
emcpreg [opts] -install
Options:
-f file license file
Now we add the license key to powerpath. The following key is fake! You must obtain yours from EMC.
[root@test_server01 user01]# emcpreg -add AGE4-DFD3-89842-DSAF-JIJ0-WKG50 1 key(s) successfully added. Make sure the license was installed correctly. [root@test_server01 user01]# emcpreg -list Key AGE4-DFD3-89842-DSAF-JIJ0-WKG50 Product: PowerPath Capabilities: All [root@test_server01 user01]#
Next, start the Power Path service.
[root@test_server01 user01]# /etc/init.d/PowerPath start Starting PowerPath: done
Display the current paths to storage via “powermt”. Since this server is booting from SAN and just being installed, there is currently only one path to storage.
[root@test_server01 ~]# powermt display dev=all Pseudo name=emcpowera CLARiiON ID=AXE00515480482 [test_server01_ucs] Logical device ID=15618646804648SDSDFW84FW4894949 [test_server01_ucs_boot] state=alive; policy=CLAROpt; priority=0; queued-IOs=0 Owner: default=Unknown, current=SP A Array failover mode: 1 ============================================================================== ---------------- Host --------------- - Stor - -- I/O Path - -- Stats --- ### HW Path I/O Paths Interf. Mode State Q-IOs Errors ============================================================================== 0 fnic sda SP A0 active alive 0 0
Now that powerpath is installed, we need to edit fstab to boot off of the Power Path device.
Origional fstab using labels for “/boot”.
/dev/lvm/root / ext3 defaults 1 1 /dev/lvm/usr /usr ext3 defaults 1 2 /dev/lvm/app /app ext3 defaults 1 2 /dev/lvm/home /home ext3 defaults 1 2 /dev/lvm/var /var ext3 defaults 1 2 /dev/lvm/vartmp /var/tmp ext3 defaults 1 2 /dev/lvm/UsrLocal /usr/local ext3 defaults 1 2 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 LABEL=SWAP-sda3 swap swap defaults 0 0
Below is the edited fstab with “LABEL=/boot” commented out and /boot changed to use “/dev/emcpowera1″
[root@test_server01 ~]# vi /etc/fstab /dev/lvm/root / ext3 defaults 1 1 /dev/lvm/usr /usr ext3 defaults 1 2 /dev/lvm/app /app ext3 defaults 1 2 /dev/lvm/home /home ext3 defaults 1 2 /dev/lvm/var /var ext3 defaults 1 2 /dev/lvm/vartmp /var/tmp ext3 defaults 1 2 /dev/lvm/UsrLocal /usr/local ext3 defaults 1 2 /dev/emcpowera1 /boot ext3 defaults 0 0 #LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 LABEL=SWAP-sda3 swap swap defaults 0 0
Filesystem options were changed to “0 0″ on emcpowera due to RedHat trying to do filesystem scans before the Power Path driver is started.
All paths now need to be zoned in the fiber switch, initiators registered in Navisphere, and paths added to the host in it’s storage group. This will not be covered here.
After zoning both paths on one switch, “powermt” now shows a path to both Clariion SPA and SPB. If not, try either stopping and restartaring “/etc/init.d/PowerPath” or restarting the server.
[root@test_server01 ~]# powermt display dev=all Pseudo name=emcpowera CLARiiON ID=AXE00515480482 [test_server01_ucs] Logical device ID=15618646804648SDSDFW84FW4894949 [test_server01_ucs_boot] state=alive; policy=CLAROpt; priority=0; queued-IOs=0 Owner: default=SP B, current=SP A Array failover mode: 1 ============================================================================== ---------------- Host --------------- - Stor - -- I/O Path - -- Stats --- ### HW Path I/O Paths Interf. Mode State Q-IOs Errors ============================================================================== 0 fnic sdc SP B1 active alive 0 0 0 fnic sdd SP A0 active alive 0 0
Configuration has now been completed on fiber switch 2 and both SPA and SPB in the Clariion. Reboot the server. Again, “powermt” is used to list the paths.
[root@test_server01 ~]# powermt display dev=all Pseudo name=emcpowera CLARiiON ID=AXE00515480482 [test_server01_ucs] Logical device ID=15618646804648SDSDFW84FW4894949 [test_server01_ucs_boot] 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 ============================================================================== 0 fnic sdc SP B1 active alive 0 0 0 fnic sdd SP A0 active alive 0 0 1 fnic sde SP B0 active alive 0 0 1 fnic sdf SP A1 active alive 0 0
From above, you can see that we now have 4 paths definied. Both fnic interfaces can see SPA and SPB. Each fnic is attached to a seperage fiber switch, so we have redundant paths to both Clariion heads (SP’s). Once rebooted, the server should load fine with no issues and see all paths via powermt.
Notes: “/boot” is the storage label used in this example. If your mount point is different, modify it’s entry instead. “/dev/emcpowera1″ is used since there is only one LUN mapped to this host. Like anything else, if there are more than one, each would have it’s own device.

Thanks for howto
combucho said this on August 30, 2010 at 8:02 am
Thanks for the details, we have boot from san environment in UCS.
We are using RHEL 5.5 & it is causing OS corruption like root becoming read-only filesystem.
Did you face same kind of issue with these servers ?
For linux nic bonding also we were unable to resolve, are you having nic bonding in your environment.
If yes, can you provide me the steps as in our configuration it is always failing to configure the eth0
card to become slave.
“bonding :unable to remove non-existent slave eth0 for bond bond0.”
Thanks in Advance.
Regards
Sourav
sourav said this on September 7, 2010 at 5:33 am
Our boot from SAN RedHat 5.5 is working fine. Did you have both paths to storage zoned when you did the install? If so, that could cause some of your problems. We zone one path to storage first, install RedHat, add extra paths in, and then configure multipathing. Our Ethernet interfaces are not bonded in UCS on our RedHat servers. The backend fabrics are redundant and auto-failover
Kevin Goodman said this on September 7, 2010 at 9:19 am
Thanks Kevin, yes now we could successfully install the RHEL 5.5 after configuring the boot path first & then the rest.
One more quick query as for our other vendor servers like Dell, we use emulex hba card & lputil for detecting the new luns after scanning the hbas, is there any native Linux commands for device tree to be rebuild for detecting the new luns when the server is up & running.
Like we use devfsadm -Cv in solaris 10 for detecting any new devices & building the device tree.
As UCS is using virtual hba we need to rely on native Linux commands , i tried with echo the device file but it failed. So i have reboot the boxes everytime new data disks are being added.
It will be much appreciated if you can throw some light on this.
Thanks in Advance.
Regards
Sourav
Sourav said this on September 7, 2010 at 8:23 pm
Nope, no native linux commands. I will check with another engineer here, but from what I remember we do the echo of device file. That works for us sometimes, but in most situations we wind up having to reboot.
Kevin Goodman said this on September 9, 2010 at 8:59 am