Monday, December 23, 2013

EMC PowerPath - Multipathing software used by EMC

Leave a Comment
Introduction to PowerPath
PowerPath is a host-based multipathing software which provides path failover and load balancing functionality.
It operates between operating systems and device drivers and supports SCSI, iSCSI and Fibre Channel environments.
It enhances the SAN performance and application availability.

Why to use PowerPath?
In computer Storage, multipath is used for the I/O’s.
Multipathing I/O helps in fault-tolerance and performance enhancement techniques whereby there is more than one physical path between the CPU in a computer system and its mass storage devices through buses, controllers, switches and other connecting devices.
For an example – A SCSI disk connected to two SCSI controllers or a disk connected to two fibre channel ports on the same computer system.  If one controller or port fails then the operating system can route the IO through the remaining controller to the application.

PowerPath Features:

Online Path Configuration & Management: PowerPath has the flexibility to define some paths to a device as “active” and some as “standby”. The “standby” paths are used when all the active paths to a logical device have failed.

Dynamic load balancing across multiple paths: PowerPath distributes the I/Os across all the available paths to the logical device. Hence it reduces the bottleneck and thus improves the application performance.

Automatic Path Failover: In an event of path failure, PowerPath  change the route of an I/O to an alternative path without disrupting application operations.

Proactive Path Testing:  PowerPath uses the autoprobe and auto restore functions to proactively test the dead and restored paths respectively.

The above figure illustrates I/O operation in a storage environment.The application running on a host have four paths to the storage array.Application can use only one of the paths because the Logical volume manager that is native to the host OS allows only one I/O operations.
Over here the I/O throughput is unbalanced without PowerPath. Two applications are generating high I/O traffic, which overloads both paths, but the other two paths are less loaded. In this case, some paths may remain idle or unused while other paths have multiple I/O operations queued. As a result the application can not achieve optimal performance.

The above figure illustrates I/O operation in a storage environment that has PowerPath.PowerPath ensures that the I/O request are balanced across the four paths to storage, based on the load-balancing algorithm. As a result the application can effectively utilize their resources, thereby improving their performance.

In the above scenario in which the application can use only one of the four paths defined by the operating system.  Without the PowerPath, the loss of paths,  due to single point of failure such as loss of a HBA, storage array front end connectivity, or any failed cable can result in an outage for one or more applications.

 In the event of path failure, PowerPath performs the following operations:
  • If an HBA, cable or storage front-end ports fails, the device driver returns a timeout to the PowerPath.
  • PowerPath responds by setting the path offline and redirecting the I/O through an alternate path.
  • Subsequent I/Os use alternate active path(s).
  • Even when an I/O is send to SPB and it fails than the PowerPath trespass the device to SPA. All I/O will be sent down the paths to SPA, this process is referred as LUN trespassing. 
  • When SPB comes online, PowerPath recognizes that it is available and resumes sending I/O down to the SPB.


Post a Comment