Novell Home

My Favorites

Close

Please to see your favorites.

Howto: Configure Multipath (MPIO) to boot from SAN

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

Environment

Novell SUSE Linux Enterprise Server 10 Support Pack 1

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 NetIQ/Novell/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-08
  • Modified Date:08-NOV-12
    • SUSESUSE Linux Enterprise Server

Did this document solve your problem? Provide Feedback