What is Storage Multipathing & Why do we need It?

 

In this Article, we  will be discussing about:

  • Why do we need Multipathing?
  •  What is Multipathing?
  • Advantages of Multipathing
  • How Multipathing Works

Before understanding what is Multipathing, let’s first understand why we need multipathing.
Let me first ask you, Do you see any issue with the below mentioned diagram of datacenter design?

Diagram explanation: 
There are 4 Mission Critical VMs residing on some LUN coming from Storage Array and it is accessible to ESXi hypervisor using Single Path.

WhyDoWeNeedMultipathing

Yes, you guessed it correctly!!!

If we look at this design, there are two issues:

  1. What if the Path between ESXi and LUN goes down? All VMs becomes inaccessible and brings down the entire infrastructure. Path Failure could happen due to HBA failures, switch failures or Controller failures.
  2. What if VMs are pumping huge IO but Hypervisor is not able to send those IOs at faster speed to Storage Device due to single path availability. Hence most of the IOs generated by VMs are getting queued up in Hypervisor Kernel Queue/Guest OS queue and decreasing the VMs Storage Performance.

In conclusion, we don’t get Failover and Load Balancing functionalities if single path is available between Hypervisor and Storage Device.

WHY DO WE NEED MULTI-PATHING?

Configuration of multiple paths increases the data availability through path failover. If servers are configured with one I/O path to the data there will be no access to the data if that path fails. Redundant paths eliminate the path to become single points of failure. Multiple paths to data also improve I/O performance through load sharing and maximize server, storage, and data path utilization.

WHAT IS MULTI-PATHING

The connection from the server through the HBAs to the Storage Controller is referred as PATH. Multipath Connectivity refers to a system configuration where multiple connection paths exists between Server and Storage Device called LUNs within a Storage Subsystem.

 

ADVANTAGES OF MULTI-PATHING:

FAILOVER: Multipath connectivity provides redundant access to the storage devices, for ex. Always provide access to the storage device even when any of the component in entire path fails.

LOAD BALANCING: This multipath configuration can be used to provide redundancy or increased Bandwidth.  It increased throughput by way of load-balance Disks IO across multiple paths available.

Note: Multipathing protects against the failure of Path(s) and not the failure of a specific storage unit.

Below is the example of Highly Available Storage Design:

 

HowMultipathingWorks

HOW MULTI-PATHING WORKS

only configuring multiple paths doesn’t serve the purpose. Even with multiple paths, if one path fails, IO will not re-route unless the system recognizes that it has an alternative path.
That’s where we need multi-pathing driver in System to provide the functionality to recognize and utilize alternate I/O paths to data & also manage the load balancing by distributing I/O to all available Active Paths.

Without Multipathing driver, the same device through different physical ports/paths would appear as totally different devices which can cause data corruption.
Multipathing driver interprets multiple paths coming from same device and shows up as single device to system to avoid any data corruption.

Below figure depicts this scenario:
StorageMultipathing

Example of Multipathing Driver built in operating systems:

  • MPIO for windows OS
  • DM-Multipath for Linux OS
  • NMP for VMware ESXi

Example of Multipathing Driver designed by Storage Vendor

  • PowerPath by EMC for Windows/Linux/ESXi
  • SDDDSM by IBM for Windows OS, DM-Multipath for Linux and NMP for ESXi
  • SecurePath by HP for Windows/Linux/ESXi

 

You May Also Interested In

govmlab on sabtwittergovmlab on sablinkedingovmlab on sabgooglegovmlab on sabfacebookgovmlab on sabemail
I am VMware Solution Architect with 10+ Years of enriching experience in Datacenter Virtualization Technologies, Storage Area Networks and Software Defined Datacenter, Networking and Storage.
I hold Numerous certification including RHCE, CCNA, VCP4.0, VCP5.1, VCP5.5, vCloud and EMC certification.
While spending countless hours exploring the product inside and out and learning everything about it, Eventually I discovered my passion for teaching and helping others learn from my knowledge and experience so turned to Trainer cum Blogger to educate every single person keen to learn Virtualization.

Leave a Reply