Howto: Configure Multipath (MPIO) to boot from SAN
This document (3594167) is provided subject to the disclaimer at the end of this document.
Fully patched SLES 10 SP1 system, including:
- kernel 184.108.40.206-0.2.5 or later
- mkinitrd 1.2-106.61 or later
- multipath-tools 0.4.7-34.23 or later
- Install the card (HBA)
- 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.
- 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.
- 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.
- Set MPIO services to remain persistent on re-boot:
- chkconfig multipathd on
- chkconfig boot.multipath on
- chkconfig boot.udev on
- Start multipath services
- /etc/init.d/boot.multipath start
- /etc/init.d/multipathd start
- Run multipath -v2 -d from a command line. The output should be similar to:create: 3600a0b8000188af900002b244379cd0e IBM,1722-600
\_ 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]
- 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:
Changekernel /boot/vmlinuz-220.127.116.11-0.2.3-default root=/dev/sda1 vga=0x314 resume=/dev/sda2 splash=silent showoptstokernel /boot/vmlinuz-18.104.22.168-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 1to/dev/disk/by-name/3600a0b8000188af900002b244379cd0e-part1 / reiserfs acl,user_xattr 1 1
- As both boot and root filesystems are on the SAN, the initial RAM disk must be regenerated to include MPIO support:mkinitrd -f mpath
- 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.
- Re-boot the server.
- Check configuration by running "multipath -ll".
How to setup / use multipathing on SLES
TID 3231766 - Troubleshooting SLES Multipathing (MPIO) problems
SLES 10 Storage and Administration Guide
TID 3955167 - Troubleshooting SCSI (LUN) scanning issues
TID 3864925 - Troubleshooting Common Boot Issues
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