Environment

SLES 10 SP1 on my IBM 345 Server with no local disk, but SAN (2 Path) attached and one lun attached.
I use dd to clean the lun/disk before I start the install

Example:

dd if=/dev/zero of=/dev/disk/by-id/scsi-3600a0b800016abf3000017724230853f bs=1024k count=100

Manual install:

Start the install (from CD/DVD or network install)

When the initial screen is there, change to second terminal CTRL-ALT F2

# ll /dev/disk/by-id

Result:

lrwxrwxrwx 1 root root  9 Feb 25 17:29 scsi-3600a0b800016abf300..... -> ../../sdh

This tells me that your system has 8 path to the device

You need to recreate the link, but pointing to the first path (that yast will use to partition)

#ln -sf ../../sda /dev/disk/by-id/scsi-3600a0b800016abf30................

To verify this you can use #udefinfo -e.

Now that the /dev/disk/by-id/ link points to sda (the first disk) and yast uses this disk to partition, you can accept the default or use your own partitioning as long as you partition sda.

If the /dev/disk/by-id link is there for the device you partition, Yast is using automatically the fstab option mount by id and updates fstab and menu.lst accordingly.

Check grub proposal after partitioning. It should point to sda too, otherwise check your bios/hba settings.
Have seen a case that the first hba bios was disabled and grub pointed to sdc.

Then you finish the install and enable multipath by running #mkinitrd -f mpath and #insserv boot.multipath multipathd

Reboot. install is finished

You can also directly partition sdh (or where the link in your system points to), but you have to take care of grub yourself. This is more complicated and if you are doing it wrong your system will not boot.

Yast will default to mount by-id if it exists and adjust menu.lst and fstab correctly.

Autoyast install

Run dd to clean the lun before you start.

Take your existing Autoyast file

Run the following one line command as preinstall script (it recreates the sysmlinks in revers order.

# udevinfo -e |grep -B1 disk/by-id/s |sed 's/N: /ln -sf ..\/..\//;s/S: /\/dev\//;/^-/d'|sed '/ln.*[^\.]$/N;s/\n */ /'|sort -r|sh

Insert dm-multipath module.

<initrd_module>
  <module>dm-multipath</module>
</initrd_module>

		

Set the services to start automatically

<runlevel>
  <default>5</default>
  <services config:type="list">
    <service>
      <service_name>boot.multipath</service_name>
      <service_start>B</service_start>
    </service>
    <service>
      <service_name>multipathd</service_name>
      <service_start>3 5</service_start>
    </service>
</runlevel>

Check if your partitioning is set to mount by-id (for non LVM partitions)

<mountby config:type="symbol">device</mountby>

should be

<mountby config:type="symbol">id</mountby>

Multipath boot and root from SAN in one go with minimal customizing!

Check the Autoyast doc if you have problems with it
Autoyast Documentation

(Visited 1 times, 1 visits today)
Tags: , ,
Category: SUSE Linux Enterprise Server, Technical Solutions
This entry was posted Friday, 14 March, 2008 at 7:40 am
You can follow any responses to this entry via RSS.

Comments

  • eschmidlin says:

    Would be interested to know if this is working for you too or do you have an easier workaround?
    Thanks

    Elmar

  • samthendsgod says:

    I’m curious if you have tried to get this to work as a guest on a hypervisor….

    Sam

  • eschmidlin says:

    Sorry, but have not checked that.

    Do you have multiple path to the same device in the guest?
    If yes it should work the same.

  • Leave a Reply

    Your email address will not be published. Required fields are marked *