While i've used (up to now) the IBM/LSI-logic solution (aka RDAC) to support multiple paths to an IBM storage solution (aka DS4xxx and DS3xxx), it was a pain because each time you wanted to install a new kernel the procedure implied to remove the old/previous rdac module, boot with the new kernel (without mpp), rebuild mpp/rdac and creating a new initrd and then another reboot (with the new initrd containing the correct module).

I've now switched to dm-multipath instead. The basic and provided /etc/multipath.conf normally works quite ok, but if you want to tune it to support more storage vendors/solutions you really have to read the multipath documentation. Jim already blogged about the DS4700 FC backend storage .

Here is the version for the DS3200 (SAS connections) :

devices {  
  device {  
    vendor                  "IBM"  
    product                 "1726-2xx  FAStT"  
    getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"  
    prio_callout            "/sbin/mpath_prio_rdac /dev/%n"  
    features                "0"  
    hardware_handler        "1 rdac"  
    path_grouping_policy    group_by_prio  
    failback                immediate  
    rr_weight               uniform  
    no_path_retry           300  
    rr_min_io               1000  
    path_checker            rdac