Multipath Fibrechannel interface to SAN under Ubuntu

February 2008


  1. apt-get install multipath-tools

  2. Edited /etc/multipath.conf:

    defaults {
    polling_interval    30
    failback            immediate
    no_path_retry       5
    rr_min_io           100
    path_checker        tur
    user_friendly_names yes
    }
    
    multipaths {
    multipath {
    wwid 360050768019101ca2800000000000031
    alias IBM-2145
    }
    }
    	

    multipath -l now gives:


      
    IBM-2145 (360050768019101ca2800000000000031) dm-4 IBM,2145
    [size=2.0T][features=1 queue_if_no_path][hwhandler=0]
    \_ round-robin 0 [prio=0][enabled]
    \_ 3:0:0:0 sdb 8:16  [active][undef]
    \_ round-robin 0 [prio=0][enabled]
    \_ 3:0:1:0 sdc 8:32  [active][undef]
      

  3. Now, /dev/sdc, which we used to mount, is in use by multipathd, and we cannot mount it any more.

    /etc/init.d/multipath-tools restart

    mount -t xfs /dev/disk/by-id/dm-uuid-mpath-360050768019101ca2800000000000031 /srv/linux/ runs forever with no CPU load, and cannot be killed, so I think it is waiting for I/O.

    /bin/sh -f /usr/sbin/xfs_check /dev/disk/by-uuid/../../mapper/IBM-2145 also ends up waiting for I/O.

    Furthermore, /var/log/daemon.log reads:


      
    ...
    Feb 23 18:06:16 si17 multipathd: 8:16: mark as failed
    Feb 23 18:06:17 si17 multipathd: 8:32: mark as failed
    Feb 23 18:06:46 si17 multipathd: 8:16: reinstated
    Feb 23 18:06:46 si17 multipathd: 8:16: mark as failed
    Feb 23 18:06:47 si17 multipathd: 8:32: reinstated
    Feb 23 18:06:47 si17 multipathd: 8:32: mark as failed
    Feb 23 18:07:16 si17 multipathd: 8:16: reinstated
    Feb 23 18:07:16 si17 multipathd: 8:16: mark as failed
    Feb 23 18:07:17 si17 multipathd: 8:32: reinstated
    Feb 23 18:07:17 si17 multipathd: 8:32: mark as failed
    Feb 23 18:07:46 si17 multipathd: 8:16: reinstated
    Feb 23 18:07:46 si17 multipathd: 8:16: mark as failed
    Feb 23 18:07:47 si17 multipathd: 8:32: reinstated
    Feb 23 18:07:47 si17 multipathd: 8:32: mark as failed
    Feb 23 18:08:16 si17 multipathd: 8:16: reinstated
    Feb 23 18:08:16 si17 multipathd: 8:16: mark as failed
    Feb 23 18:08:17 si17 multipathd: 8:32: reinstated
    Feb 23 18:08:17 si17 multipathd: 8:32: mark as failed
    Feb 23 18:08:46 si17 multipathd: 8:16: reinstated
    Feb 23 18:08:46 si17 multipathd: 8:16: mark as failed
    Feb 23 18:08:47 si17 multipathd: 8:32: reinstated
    Feb 23 18:08:47 si17 multipathd: 8:32: mark as failed
      

    And multipath -l now gives:


      
    IBM-2145 (360050768019101ca2800000000000031) dm-4 IBM,2145
    [size=2.0T][features=1 queue_if_no_path][hwhandler=0]
    \_ round-robin 0 [prio=0][enabled]
    \_ 3:0:0:0 sdb 8:16  [failed][undef]
    \_ round-robin 0 [prio=0][enabled]
    \_ 3:0:1:0 sdc 8:32  [failed][undef]
      

    (It seems to cycle through failed and active.)

    Also, after /etc/init.d/multipath-tools stop, I/O still fails on both /dev/sdc and /dev/sdb. And when the multipath-tools are running, I/O fails on /dev/mapper/IBM-2145.

  4. Rebooting solves. We can now at least mount /dev/mapper/IBM-2145 read-only. Still it is a Windows solution. And I don't understand what went wrong.

  5. And now the problem is back: the filesystem on /dev/mapper/IBM-2145 is mounted read-only (and without filesystem cehck) on /srv/linux, but both a find on the mount point and an xfs_check on the block device end up waiting for I/O.

    And this time, rebooting ends with a machine that responds to ping, but nothing else. I have no idea whether it hangs in shutdown (the unmount?) or didn't come up properly.

[Note]Note

Arjan solved this one. It turns out that the add-in card was broken. He replaced it with a new one, and in the process replaced the entire server too.

[Note]Note

This was something of a bad start, but things got better. The rest of this adventure is in http://www.cs.rug.nl/~jurjen/iwi-howtos/linux/Osis.