[Bug 1361842] Re: dmraid does not start on boot for single disk RAID0

Jason Gunthorpe jgunthorpe at gmail.com
Wed Oct 29 01:55:41 UTC 2014


Ignoring the raid label is the entire problem - that is what the broken
dmraid script is already doing.

Fundamentally, if /dev/sda has a valid RAID label then it *MUST* be setup
and accessed through the dmraid device and *NEVER* via /dev/sda.

Otherwise the installer will see a disc that is too big and it will destroy
the RAID label at the end of the disc, then the system will not boot.

The work around solution is to manually start dmraid before partitioning in
the installer, then the system will remain bootable, the OS partition will
not overlap the RAID label, etc. But once booted it still accesses through
/dev/sda and there is a risk that a partitioning tool will again blindly
destroy the RAID label.

I can't see how it would ever be correct for boot scripts to ignore a RAID
label, if there is a label, the drive is part of a RAID set and it must be
activated through dmraid. A single disc RAID still has a label, and still
needs to be accessed through device mapper.

FWIW, RHEL gets this right and sets up dmraid on this disc.

Jason

On Tue, Oct 28, 2014 at 6:32 PM, Phillip Susi <psusi at ubuntu.com> wrote:

> That is one broken firmware if it does not present plain, non raid
> disks.  You should be able to work around it by booting the installer
> with the nodmraid option.  This will have Ubuntu ignore the raid
> signatures and just use the drive normally.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1361842
>
> Title:
>   dmraid does not start on boot for single disk RAID0
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/ubuntu/+source/dmraid/+bug/1361842/+subscriptions
>

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dmraid in Ubuntu.
https://bugs.launchpad.net/bugs/1361842

Title:
  dmraid does not start on boot for single disk RAID0

Status in “dmraid” package in Ubuntu:
  New

Bug description:
  I have a Lenovo server with a LSI controller that insists on having a
  RAID set to boot. So the BIOS is configured with a RAID0 stripe set,
  with a single disk:

  $ dmraid -i -si
  *** Group superset .ddf1_disks
  --> Subset
  name   : ddf1_4c5349202020202080861d60000000004711471100001450
  size   : 974608384
  stride : 128
  type   : stripe
  status : ok
  subsets: 0
  devs   : 1
  spares : 0

  Notice that 'devs' is 1.

  This causes this bit of code in dm-activate to bail:

          case "$Raid_Type" in
                  stripe)
                          if [ "$Raid_Nodevs" -lt 2 ]; then
                                  if [ -n "$Degraded" ]; then
                                          log_error "Cannot bring up a RAID0 array in degraded mode, not all devices present."
                                  fi
                                  return 2
                          fi
                          ;;

  Of course, the above is totally bogus, a 1 disk RAID0 is perfectly
  valid. I wonder if this should be testing 'status' instead?

  This is a problem because of GPT partitioning. If you don't start the
  RAID downstream tools will attempt to partition sda. The RAID metadata
  at the end of the disk collides with the GPT partition backup and it
  ends up destroying the RAID set and making the server unbootable. The
  kernel hints at this condition:

  [    4.202136] GPT:Primary header thinks Alt. header is not at the end of the disk.
  [    4.202137] GPT:974608383 != 976773167
  [    4.202138] GPT:Alternate GPT header not at the end of the disk.
  [    4.202138] GPT:974608383 != 976773167

  Which is 100% true, the GPT was written to the RAID, not the raw disk,
  and 974608383 sectors is at the end of the raid volume.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dmraid/+bug/1361842/+subscriptions



More information about the foundations-bugs mailing list