[dm-devel] RHEL 5.4 multipath doesn't handle virtio block devices

Martin Schwenke martin at meltin.net
Tue Mar 30 07:43:34 UTC 2010


On Tue, 30 Mar 2010 09:16:10 +0200, Hannes Reinecke <hare at suse.de>
wrote:

> megasas megasas megasas ...
> I posted a megasas HBA emulation for KVM a while back.
> Would solve your problem rather elegantly.
> But then you'd have to recompile KVM, at which point you could include
> the SCSI emulation as well ...

Right, that sounds good.  However, for reasons I won't go into, I need
to use the version of KVM that ships with RHEL 5.  So recompiling or
even using RPMs provided by a 3rd party isn't an easy option.  :-(

> Problem is, though, that you don't have a unique ID for virtio
> devices. EG scsi_id and friends don't work here.
> And AFAIR there is no feature flag which would allow you do set one.
> 
> How do you distinguish between, say, 2 virtio devices across 2 paths?

I write a unique identifier onto each image using dd and then as you
would expect, in the libvirt XML configuration, I make 2 devices point
to each image.

Then I use a custom getuid_callout setting, as follows:

  [root at strg001st068 ~]# cat /sbin/scsi_id_autocluster.sh
  #!/bin/sh
  # get scsi ID assuming disks setup by autocluster
  /bin/dd if=/dev/$1 bs=1 count=13 2> /dev/null | cat -v
  echo

The filesystem being used on those disks doesn't use the first
block...  ;-)

It works nicely...

peace & happiness,
martin




More information about the dm-devel mailing list