Environment
Novell SUSE Linux Enterprise Server 10
Novell SUSE Linux Enterprise Server 9
Novell Open Enterprise Server (Linux based)Situation
Most MPIO problem in SUSE Linux Enterprise Server using themultipath-toolspackage can be resolved by looking at a few simple areas. Following is a checklist of items to keep in mind when using MPIO. These are all documented in the SDB titledHow to setup / use multipathing on SLES. This document should always be used as the authoritative source when configuring MPIO.
Resolution
The most common MPIO problems occur in the following areas. Follow these suggestions in the order they are given.
Configuration
Packages
Ensure that the multipath-tools package is installed:
Hotplug (SLES 9 only)
Verify that HOTPLUG_USE_SUBFS is changed from yes tonoin /etc/sysconfig/hotplug.
(Note: This change requires a reboot)
Ramdisk
Make sure that the driver for the HBA is added to INITRD_MODULES in /etc/sysconfig/kernel. In most cases this is qla2xxx or qla2400. When this setting is made, rebuild the ramdisk by executing mkinitrd.
As an example, a server with a SmartArray disk controller, a Reiserfs root filesystem, and a Qlogic HBA might have: INITRD_MODULES="cciss reiserfs qla2xxx"
(Note: After running mkinitrd the system must be reboot)
MPIO Services
Ensure that boot.multipath and multipathd are set to start on boot:
The services can be started immediately with:
Using Multipathed Devices
Device Nodes
When using a MPIO device, always use the devices listed under /dev/disk/by-name/. These devices will never change when a path is failed over. Strange behavior will occur if a traditional SCSI device node (e.g., /dev/sdc) is used.
As an example, a proper device node is /dev/disk/by-name/3600601607cf30e00184589a37a31d911. If this device has a partition on it the first partition is /dev/disk/by-name/3600601607cf30e00184589a37a31d911p1. The identifier comes from the WWID of the device.
Partitioning
Partitioning a MPIO device is described in Chapter 5.4.2 and 5.11 of the Storage Administration guide at:
https://www.novell.com/documentation/sles10/stor_evms/data/multipathing.html
On SLES 10 SP2, please follow the steps below:
LUNs are not seen by the driver
lsscsican be used to check whether the SCSI devices are seen correctly by the OS. When the LUNs are not seen by the HBA driver, check the zoning setup of the SAN. In particular, check whether LUN masking is active and whether the LUNs are correctly assigned to the server.
LUNs are seen by the driver, but there are no corresponding block devices
When LUNs are seen by the HBA driver, but not as block devices, additional kernel parameters are needed to change the SCSI device scanning behavior, e.g. to indicate that LUNs are not numbered consecutively. Refer to KB 3955167, Troubleshooting SCSI (LUN) scanning issues for details.
Configuration
Packages
Ensure that the multipath-tools package is installed:
rpm -q multipath-tools
Hotplug (SLES 9 only)
Verify that HOTPLUG_USE_SUBFS is changed from yes tonoin /etc/sysconfig/hotplug.
(Note: This change requires a reboot)
Ramdisk
Make sure that the driver for the HBA is added to INITRD_MODULES in /etc/sysconfig/kernel. In most cases this is qla2xxx or qla2400. When this setting is made, rebuild the ramdisk by executing mkinitrd.
As an example, a server with a SmartArray disk controller, a Reiserfs root filesystem, and a Qlogic HBA might have: INITRD_MODULES="cciss reiserfs qla2xxx"
(Note: After running mkinitrd the system must be reboot)
MPIO Services
Ensure that boot.multipath and multipathd are set to start on boot:
chkconfig boot.multipath on
chkconfig multipathdon
chkconfig multipathdon
The services can be started immediately with:
/etc/init.d/boot.multipath start
/etc/init.d/multipathd start
/etc/init.d/multipathd start
Using Multipathed Devices
Device Nodes
When using a MPIO device, always use the devices listed under /dev/disk/by-name/. These devices will never change when a path is failed over. Strange behavior will occur if a traditional SCSI device node (e.g., /dev/sdc) is used.
As an example, a proper device node is /dev/disk/by-name/3600601607cf30e00184589a37a31d911. If this device has a partition on it the first partition is /dev/disk/by-name/3600601607cf30e00184589a37a31d911p1. The identifier comes from the WWID of the device.
Partitioning
Partitioning a MPIO device is described in Chapter 5.4.2 and 5.11 of the Storage Administration guide at:
https://www.novell.com/documentation/sles10/stor_evms/data/multipathing.html
On SLES 10 SP2, please follow the steps below:
-
Create a partition table for the device by entering
fdisk /dev/dm-8
-
Add a /dev/dm-* link for the new partition by entering
/sbin/kpartx -a -p -part /dev/dm-8
-
Verify that the link was created by entering
ls -lrt /dev/dm-*
LUNs are not seen by the driver
lsscsican be used to check whether the SCSI devices are seen correctly by the OS. When the LUNs are not seen by the HBA driver, check the zoning setup of the SAN. In particular, check whether LUN masking is active and whether the LUNs are correctly assigned to the server.
LUNs are seen by the driver, but there are no corresponding block devices
When LUNs are seen by the HBA driver, but not as block devices, additional kernel parameters are needed to change the SCSI device scanning behavior, e.g. to indicate that LUNs are not numbered consecutively. Refer to KB 3955167, Troubleshooting SCSI (LUN) scanning issues for details.