kernel 2.6.32 orders SCSI disks differently than 2.6.26, breaking mdadm on boot
Package: linux-image-2.6.32-bpo.5-686
Version: 2.6.32-26~bpo50+1
Hi,
The analogous 2.6.26 kernel from lenny works fine on this Compaq ML330e,
as does a vanilla 2.6.27.x. This is what the latter shows:
% lspci | grep -i scsi
05:02.0 SCSI storage controller: Adaptec AIC-7892A U160/m (rev 02)
% dmesg
[...]
aic7xxx 0000:05:02.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0
<Adaptec (Compaq OEM) 29160 Ultra160 SCSI adapter>
aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
Driver 'sd' needs updating - please use bus_type methods
[...]
scsi: waiting for bus probes to complete ...
scsi 0:0:0:0: Direct-Access SEAGATE ST373207LW 0005 PQ: 0 ANSI: 3
scsi0:A:0:0: Tagged Queuing enabled. Depth 32
target0:0:0: Beginning Domain Validation
target0:0:0: wide asynchronous
target0:0:0: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 63)
target0:0:0: Ending Domain Validation
scsi 0:0:1:0: Direct-Access COMPAQ BD018734A4 3B12 PQ: 0 ANSI: 2
scsi0:A:1:0: Tagged Queuing enabled. Depth 32
target0:0:1: Beginning Domain Validation
target0:0:1: wide asynchronous
target0:0:1: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 63)
target0:0:1: Domain Validation skipping write tests
target0:0:1: Ending Domain Validation
scsi 0:0:2:0: Direct-Access COMPAQ BD03695A27 HPB7 PQ: 0 ANSI: 3
scsi0:A:2:0: Tagged Queuing enabled. Depth 32
target0:0:2: Beginning Domain Validation
target0:0:2: wide asynchronous
target0:0:2: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 31)
target0:0:2: Domain Validation skipping write tests
target0:0:2: Ending Domain Validation
sd 0:0:0:0: [sda] 143374744 512-byte hardware sectors (73408 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: ab 00 10 08
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
sd 0:0:0:0: [sda] 143374744 512-byte hardware sectors (73408 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: ab 00 10 08
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
sda: sda1 sda2 sda3 sda4 < sda5 sda6 >
sd 0:0:0:0: [sda] Attached SCSI disk
sd 0:0:1:0: [sdb] 35565080 512-byte hardware sectors (18209 MB)
sd 0:0:1:0: [sdb] Write Protect is off
sd 0:0:1:0: [sdb] Mode Sense: f7 00 10 08
sd 0:0:1:0: [sdb] Write cache: disabled, read cache: enabled, supports DPO and FUA
sd 0:0:1:0: [sdb] 35565080 512-byte hardware sectors (18209 MB)
sd 0:0:1:0: [sdb] Write Protect is off
sd 0:0:1:0: [sdb] Mode Sense: f7 00 10 08
sd 0:0:1:0: [sdb] Write cache: disabled, read cache: enabled, supports DPO and FUA
sdb: sdb1
sd 0:0:1:0: [sdb] Attached SCSI disk
sd 0:0:2:0: [sdc] 71132000 512-byte hardware sectors (36420 MB)
sd 0:0:2:0: [sdc] Write Protect is off
sd 0:0:2:0: [sdc] Mode Sense: d3 00 10 08
sd 0:0:2:0: [sdc] Write cache: disabled, read cache: enabled, supports DPO and FUA
sd 0:0:2:0: [sdc] 71132000 512-byte hardware sectors (36420 MB)
sd 0:0:2:0: [sdc] Write Protect is off
sd 0:0:2:0: [sdc] Mode Sense: d3 00 10 08
sd 0:0:2:0: [sdc] Write cache: disabled, read cache: enabled, supports DPO and FUA
sdc: sdc1 sdc2 sdc3 sdc4
sd 0:0:2:0: [sdc] Attached SCSI disk
[...]
% sudo fdisk -l
Disk /dev/sda: 73.4 GB, 73407868928 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sda1 1 365 2931831 fd Linux raid autodetect
/dev/sda2 366 487 979965 fd Linux raid autodetect
/dev/sda3 488 2213 13864095 fd Linux raid autodetect
/dev/sda4 2214 8924 53906107+ 5 Extended
/dev/sda5 2214 4426 17775891 fd Linux raid autodetect
/dev/sda6 4427 8924 36130153+ 83 Linux
Disk /dev/sdb: 18.2 GB, 18209320960 bytes
255 heads, 63 sectors/track, 2213 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0002cfa7
Device Boot Start End Blocks Id System
/dev/sdb1 1 2213 17775891 fd Linux raid autodetect
Disk /dev/sdc: 36.4 GB, 36419584000 bytes
255 heads, 63 sectors/track, 4427 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0003630e
Device Boot Start End Blocks Id System
/dev/sdc1 1 365 2931831 fd Linux raid autodetect
/dev/sdc2 366 487 979965 fd Linux raid autodetect
/dev/sdc3 488 2213 13864095 fd Linux raid autodetect
/dev/sdc4 2214 4427 17783955 fd Linux raid autodetect
[...]
Those sd[abc] devices I had in /etc/mdadm/mdadm.conf:
% grep '^[^#]' /etc/mdadm/mdadm.conf~
DEVICE partitions
CREATE owner=root group=disk mode=0660 auto=yes
HOMEHOST <system>
MAILADDR root
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=f85b1d5f:eac6fcc2:6ff23655:c12e5576 devices=/dev/sda1,/dev/sdc1
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=27bdc950:43f70a9f:794fbc05:4d5b06f8 devices=/dev/sda2,/dev/sdc2
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=04820888:f96e9dc9:9bf82419:c5182275 devices=/dev/sda3,/dev/sdc3
ARRAY /dev/md3 level=raid5 num-devices=3 UUID=bb5e53aa:ad5adc7b:8a6e0f38:5f13e510 devices=/dev/sda5,/dev/sdb1,/dev/sdc4
But, when I booted the new .32 kernel from lenny-backports, the machine
wouldn't assemble md0, which holds the root partition, because sda1 and sdc1
were something different than before. (I think it showed sdb and sdd, but
I'm uncertain because I didn't happen to properly boot that after assembling
the partition holding /var/log/kern.org from which I could paste...)
It occured to me that, given that I have UUIDs, I can remove the 'devices'
setting from there, so I did that (and it also works with 2.6.27).
I'm guessing a mdadm package backport would do this for me. Would it?
But there isn't one at all, so it's moot anyway...
One of the automounted partitions in my /etc/fstab is /dev/sda6, and I knew
there was a debconf question for that, so I ran dpkg-reconfigure linux-base
and it readjusted fstab and udev, but not mdadm.conf.
--
2. That which causes joy or happiness.
Reply to: