MPIO and MCS are two very different approaches toward accomplishing what's really the same thing: adding redundancy and load balancing to iSCSI connections. At a protocol level, the primary difference between the two relates to where the "teaming" is done for the connection.

The MCS protocol operates at the level of the iSCSI Initiator, and is part of the iSCSI protocol itself. Being part of the protocol, MCS doesn't require any vendor-specific multipathing technology to function. However, to use MCS, it must be supported by your storage device. If you're using VMware vSphere, you won't be using MCS. As of today's version, vSphere doesn't support MCS for teaming iSCSI connections. Hyper-V, on the other hand, can use MCS.

MPIO is enabled through special MPIO-enabled drivers called Device-Specific Modules (DSM). These DSMs let the driver orchestrate requests across multiple paths. While a single DSM, installed to a server, can support multiple transport protocols (think Fibre Channel versus iSCSI), that DSM must be written by your manufacturer. It's for this reason that some iSCSI SAN vendors require the installation of a special "driver" on hosts that connect to their SAN.

MPIO is supported by both Hyper-V and VMware vSphere.

Want even more answers to your virtualization questions? Click on over to the Greg Shields on Virtualization page, where Greg answers your questions weekly! Also, submit your questions for Greg.