HOWTO: Boot from a SAN with Multipath (MPIO)

  • 7008995
  • 14-Jul-2011
  • 27-Apr-2012

Environment

SUSE Linux Enterprise Server 11 Service Pack 1

Situation

Booting from a SAN is a common practice for servers with no local disks. However, most SAN configurations involve multiple paths - which may or may not be active in parallel. Installations which fail to take that into consideration run the risk of failure should the active path change after OS installation. To eliminate this risk, the SLES installation should be performed using a logical path to the SAN, rather than a single physical path. This can be accomplished with multipath (MPIO).

Multipath abstracts all physical connections to a SAN into one logical connection (per LUN). This logical connection is always available, regardless of physical path changes that may take place (due to LUN trespassing, path failure, etc.). During the SLES installation, this logical connection must be used for partitioning and bootloader configuration. This TID is intended to explain the steps involved with this process.

Resolution

Booting from a SAN with MPIO is possible with SLES 11 SP1. However, due to some issues found after the general release of SP1, updating the following packages (to at least the versions specified below) during the installation is required:

    kpartx              0.4.8-40.35.1
    multipath-tools    0.4.8-40.35.1
    perl-Bootloader   0.4.89.21-0.5.1
    libvolume_id1     128-13.12.1
    udev              128.13.12.1
    mkinitrd         2.4.1-0.16.16.1

The above packages can be found in updates to multipath-tools, perl-Bootloader, udev and mkinitrd. The latest versions of these packages can be found on the Novell Patch Finder.

There are multiple ways to update packages during installation, but the easiest method is to put the RPMs listed above into a single directory on a USB flash drive. This directory can then be used as an add-on product during the installation, and these RPMs will be installed instead of the versions included with SP1. The rest of this guide will assume this is the method being used to update these RPMs.

Prior to beginning the installation, carve out the LUN which will be used for the OS and assign it to the target server using the SAN management software. (Note - Provisioning a single LUN to the server is recommended during the installation. This reduces any confusion that might arise from the complicated WorldWide Names used when accessing LUNs through MPIO. After the installation has completed, additional LUNs can easily be added to the server.) Also ensure the zoning of the fibre switch allows the server necessary access to the SAN. Booting from a SAN requires some configuration in the BIOS of the HBA on the target server. As this is very dependent upon hardware, further details on this subject should be obtained from the makers of the HBA.

Once the physical and backend configurations have been performed, install the SLES operating system using the following steps:

  1. Boot from the installation DVD, and begin the installation process. (Note - A network based installation source is recommended, but not required.)
  2. Accept the license agreement, and press Next.
  3. Select 'New Installation', and ensure the 'Include Add-on Products from Separate Media' checkbox is selected. Press Next.
  4. On the Add-on Products screen, select the 'USB Mass Storage (USB Stick, Disk)..' option, then attach the USB device containing the updates. Press Next.
  5. Enter 'MPIO Updates' as the Repository Name, and ensure the correct USB Mass Storage Device is specified. Also enter the directory name which contains the updates, and select 'Plain RPM Directory'. Press Next.
  6. Confirm the Add-on source has been added correctly, and press Next.
  7. Select the appropriate timezone, and press Next.
  8. Select 'Physical Machine' as the machine type, and press Next.
  9. At the Installation Summary screen, click on 'Partitioning', to begin the custom partitioning process.
  10. Select 'Custom Partitioning (for experts)', and press Next.
  11. In the left hand pane of the custom partitioning tool, click on 'Hard Disks' to select it. This activates a 'Configure' button in the lower right hand corner of the right pane. Select 'Configure', and choose to 'Configure Multipath'. After agreeing to the prompt, the disk selections in the partitioner should be refreshed. In addition to seeing the traditional /dev/sd* devices, there should also be a /dev/mapper/<WWN> device for each visible LUN. For the rest of the partitioning configuration, the /dev/mapper/<WWN> device must be used.
  12. Partition the /dev/mapper/<WWN> device as desired. (Note - A separate /boot partition is not typically required.)
  13. When exiting back to the Installation Summary screen, a prompt stating 'Selected bootloader location MBR is not on /dev/sd* any more. Set default boot loader location?" may be displayed. Select either 'Yes' or 'No' to this prompt. Regardless of the choice, the bootloader configuration should be manually verified, as explained in the next step.
  14. Verify the bootloader configuration by switching to the 'Expert' tab of the Installation Summary. From the Expert screen, click on 'Booting' to access the bootloader configuration. Within the Boot Loader Settings page, switch to the 'Boot Loader Installation' tab. On this tab, ensure 'Boot from Master Boot Record' is selected. Also on this page is an 'Options' button in the lower right corner. Select Options, and ensure the correct /dev/mapper/<WWN> device is the only device listed in the 'Disk Order' window. Save all changes and exit back to the Installation Summary screen.
  15. Review the Partitioning and Booting sections of the Installation Summary. The partitions listed off under Partitioning should all be referenced as 'multipath' partitions. Under the Booting section, the location should reference the MBR of the /dev/mapper/<WWN> device that is also seen under the Partitioning section. After ensuring these are correct, continue with the installation normally.
The SLES11 SP1 installation should complete successfully, with no additional changes required. After the installation has completed, you can verify the server is working properly by checking the MPIO maps with `multipath -l`, and ensuring all the devices are mounting properly through the /dev/disk/by-id/<WWN> device nodes.

Feedback service temporarily unavailable. For content questions or problems, please contact Support.