System Administration & Network Administration
linux centos storage-area-network emc multipath
Updated Thu, 26 May 2022 18:59:47 GMT

EMC PowerPath or MultiPath?

We are using a SAN for our datastorage. I recently got the SAN connected to a CentOS 5.3 server by using the EMC PowerPath software along with the Navisphere Agent running on CentOS. However I have now recieved the final production server and need to set this all up again. Getting the PowerPath to work is a huge problem, and I am trying to determine what the best course of action would be.

  • Should I use the built in multipathd that is already on CentOS?
  • If I do what will probably not work?
  • Is setting up multipath any harder then setting up PowerPath?


  • The server needs to mount the SAN as a LVM volume at boot
  • The server boots off it's own internal drives, with only the software and data on the SAN
  • CentOS 5.3 is loaded and up to date
  • The server has 2 network cards connected to the SAN, Path A and B setup in failover. I did not set this up, it is done by the networks team. I am only dealing with the OS side of things

Additional Information

dmesg | grep ql

ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
io scheduler cfq registered (default)
serial8250: ttyS0 at I/O 0x3f8 (irq = 0) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 0) is a 16550A
00:05: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:06: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
ehci_hcd 0000:00:1a.7: irq 50, io mem 0xdf0ff800
ehci_hcd 0000:00:1d.7: irq 58, io mem 0xdf0ffc00
uhci_hcd 0000:00:1a.0: irq 66, io base 0x0000cc40
uhci_hcd 0000:00:1a.1: irq 74, io base 0x0000cc60
uhci_hcd 0000:00:1d.0: irq 58, io base 0x0000cc80
uhci_hcd 0000:00:1d.1: irq 82, io base 0x0000cca0
ata1: SATA max UDMA/133 cmd 0xcc10 ctl 0xcc08 bmdma 0xcc20 irq 98
ata2: SATA max UDMA/133 cmd 0xcc18 ctl 0xcc0c bmdma 0xcc28 irq 98
qla2xxx 0000:04:00.0: Found an ISP2532, irq 106, iobase 0xffffc2000000e000
qla2xxx 0000:04:00.0: Configuring PCI space...
qla2xxx 0000:04:00.0: Configure NVRAM parameters...
qla2xxx 0000:04:00.0: Verifying loaded RISC code...
qla2xxx 0000:04:00.0: Allocated (64 KB) for EFT...
qla2xxx 0000:04:00.0: Allocated (1414 KB) for firmware dump...
scsi3 : qla2xxx
qla2xxx 0000:04:00.0:
qla2xxx 0000:05:00.0: Found an ISP2532, irq 114, iobase 0xffffc20000022000
qla2xxx 0000:05:00.0: Configuring PCI space...
qla2xxx 0000:05:00.0: Configure NVRAM parameters...
qla2xxx 0000:05:00.0: Verifying loaded RISC code...
qla2xxx 0000:05:00.0: Allocated (64 KB) for EFT...
qla2xxx 0000:05:00.0: Allocated (1414 KB) for firmware dump...
scsi4 : qla2xxx
qla2xxx 0000:05:00.0:
qla2xxx 0000:04:00.0: LIP reset occured (f8f7).
qla2xxx 0000:04:00.0: LIP occured (f8f7).
qla2xxx 0000:04:00.0: LIP reset occured (f700).
qla2xxx 0000:04:00.0: LOOP UP detected (4 Gbps).
qla2xxx 0000:05:00.0: LIP reset occured (f8f7).
qla2xxx 0000:05:00.0: LIP occured (f8f7).
qla2xxx 0000:05:00.0: LIP reset occured (f700).
qla2xxx 0000:05:00.0: LOOP UP detected (4 Gbps).
SELinux: initialized (dev mqueue, type mqueue), uses transition SIDs



multipathd is easy to use but I recommend checking EMC's best practices guide to get started. It works equally well on iSCSI or Fiber Channel and is directly plugged in linux's device manager.

Useful switches for multipath on Fiber Channel:

multipath -ll # to see all multipath'ed devices and their status
multipath # to rescan devices after an RSCN or a LIP reset

In short I've used multipathd on centos on Fiber Channel with the qla2xxx driver successfully (albeit on a 3PAR storage array).

Comments (3)

  • +1 – OT: I can't help chuckle whan I see "EMC" and "best practices" in the same sentence. Those are the people who invented "/etc/opt" and install binaries there we're talking about. — Apr 29, 2010 at 12:52  
  • +0 – @NiLs /sbin is not "for OS," whatever that means nowadays; RPM handles whatever files in whatever locations you throw at it. /usr/local is for stuff that's precisely not handled by RPM. — Apr 24, 2012 at 16:45  
  • +0 – @niXar I should work for EMC... :-( You are right - I just read up the FHS. — Apr 24, 2012 at 20:12