The MD3000i uses RDAC to impliment failover. RDAC is not in the 2.6.18 kernel, and the tools do not support RDAC hardware. For this reason I have managed to acquire a backported source from the 2.6.22 kernel and nicely packaged it ready to be compiled and installed into the kernel modules directory. I have also back-ported the tools to etch from sid.
If you added my repository to your apt-soruces and installed the software as above, you will already have the new version of the multipath-tools. We can now move on to building the modules.
Lets get the source and put it in /usr/src, compile and install it.
eddie:~# cd /usr/src eddie:/usr/src# wget http://www.performancemagic.com/~gregc/debian/dm-rdac.tar.bz2 eddie:/usr/src# tar -jxf dm-rdac.tar.bz2 eddie:/usr/src# cd ../dm-rdac eddie:/usr/src/dm-rdac# make install
Now that we have the modules compiled and installed, we need to setup a configuration file so that the multipath modules/daemon will choose the correct devices.
Insert the following into an empty /etc/multipath.conf file.
defaults { udev_dir /dev user_friendly_names yes } blacklist { devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^hd[a-z]" devnode "^sda" devnode "^sdb" devnode "^sda[0-9]" devnode "^sdb[0-9]" device { vendor DELL product "PERC|Universal" } } devices { device { vendor DELL product MD3000i hardware_handler "1 rdac" path_checker rdac path_grouping_policy group_by_prio prio_callout "/sbin/mpath_prio_rdac /dev/%n" failback immediate getuid_callout "/sbin/scsi_id -g -u -s /block/%n" } } multipaths { mulitpath { device { vendor DELL product MD3000i } } }
Now we have a configuration and modules, lets clear multipath database and re-establish the paths.
To flush the database use -F and the restart the deamon.
eddie:~# multipath -F eddie:~# /etc/init.d/multipath-tools restart
Now run multipath with the -ll option to see if you can see the 4 paths, and that the correct hardware-handler is being used. If everything is going well you should have something similar to the following.
eddie:~# multipath -ll mpath1 (36001c23000c579e10000031047168fcd) dm-2 DELL ,MD3000i [size=558G][features=0][hwhandler=1 rdac] \_ round-robin 0 [prio=6][enabled] \_ 5:0:0:1 sdi 8:128 [active][ready] \_ 4:0:0:1 sdf 8:80 [active][ready] \_ round-robin 0 [prio=0][enabled] \_ 6:0:0:1 sdl 8:176 [active][ghost] \_ 3:0:0:1 sdc 8:32 [active][ghost]