[Bug 1912043] Re: grub2 fails to install/probe into md device when drives have moved around

Kees Cook 1912043 at bugs.launchpad.net
Sat Jan 16 17:28:33 UTC 2021


** Summary changed:

- grub2 fails to install/probe into md device with first drive not active (i.e. hot spare)
+ grub2 fails to install/probe into md device when drives have moved around

** Description changed:

  grub2 appears to _sometimes_ ignore md devices with a hot spare:
  
  $ cat /proc/mdstat
- Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
- md5 : active raid1 sda2[2](S) sdb2[3] sde2[4]
-       2925939136 blocks super 1.2 [2/2] [UU]
-       bitmap: 2/22 pages [8KB], 65536KB chunk
+ Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
+ md5 : active raid1 sda2[0](S) sdb2[1] sde2[2]
+       2925939136 blocks super 1.2 [2/2] [UU]
+       bitmap: 2/22 pages [8KB], 65536KB chunk
  
  md6 : active raid1 sdf2[0] sdd2[2](S) sdk2[1]
-       3902691136 blocks super 1.2 [2/2] [UU]
-       bitmap: 1/30 pages [4KB], 65536KB chunk
+       3902691136 blocks super 1.2 [2/2] [UU]
+       bitmap: 1/30 pages [4KB], 65536KB chunk
  
  unused devices: <none>
  
  $ sudo grub-probe -vvv / 2>&1 | grep -E 'info: Inserting md/|error'
  grub-probe: info: Inserting md/6 (+0,7805382272) into systemvg (lvm)
  grub-probe: error: disk `lvmid/5R9E1M-V0xL-pEsR-74zV-3oOm-JorM-hb2Erw/WHUtMx-lZcd-2RmH-WVSk-Z0Et-qiqS-hFBd4u' not found.
  
  If I remove the hotspare from md5, everything works normally and I can
- install grub again. But md6 has a spare too... ?!
+ install grub again.
+ 
+ And if devices have moved around enough internally that the internal
+ index doesn't match the max count any more, they also become invisible
+ to grub. For example:
+ 
+ $ cat /proc/mdstat
+ Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
+ md5 : active raid1 sdb2[3] sde2[4]
+       2925939136 blocks super 1.2 [2/2] [UU]
+       bitmap: 2/22 pages [8KB], 65536KB chunk
+ 
+ Note the "[3]" and "[4]". Unlike mdadm, grub was not checking beyond the
+ array size. This needs fixing as well.

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

Title:
  grub2 fails to install/probe into md device when drives have moved
  around

Status in grub2 package in Ubuntu:
  New

Bug description:
  grub2 appears to _sometimes_ ignore md devices with a hot spare:

  $ cat /proc/mdstat
  Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
  md5 : active raid1 sda2[0](S) sdb2[1] sde2[2]
        2925939136 blocks super 1.2 [2/2] [UU]
        bitmap: 2/22 pages [8KB], 65536KB chunk

  md6 : active raid1 sdf2[0] sdd2[2](S) sdk2[1]
        3902691136 blocks super 1.2 [2/2] [UU]
        bitmap: 1/30 pages [4KB], 65536KB chunk

  unused devices: <none>

  $ sudo grub-probe -vvv / 2>&1 | grep -E 'info: Inserting md/|error'
  grub-probe: info: Inserting md/6 (+0,7805382272) into systemvg (lvm)
  grub-probe: error: disk `lvmid/5R9E1M-V0xL-pEsR-74zV-3oOm-JorM-hb2Erw/WHUtMx-lZcd-2RmH-WVSk-Z0Et-qiqS-hFBd4u' not found.

  If I remove the hotspare from md5, everything works normally and I can
  install grub again.

  And if devices have moved around enough internally that the internal
  index doesn't match the max count any more, they also become invisible
  to grub. For example:

  $ cat /proc/mdstat
  Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
  md5 : active raid1 sdb2[3] sde2[4]
        2925939136 blocks super 1.2 [2/2] [UU]
        bitmap: 2/22 pages [8KB], 65536KB chunk

  Note the "[3]" and "[4]". Unlike mdadm, grub was not checking beyond
  the array size. This needs fixing as well.

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



More information about the foundations-bugs mailing list