Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Dec 1998 01:05:29 -0500
From:      Matthew Patton <patton@sysnet.net>
To:        Dan Swartzendruber <dswartz@druber.com>
Cc:        freebsd-isp@FreeBSD.ORG
Subject:   Re: RAID solutions?
Message-ID:  <l03110705b29e428c72d1@[192.168.1.10]>
In-Reply-To: <3.0.5.32.19981215231329.00966ae0@mail.kersur.net>

next in thread | previous in thread | raw e-mail | index | archive | help
for a news spool you want SPEED, SPEED, and SPEED!! You do *NOT* want RAID5
(it's damn slow on writes) and most definately NOT in software. Get a slew
of disks and use raid 10 (stripe + mirror) for utmost speed. Given modern
disks, 4 on a channel will tend to saturate the bus. Theoretical
performance numbers will not be reached due to firmware bugs in drives
(common) or inefficient drivers.

Here are my suggestions, all are predominantly HW based. In all cases, 1
hot spare per channel. Plenty of ambient cooling and power regulation is
needed. In addition to the simple 'art' of RAID selection there is also
'slice/interleave' size to factor in. With drives doing full track read
aheads with their own fancy algorithms and varying lamounts of onboard
cache, precise numbers are very difficult to come up with. It depends on
what kinds of IO you do. On a database, I would probably use 16 or 32kb. A
media server (large files) 64kb or more. On boxes with lots of small sizes,
accessed randomly and rapidly, 8 or 16kb. But you dont' want to fill up the
controller's command queue with too many commands.

<case 1>
1 FAST!! SCSI controller in host.
2 or 3 channel RAID card with 32MB RAM.
4 active disks per channel, 1 hot spare per channel.

with 2 channel card:
preferred:
  interlace disks (stripe same letter [A1-A4], mirror across letters [A->B])
  you can afford to loose a whole channel and it will stay up.
  theoretical maximum READ thruput (forced balancing)
  slightly more involved ASIC computational overhead

	A1	A2
	A3	A4
	B2	B1
	B4	B3


next best:
  strip the disks (raid 0) per channel
  Mirror across the SCSI channels
  higher probability for IO contention on reads (high load on SCSI queue)
  RAID controller may favor one bus instead of using both
  conceptually simpler design, less computational overhead in RAID ASIC

	A1	B1
	A2	B2
	A3	B3
	A4	B4


With the 3 channel card you can do RAID 50 two ways:
preferred:
  stripe disks (raid 0) per channel
  raid 5 across the 3 channels (A->B->C)
  near maximum READ thruput
	A1	B1	C1
	A2	B2	C2
	A3	B3	C3
	A4	B4	C4

next best:
  raid 5 the drives per channel
  stripe (raid 0) across channels
  heavy IO contention per write on channel
	A1	A2	A3
	B1	B2	B3
	C1	C2	C3
	D1	D2	D3

Or you can interlace the stripe and mirror drives across the busses for
RAID 10.
	A1	A2	A3
	B2	B3	B1
	A4	A5	A6
	B5	B6	B4

<case 2>
2 FAST!! scsi controllers in host
2 independant RAID units (2 or maybe three channel) with drives

(see above for arrangement options)
preferred: (you can afford to loose a whole scsi card in the host)
 raid 1 across host scsi cards

next best:
 stripe (raid 0) across host scsi cards
 probably not smart at all

--------
OpenBSD - Because security matters... (http://www.openbsd.org/)

"There is one terrifying word in the world of nuclear physics, Oops."
 - Tom Servo, Mystery Science Theator 3000



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-isp" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?l03110705b29e428c72d1>