'/boot' partition based on cciss driver is empty after upgrade to OES2 SP2 (SLES10 SP3)

  • 7005808
  • 21-Apr-2010
  • 30-Apr-2012

Environment

Novell Open Enterprise Server 2 (OES 2) Linux Support Pack 2
SUSE Linux Enterprise Server 10 Service Pack 3

Situation

The problematic system does have a '/boot' partition which is a cciss device; disk management is done with EVMS ; and multipath is configured in this system, too.

The '/etc/fstab' could look like the following way:
---
# /etc/fstab
/dev/evms/lvm2/system/syslx / ext3 acl,user_xattr 1 1
/dev/evms/cciss/c0d0p1 /boot ext3 acl,user_xattr 1 2
/dev/evms/lvm2/system/swap swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
....
---

After an upgrade to OES2 SP2 (or SLES10 SP3) according to the official document,  either the system does not come up because of file system check , or /boot is empty when the system is up and running.

Resolution

This is due to the fact that the cciss partitions are not taken into consideration in the blacklist section of 'multipath.conf'.
To workaround this issue, the following has to be done:
  • 'multipath.conf' has to be created if it does not exist, and the following line must be added in the blacklist section:

    devnode "^cciss!c[0-9]d[0-9]*"

    This section could then look like the following:

    blacklist {
    devnode ^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*
    devnode ^hd[a-z]
    devnode ^cciss!c[0-9]d[0-9]*
    }


    By adding this line, the whole cciss array is blacklisted, not only the partitions.
    Blacklisting only the cciss partitions has no effect.
  • mount /boot using the cciss device ID for instance
    mount /dev/disk/by-id/cciss-3600508b1001030393146353436306400-part1 /boot
  • now that above conditions are fulfilled, it is necessary to run
    mkinitrd