Howto: Configure Multipath (MPIO) to boot from SAN

This document (3594167) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 10 SP1

Situation

With recent updates to SLES 10 SP1 the functionality has been added to configure SLES 10 SP1 to boot from a SAN with multipath I/O. This document covers the basic steps required to implement this configuration.

Resolution

Prerequisites:

Fully patched SLES 10 SP1 system, including:
  • kernel 2.6.16.54-0.2.5 or later
  • mkinitrd 1.2-106.61 or later
  • multipath-tools 0.4.7-34.23 or later
SLES 10 SP1 media to regain access to the installed system if the changes to the boot configuration break the regular system boot.

Howto steps:
  1. Install the card (HBA)
  2. Prepare SAN Devices for Multipath I/O (MPIO)
    • Configure permissions for host LUNs on the storage arrays with the vendor’s tools.
    • Configure and zone the SAN switch with the vendor’s tools.
  3. Verify HBA driver is being loaded in INITRD_MODULES in the file/etc/sysconfig/kernel.
    • This should be good already if the server is already booting from the SAN without MPIO and an additional card is being installed to make MPIO possible.
    • See How to setup / use multipathing on SLES for details.
  4. Verify the server can see the newly assigned LUNs:
    • Re-boot the server and examine the BIOS setup utility for the HBA(s). The newly assigned LUN(s) must be visible to the HBA(s) before continuing. If not visible at this stage review the boot.msg file to verify that the HBA driver is being loaded. Re-visit and verify Step 2 if necessary.
    • If LUNs are still not visible to the HBA's setup utility at this point, review TID 3955167 - Troubleshooting SCSI (LUN) scanning issues for other possible causes. Resolve this issuebefore continuing.
  5. Set MPIO services to remain persistent on re-boot:
    • chkconfig multipathd on
    • chkconfig boot.multipath on
    • chkconfig boot.udev on
  6. Start multipath services
    • /etc/init.d/boot.multipath start
    • /etc/init.d/multipathd start
  7. Run multipath -v2 -d from a command line. The output should be similar to:
     
    create: 3600a0b8000188af900002b244379cd0e IBM,1722-600
    [size=40G][features=1 queue_if_no_path][hwhandler=0]
    \_ round-robin 0 [prio=3][undef]
    \_ 0:0:0:0 sda 8:0 [undef][ready]
    \_ round-robin 0 [prio=0][undef]
    \_ 1:0:0:0 sdb 8:16 [undef][ghost]
  8. Now identify the correct boot path in /dev/disk/by-name and use this path to identify the boot device in the /boot/grub/menu.lst and/etc/fstab files. Note: If this is information is incorrect the kernel will panic on boot!
     
    • Examine the existing menu.lst and fstab files for their existing configuration. See examples below for the lines that will need to be changed.
    • cd /dev/disk/by-name and examine ls -l output.
    • Match the xxxxx-partx paths to the correct device-partition.

    /boot/grub/menu.lst change example where sda1 was the original boot location:

    Change
    kernel /boot/vmlinuz-2.6.16.54-0.2.3-default root=/dev/sda1 vga=0x314 resume=/dev/sda2 splash=silent showopts
    to
    kernel /boot/vmlinuz-2.6.16.54-0.2.3-default root=/dev/disk/by-name/3600a0b8000188af900002b244379cd0e-part1 vga=0x314 resume=/dev/disk/by-name/3600a0b8000188af900002b244379cd0e-part2 splash=silent showopts

    /etc/fstab change example where sda1 was the original boot location:

    Change
    /dev/sda1 / reiserfs acl,user_xattr 1 1
    to
    /dev/disk/by-name/3600a0b8000188af900002b244379cd0e-part1 / reiserfs acl,user_xattr 1 1
  9. As both boot and root filesystems are on the SAN, the initial RAM disk must be regenerated to include MPIO support:
    mkinitrd -f mpath
  10. If using software RAID or LVM, their corresponding configuration files need to be modified as well. See section 5.4.4: "Configuring mdadm.conf and lvm.conf to Scan Devices by UUID" in the SLES 10 Storage and Administration Guide.
  11. Re-boot the server.
  12. Check configuration by running "multipath -ll".

Additional Information

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:3594167
  • Creation Date: 03-Apr-2008
  • Modified Date:14-Dec-2021
    • SUSE Linux Enterprise Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Join Our Community

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.


SUSE Customer Support Quick Reference Guide SUSE Technical Support Handbook Update Advisories
Support FAQ

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.

Go to Customer Center