System information

Advanced Functions
5-7
5.1.5 Linux Multi-Path Solution
Native Linux multi-path I/O support has been added to the Linux 2.6 kernel tree since the release of 2.6.13, and has been
back-ported into Red Hat Enterprise Linux 4 in Update 2 and into Novell SUSE Linux Enterprise Server 9 in Service Pack
2. It relies on device mapper (DM), a kernel driver framework that allows add-on drivers to be installed to the kernel to do
I/O manipulation, such as logical volume management, software RAID, and also in our case, multi-path I/O.
The dm-multipath driver is the implementation of Linux multi-path I/O based on the device mapper driver. Together with
a user-space program, multipathd, which when started, reads the configuration file, /etc/multipath.conf, to create multi-
path devices at /dev/. It also runs as a daemon to constantly monitor and recover failed paths.
Because the DM multi-path works above the hardware layer, all HBA should work. Novell SuSE and RedHat, along with
other Linux vendors, are pushing DM multi-path as the standard multi-path solution. Many RAID vendors have also
adopted DM multi-path as the default multi-path solution on Linux. You may find extensive related information over the
Internet.
For single-controller RAID systems, native Linux multi-path has everything you need, and the default configuration file
can be used. All you need to do is to make sure the dm-multipath tool has been installed on your Linux systems (RHEL 5
requires manual installation of dm-multipath package). The sections below are examples offered for SUSE SLES 10. For
redundant-controller RAID systems, in addition to the native Linux dm-multipath, you need also to install the proprietary
RPM package and edit the configuration file.
Install and start the multipathd service
(Single-Controller System)
1. Check /etc/multipath.conf, and if it is not there, you need to build it (see the example under /usr/share/doc/
packages/multipath-tools/multipath.conf.synthetic).
2. To install multipathd into your Linux service scripts, type insserv /etc/init.d/multipathd.
3. To activate multipathd service on your Linux service scripts, type chkconfig -a multipathd, and the screen shows
the Linux run levels at which mulitpathd will be turned on or off:
After completing the steps above, your Linux will launch multipathd automatically during the system boot-up. But at
this moment, multipathd is still not started.
For Red Hat in here that is different,please type chkconfig multipathd on.
4. To manually start multipathd service, type service multipathd start. The screen shows:
Uninstall and stop the multipathd service
(Single-Controller System)
1. To immediately stop the service, type service multipathd stop. But note that you have to un-mount the file system
over the multi-path devices before doing so to avoid data loss.
2. To deactivate multipathd service on you system, type chkconfig multipathd off. This will stop the auto-start of the
multipathd during the boot time.
3. To completely remove the multipathd service on you system, type insserv -r /etc/init.d/multipathd.
Install and start the multipathd service
(Redundant-Controller System)
For redundant-controller systems, the Linux multi-path requires proprietary driver to recognize the controller preference
to deliver optimal performance. The driver depends on the kernel version of your Linux, and below list the pre-built driver
binaries:
RHEL5/32bit: mpath-xxx-x.i386-rhel5.rpm
RHEL5/64bit: mpath-xxx-x.x86_64-rhel5.rpm
RHEL5 Xen/64bit:mpath-xxx-x.x86_64xen-rhel5.rpm
SuSe10/32bit: mpath-xxx-x.i586-sles10.rpm
SuSe10/64bit: mpath-xxx-x.x86_64-sles10.rpm
If your Linux kernel cannot match the pre-built driver binaries, you may also build the binary on your own.
Below are the source RPM packages: