Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

1.5TB drives = fail (RAIDframe/fdisk/sysinst)

I fitted 4x 1.5TB Seagate drives to a machine the other day with the intention of having a couple of smallish RAID-1s for root and swap at the start of each (yes, I know RAIDframe can only have 2 components in a RAID-1) and a RAID-5 across all 4 for the bulk of the storage. I've done this numerous times with 750GB and 1TB drives.

The drives identify themselves as:
wd0 at atabus2 drive 0: <ST31500341AS>
wd0: quirks 2<FORCE_LBA48>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 1397 GB, 2907018 cyl, 16 head, 63 sec, 512 bytes/sect x 2930275055 sectors
wd0: 32-bit data port

With 1.5TB drives, the first tripping point was that sysinst reported the drive to be installed on was -666353 sectors in size and thus could not be partitioned. For me that wasn't a showstopper as I've written a script to create RAID-1/RAID-5 as specified from a standard non-RAID disk, so I booted from a USB installation and got my script to do the fdisk/disklabel/raidctl/newfs stages appropriately.

The next problem is the drives are not bootable. I get "Error No Operating System". installboot happily claims to install the mbr code. However fdisk says:

Disk: /dev/rwd0d
NetBSD disklabel disk geometry:
cylinders: 2907018, heads: 16, sectors/track: 63 (1008 sectors/cylinder)
total sectors: 2930275055

BIOS disk geometry:
cylinders: 1024, heads: 240, sectors/track: 63 (15120 sectors/cylinder)
total sectors: 2930275055

Partition table:
1: NetBSD (sysid 169)
    start 6291520, size 2923983535 (1427726 MB, Cyls 416/25/26-193801/62/29), 
        PBR is not bootable: All bytes are identical (0x00)
Bootselector disabled.
First active partition: 1

disklabels look healthy:
# /dev/rwd0d:
type: ESDI
disk: ST31500341AS
label: fictitious
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 2907018
total sectors: 2930275055
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # microseconds
track-to-track seek: 0  # microseconds
drivedata: 0

7 partitions:
#        size    offset     fstype [fsize bsize cpg/sgs]
 a:   4128705        63       RAID                     # (Cyl.      0*-   4095)
 b:   2028096   4128768       RAID                     # (Cyl.   4096 -   6107)
 c: 2923983535   6291520     unused      0     0        # (Cyl.   6241*- 
 d: 2930275055         0     unused      0     0        # (Cyl.      0 - 
 e: 2924118191   6156864       RAID                     # (Cyl.   6108 - 

I worked around the boot problem by creating a boot CD with a boot.cfg file containing:
menu=Boot from HDD:boot hd0a:/netbsd

The next issue is that while I successfully created the RAID-5 array, RAIDframe insists on failing one component immediately and will not rebuild onto it (raidctl -R). The drive checks out OK with dd.
Relevant dmesg components:

raid0: RAID Level 1
raid0: Components: /dev/wd1a /dev/wd0a
raid0: Total Sectors: 4128640 (2015 MB)
raid1: RAID Level 1
raid1: Components: /dev/wd1b /dev/wd0b
raid1: Total Sectors: 2028032 (990 MB)
raid2: RAID Level 5
raid2: Components: /dev/wd0e /dev/wd1e /dev/wd2e /dev/wd3e[**FAILED**]
raid2: Total Sectors: 8772354360 (4283376 MB)
raid2: WARNING: raid2: total sector size in disklabel (182419768) != the size 
of raid (182419768)
raid2: Error re-writing parity!

But raidctl -R gives:

raid2: initiating in-place reconstruction on column 3
raid2: Recon write failed!
raid2: reconstruction failed.

The messages come back immediately.

This is all with netbsd-5


Home | Main Index | Thread Index | Old Index