Subject: Re: NetBSD, apple fibre-channel card & 2.8TB Xserve-RAID
To: Jonathan Kay <jpk@panix.com>
From: Greg A. Woods <woods@weird.com>
List: tech-kern
Date: 12/03/2004 15:03:00
[ On Wednesday, December 1, 2004 at 18:11:16 (-0500), Jonathan Kay wrote: ]
> Subject: NetBSD, apple fibre-channel card & 2.8TB Xserve-RAID
>
> 
>   I have a Xserve RAID w/ 7x400GB drives that are raid-5'd together that
> I'm trying to get to talk nicely with NetBSD via apple's PCI-X fibre-channel
> card & am running into problems.

I've not had such bad problems with only 7x250GB drives....   :-)

(at least not with the qlogic 2342 cards and isp(4) driver on an Alpha ES40)

Of course since the real limit in disklabels and FFS is 2^32 sectors per
partition and per filesystem the array has to be re-configured to
present separate LUNs of no more than one terabyte each.

I.e. I can boot and probe the 1402GB LUN (this from -current, but it's
much the same from 1.6.2_STABLE):

isp0 at pci0 dev 3 function 0: QLogic Dual Port FC-AL and 2Gbps Fabric HBA
isp0: interrupting at dec 6600 irq 16
isp0: bad execution throttle of 0- using 16
scsibus2 at isp0: 256 targets, 8 luns per target
isp1 at pci1 dev 2 function 0: QLogic Dual Port FC-AL and 2Gbps Fabric HBA
isp1: interrupting at dec 6600 irq 28
isp1: bad execution throttle of 0- using 16
scsibus3 at isp1: 256 targets, 8 luns per target
sd5 at scsibus2 target 1 lun 0: <APPLE, Xserve RAID, 1.21> disk fixed
sd5: 1402 GB, 179526 cyl, 128 head, 128 sec, 512 bytes/sect x 2941353984 sectors
sd6 at scsibus3 target 1 lun 0: <APPLE, Xserve RAID, 1.21> disk fixed
sd6: 1402 GB, 179526 cyl, 128 head, 128 sec, 512 bytes/sect x 2941353984 sectors

(hmmmm I see your new model has 1.24 firmware -- maybe we should upgrade
before we go into production!)

However if I try to use the default label and partition the whole 1402GB
device, I get negative numbers and no luck creating any partition past
the first 1TB:

[console]<@> # disklabel sd6
# /dev/rsd6c:
type: SCSI
disk: Xserve RAID
label: fictitious
flags:
bytes/sector: 512
sectors/track: 128
tracks/cylinder: 128
sectors/cylinder: 16384
cylinders: 179526
total sectors: 2941353984
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # microseconds
track-to-track seek: 0  # microseconds
drivedata: 0 

3 partitions:
#        size    offset     fstype  [fsize bsize cpg/sgs]
 c: -1353613312         0     4.2BSD      0     0     0   # (Cyl.    0 - 179525)


Limiting the label to just 1TB (2^32 sectors) works fine though.

So, I suspect you too will be forced to slice up each chunk of RAID-5
into multiple LUNs of 1TB or less each and thus your problem will
effectively disappear as the kernel won't see too many sectors in the
first place.

-- 
						Greg A. Woods

+1 416 218-0098                  VE3TCP            RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com>          Secrets of the Weird <woods@weird.com>