Why I would still like MC/S in Linux

April 30, 2009

I recently ran across MC/S vs MPIO, which is about why iSCSI's 'multiple connections per session' feature is apparently considered a bad idea and is not likely to be implemented in Linux, the short summary being that it is an iSCSI specific duplication of generic multipathing functionality. Unfortunately, I sort of disagree with this in practice.

In theory I don't care about how my multipathing is done, I just want something that makes general iSCSI multipathing work right. In practice, right now generic multipathing doesn't seem to be up to the job.

The starting bad sign for me is that the Linux iSCSI target developers will generally give you reasonably scary warnings about using multipathing for anything but failover. There's specific reasons, but I think that they can be generalized to something simple: you have to trust the initiator to get all of this generic multipathing stuff right, and it may not. (And I know that there are some initiators that do not get it fully right, because we use one.)

(Also, you have to trust the target to get all of the necessary supporting SCSI infrastructure correct, even the picky bits. It's possible that some targets are known to be incomplete there.)

The great attraction of MC/S for me is that it is conceptually quite simple and does exactly and specifically what I want, partly because all sides know just what is going on. Full generic multipathing is much more indirect and complex, and its very generality means that it necessarily has more chances to go terribly wrong.

(iSCSI being iSCSI, I'm entirely willing to believe that MC/S is actually a baroque pile of complexity once you read the actual specification. I haven't, so all I can go from is outside appearances.)

Written on 30 April 2009.
« Pragmatic issues with hash verifiers for email messages
My standard Gnome customizations »

Page tools: View Source, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Thu Apr 30 00:04:01 2009
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.