Bug 17932

Summary: RFE: Add nice report for when RAID array not supported or corrupt
Product: [Retired] Red Hat Linux Reporter: Raphael Dorado <rdorado>
Component: anacondaAssignee: Jeremy Katz <katzj>
Status: CLOSED CURRENTRELEASE QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: low    
Version: 7.0Keywords: FutureFeature
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-07-28 22:35:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Raphael Dorado 2000-09-30 04:09:18 UTC
Traceback (innermost last):
  File "/usr/bin/anaconda", line 438, in ?
    intf.run(todo, test = test)
  File "/var/tmp/anaconda-7.0.1//usr/lib/anaconda/gui.py", line 336, in run
    self.icw.run ()
  File "/var/tmp/anaconda-7.0.1//usr/lib/anaconda/gui.py", line 678, in run
    mainloop ()
  File "/usr/lib/python1.5/site-packages/gtk.py", line 2554, in mainloop
    _gtk.gtk_main()
  File "/usr/lib/python1.5/site-packages/gtk.py", line 125, in __call__
    ret = apply(self.func, a)
  File "/var/tmp/anaconda-7.0.1//usr/lib/anaconda/gui.py", line 428, in
nextClicked
    self.setScreen (self.currentScreen, self.nextClicked)
  File "/var/tmp/anaconda-7.0.1//usr/lib/anaconda/gui.py", line 466, in
setScreen
    new_screen = screen.getScreen ()
  File "/var/tmp/anaconda-7.0.1//usr/lib/anaconda/iw/examine_gui.py", line
30, in getScreen
    self.parts = self.todo.upgradeFindRoot ()
  File "/var/tmp/anaconda-7.0.1//usr/lib/anaconda/todo.py", line 841, in
upgradeFindRoot
    mdList = raid.startAllRaid(drives)
  File "/var/tmp/anaconda-7.0.1//usr/lib/anaconda/raid.py", line 61, in
startAllRaid
    for (mdDevice, deviceList) in scanForRaid(driveList):
  File "/var/tmp/anaconda-7.0.1//usr/lib/anaconda/raid.py", line 25, in
scanForRaid
    (major, minor, raidSet, level, nrDisks, totalDisks, mdMinor) = \
  File "/usr/lib/anaconda/isys.py", line 37, in raidsb
    rc = _isys.getraidsb(fd)
ValueError: bad md magic on device

Local variables in innermost frame:
mdDevice: sda6
fd: 14

ToDo object:
(itodo
ToDo
p1
(dp2
S'method'
p3
(iimage
CdromInstallMethod
p4
(dp5
S'progressWindow'
p6

<failed>

Comment 1 Michael Fulbright 2000-10-02 22:46:22 UTC
Please include the partition structure of your drives and how they are
configured into RAID arrays.

Comment 2 Raphael Dorado 2000-10-03 06:53:36 UTC
Here follows my disk partitions and my raidtab file.
There is one RAID slice on each disk.

Disk /dev/sda: 255 heads, 63 sectors, 1116 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/sda1   *         1       262   2104483+  83  Linux
/dev/sda2           263      1116   6859755    5  Extended
/dev/sda5           263       524   2104483+   6  FAT16
/dev/sda6           525       786   2104483+  fd  Linux raid autodetect
/dev/sda7           787       819    265041   82  Linux swap
/dev/sda8           820      1116   2385621   83  Linux

Disk /dev/sdb: 255 heads, 63 sectors, 1116 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/sdb1   *         1       523   4200966   83  Linux
/dev/sdb2           524      1116   4763272+   5  Extended
/dev/sdb5           524       785   2104483+  fd  Linux raid autodetect
/dev/sdb6           786       818    265041   82  Linux swap
/dev/sdb7           819      1116   2393653+   6  FAT16

raiddev /dev/md0
    raid-level              0
    nr-raid-disks           2
    persistent-superblock   0
    chunk-size              8

    device                  /dev/sda6
    raid-disk               0
    device                  /dev/sdb5
    raid-disk               1




Comment 3 Michael Fulbright 2000-10-03 22:01:37 UTC
How did you create the RAID slices?   The installer is looking at the RAID
superblock on /dev/sda6 and it is not seeing the magic bytes to tell it is a
RAID component. I haven't seen this problem before.


Comment 4 Raphael Dorado 2000-10-03 23:58:10 UTC
I think I created the /etc/raidtab file and then
ran 'mkraid' then 'mke2fs /dev/md0'.
BUT, I'm getting weird messages when the machine
boots even tho I can use the /dev/md0 without
problems.

I guess I'm a bit guilty of inproper usage of the
RAID stuff, and I changed the priority to 'normal'.
My goal is to help you build a rock solid 7.1, I
will stick with 6.2 until then.

Here is my 'dmesg' output:
 

 0    0    0    00
 10 0FF 0F  1    1    0   1   0    1    1    A1
 11 0FF 0F  1    1    0   1   0    1    1    A9
 12 0FF 0F  1    1    0   1   0    1    1    B1
 13 0FF 0F  1    1    0   1   0    1    1    B9
 14 000 00  1    0    0   0   0    0    0    00
 15 000 00  1    0    0   0   0    0    0    00
 16 000 00  1    0    0   0   0    0    0    00
 17 000 00  1    0    0   0   0    0    0    00
IRQ to pin mappings:
IRQ0 -> 2
IRQ1 -> 1
IRQ3 -> 3
IRQ4 -> 4
IRQ6 -> 6
IRQ7 -> 7
IRQ8 -> 8
IRQ11 -> 11
IRQ12 -> 12
IRQ14 -> 14
IRQ16 -> 16
IRQ17 -> 17
IRQ18 -> 18
IRQ19 -> 19
.................................... done.
checking TSC synchronization across CPUs: passed.
PCI: PCI BIOS revision 2.10 entry at 0xf0730
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI->APIC IRQ transform: (B0,I4,P3) -> 19
PCI->APIC IRQ transform: (B0,I6,P0) -> 19
PCI->APIC IRQ transform: (B0,I10,P0) -> 18
PCI->APIC IRQ transform: (B0,I11,P0) -> 17
PCI->APIC IRQ transform: (B1,I0,P0) -> 16
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
TCP: Hash tables configured (ehash 262144 bhash 65536)
Initializing RT netlink socket
Starting kswapd v 1.5 
vesafb: framebuffer at 0xde000000, mapped to 0xd0009000, size 4096k
vesafb: mode is 1280x1024x8, linelength=1280, pages=2
vesafb: protected mode interface info at c000:02e5
vesafb: scrolling: redraw
Console: switching to colour frame buffer device 160x64
fb0: VESA VGA frame buffer device
Detected PS/2 Mouse Port.
Serial driver version 4.27 with MANY_PORTS MULTIPORT SHARE_IRQ enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS02 at 0x03e8 (irq = 4) is a 16550A
pty: 256 Unix98 ptys configured
apm: BIOS version 1.2 Flags 0x0b (Driver version 1.13)
apm: disabled - APM is not SMP safe.
Real Time Clock Driver v1.09
RAM disk driver initialized:  16 RAM disks of 4096K size
PIIX4: IDE controller on PCI bus 00 dev 21
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xd800-0xd807, BIOS settings: hda:DMA, hdb:pio
hda: FUJITSU MPA3017ATU, ATA DISK drive
ide2: ports already in use, skipping probe
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: FUJITSU MPA3017ATU, 1668MB w/0kB Cache, CHS=847/64/63
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
md driver 0.90.0 MAX_MD_DEVS=256, MAX_REAL=12
raid5: measuring checksumming speed
raid5: MMX detected, trying high-speed MMX checksum routines
   pII_mmx   :  1131.951 MB/sec
   p5_mmx    :  1179.195 MB/sec
   8regs     :   866.013 MB/sec
   32regs    :   509.397 MB/sec
using fastest function: p5_mmx (1179.195 MB/sec)
scsi : 0 hosts.
scsi : detected total.
md.c: sizeof(mdp_super_t) = 4096
Partition check:
 hda: hda1 hda2
RAMDISK: Compressed image found at block 0
autodetecting RAID arrays
autorun ...
... autorun DONE.
VFS: Mounted root (ext2 filesystem).
(scsi0) <Adaptec AIC-7890/1 Ultra2 SCSI host adapter> found at PCI 0/6/0
(scsi0) Wide Channel, SCSI ID=7, 32/255 SCBs
(scsi0) Downloading sequencer code... 392 instructions downloaded
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.30/3.2.4
       <Adaptec AIC-7890/1 Ultra2 SCSI host adapter>
scsi : 1 host.
(scsi0:0:0:0) Synchronous at 40.0 Mbyte/sec, offset 15.
  Vendor: IBM       Model: DRVS09V           Rev: 0370
  Type:   Direct-Access                      ANSI SCSI revision: 03
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
(scsi0:0:1:0) Synchronous at 40.0 Mbyte/sec, offset 15.
  Vendor: IBM       Model: DRVS09V           Rev: 0270
  Type:   Direct-Access                      ANSI SCSI revision: 03
Detected scsi disk sdb at scsi0, channel 0, id 1, lun 0
(scsi0:0:2:0) Synchronous at 20.0 Mbyte/sec, offset 15.
  Vendor: SEAGATE   Model: ST15150W          Rev: 0023
  Type:   Direct-Access                      ANSI SCSI revision: 02
Detected scsi disk sdc at scsi0, channel 0, id 2, lun 0
(scsi0:0:3:0) Synchronous at 8.0 Mbyte/sec, offset 31.
  Vendor: YAMAHA    Model: CRW4416S          Rev: 1.0g
  Type:   CD-ROM                             ANSI SCSI revision: 02
Detected scsi CD-ROM sr0 at scsi0, channel 0, id 3, lun 0
sr0: scsi3-mmc drive: 16x/16x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.10
SCSI device sda: hdwr sector= 512 bytes. Sectors= 17928698 [8754 MB] [8.8 GB]
 sda: sda1 sda2 < sda5 sda6 sda7 sda8 >
SCSI device sdb: hdwr sector= 512 bytes. Sectors= 17928698 [8754 MB] [8.8 GB]
 sdb: sdb1 sdb2 < sdb5 sdb6 sdb7 >
SCSI device sdc: hdwr sector= 512 bytes. Sectors= 8388315 [4095 MB] [4.1 GB]
 sdc: sdc1
autodetecting RAID arrays
(read) sda6's sb offset: 2104384 [events: 0000000d]
(read) sdb5's sb offset: 2104384 [events: 0000000d]
autorun ...
considering sdb5 ...
  adding sdb5 ...
  adding sda6 ...
created md0
bind<sda6,1>
bind<sdb5,2>
running: <sdb5><sda6>
now!
sdb5's event counter: 0000000d
sda6's event counter: 0000000d
kmod: failed to exec /sbin/modprobe -s -k md-personality-2, errno = 2
do_md_run() returned -22
unbind<sdb5,1>
export_rdev(sdb5)
unbind<sda6,0>
export_rdev(sda6)
md0 stopped.
... autorun DONE.
VFS: Mounted root (ext2 filesystem) readonly.
change_root: old root has d_count=1
Trying to unmount old root ... okay
Freeing unused kernel memory: 76k freed
Adding Swap: 265032k swap-space (priority -1)
Adding Swap: 265032k swap-space (priority -2)
Creative SBLive! at 0xb800 on irq 18
(read) sda6's sb offset: 2104384 [events: 0000000d]
(read) sdb5's sb offset: 2104384 [events: 0000000d]
autorun ...
considering sdb5 ...
  adding sdb5 ...
  adding sda6 ...
created md0
bind<sda6,1>
bind<sdb5,2>
running: <sdb5><sda6>
now!
sdb5's event counter: 0000000d
sda6's event counter: 0000000d
raid0 personality registered
mask ffffffc0
 rdev->size: 2104384
 masked rdev->size: 2104384
  new md_size: 2104384
 rdev->size: 2104384
 masked rdev->size: 2104384
  new md_size: 4208768
md0: max total readahead window set to 512k
md0: 2 data-disks, max readahead per data-disk: 256k
raid0: looking at sda6
raid0:   comparing sda6(2104384) with sda6(2104384)
raid0:   END
raid0:   ==> UNIQUE
raid0: 1 zones
raid0: looking at sdb5
raid0:   comparing sdb5(2104384) with sda6(2104384)
raid0:   EQUAL
raid0: FINAL 1 zones
zone 0
 checking sda6 ... contained as device 0
  (2104384) is smallest!.
 checking sdb5 ... contained as device 1
 zone->nb_dev: 2, size: 4208768
current zone offset: 2104384
done.
raid0 : md_size is 4208768 blocks.
raid0 : conf->smallest->size is 4208768 blocks.
raid0 : nb_zone is 1.
raid0 : Allocating 8 bytes for hash.
md: updating md0 RAID superblock on device
sdb5 [events: 0000000e](write) sdb5's sb offset: 2104384
sda6 [events: 0000000e](write) sda6's sb offset: 2104384
.
... autorun DONE.
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
tulip.c:v0.91g-ppc 7/16/99 becker.nasa.gov
eth0: Lite-On 82c168 PNIC rev 32 at 0xb000, 00:C0:F0:56:12:D6, IRQ 17.
eth0:  MII transceiver #1 config 3100 status 7829 advertising 01e1.
ne.c:v1.10 9/23/94 Donald Becker (becker.nasa.gov)
NE*000 ethercard probe at 0x220: 00 80 c6 05 b5 01
eth1: NE2000 found at 0x220, using IRQ 3.


Comment 5 Michael Fulbright 2000-10-04 16:07:12 UTC
I think when you created the RAID array you needed to tell mkraid to create a
superblock. Since you didn't we can't detect what type of RAID you have. 

What mount point is the RAID device mounted as? If it is not needed during the
install process you could just remove /dev/md0 from your fstab, do the upgrade,
then add it back afterwards. I think that the real solution is going to be to
back the data off the drives, use anaconda to create the RAID device, install,
and then put the data back on it.

I am going to change this bug to an enhancement request to nicely report when a
RAID configuration is unsupported via a dialog box.

Comment 6 Michael Fulbright 2000-10-09 19:47:51 UTC
*** Bug 16832 has been marked as a duplicate of this bug. ***

Comment 7 Michael Fulbright 2000-10-19 21:43:21 UTC
*** Bug 19292 has been marked as a duplicate of this bug. ***

Comment 8 Michael Fulbright 2000-10-24 18:50:16 UTC
*** Bug 17905 has been marked as a duplicate of this bug. ***

Comment 9 Jeremy Katz 2003-07-28 22:35:27 UTC
We handle this better now