Skip to main content

Linux multipath-tools with Sun StorageTek 6540

·328 words·2 mins
Feature image: STK Storage Sytem
This blog post is already over 10 years old. External links are probably invalid.

Running Linux systems on a Sun StorageTek 6540 is not that easy. Sun has RDAC drivers for Redhat and Suse, but I have not found a working configuration for the multipath tools anywhere.

The 6540 storage looks very much like the successor to the StorageTek FlexLine FLX380. Under the bonnet is probably the LSI/Engenio 6998 system (also available from IBM as DS4800, for example).

Hardware #

  • Sun StorageTek 6540 (Engenio/LSI)
  • Sun Fire X4150 mit 32 GByte RAM und 2xQuadCore Xeon E5440
  • 2x Sun/Qlogic 2460 4 GBit HBAs

Software #

  • Ubuntu LTS 8.04.1 AMD64
  • multipath-tools 0.4.8

Multipath-tools #

You will need multipath-tools version 0.4.8, as this contains the path checker rdac (mpath_prio_rdac) (formerly mpath_prio_tur). The storage itself reports as “STK FLEXLINE 380”.

Configuration Example /etc/multipath.conf #

defaults {
      multipath_tool                  "/sbin/multipath -v0"
      udev_dir                        /dev
      polling_interval                5
      default_selector                "round-robin 0"
      default_path_grouping_policy    failover
      default_features                "1 queue_if_no_path"
      default_getuid_callout     "/lib/udev/scsi_id -g -u -s /block/%n"
      rr_weight                       priorities
      failback                        immediate
}
blacklist {
   devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
   devnode "^hd[a-z][[0-9]*]"
   devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
   devnode "^sda"  # local disk
}
multipaths {
     multipath {
        alias           stk-test-lun
        wwid            3600a0b80004725e800000570xxxxxxxxx
        path_selector   "round-robin 0"
        failback        immediate
    }
}
devices {
    device {
      vendor                  "STK"
      product                 "FLEXLINE 380"
      product_blacklist       "Universal Xport"
      path_grouping_policy    group_by_prio
      prio_callout            "/sbin/mpath_prio_rdac /dev/%n"
      path_checker            rdac
      hardware_handler        "1 rdac"
    }
}

Test #

Since the server has 2 single-port HBAs and is also connected to 2 FC switches on the storage, there are four paths, 2 via HBA-A (sdc/sdt) and 2 HBA-B (sdbs/sdcj). ##

$ multipath -ll
stk-test-lun (3600a0b80004725e800000570xxxxxxxxx) dm-1 STK     ,FLEXLINE 380
[size=200G][features=1 queue_if_no_path][hwhandler=1 rdac]
\_ round-robin 0 [prio=6][active]
 \_ 1:0:0:1  sdc  8:32    [active][ready]
 \_ 1:0:1:1  sdt  65:48   [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 2:0:0:1  sdbs 68:96   [active][ghost]
 \_ 2:0:1:1  sdcj 69:112  [active][ghost]

When booting, 10-15 minutes are lost just for the searching the harddisks. The more paths and LUNs, the longer…