Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Mar 1998 18:30:29 -0800 (PST)
From:      Simon Shapiro <shimon@simon-shapiro.org>
To:        Alfred Perlstein <perlsta@cs.sunyit.edu>, FreeBSD-DOC@FreeBSD.ORG, Jordan Hubbard <jkh@FreeBSD.ORG>
Cc:        hackers@FreeBSD.ORG
Subject:   RE: DPT driver?
Message-ID:  <XFMail.980316183029.shimon@simon-shapiro.org>
In-Reply-To: <00bb01bd5124$f230d140$0600a8c0@win95.local.sunyit.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
I apologize for the cross posting, but I get this question at least once a
week.  To save bandwidth and my cellular phone bill, can it be considreted
for inclusion in the FreeBSD handbook?

Jordan, Are you interested in this info as a core for an article for the
newsletter?


On 16-Mar-98 Alfred Perlstein wrote:
> i'm a little confused by the DPT driver, other than examining the source
>:)
> is there any documentation on it?

Yup.  Try roaming ftp://simon-shapiro.org/crash.  If not, It will be in the
next patch to the driver.  I am giving Julian a bit of rest from my
checkins...  If you need it soon, let me know.  I can post it here, or send
it to whoever asks for it.

> (i'm a scsi and RAID newbie, so please excuse this)
> 
> a few simple questions about dpt0 that were unclear in the LINT file:
> 1) is it stable?

More than the LINT kernel :-)  It is in heavy production environment for
many months.  Both 2.2 and 3.0.  the 2.2 version is a little more stale,
but the DPT interface is virtually identical to 3.0.

> 2) does it have an dependancies i should know about?

The DPT cards (not the driver) seem to barf at some fx340 motherboards.
The driver depends on software interrupts for queue management.  It comes
with its own version on 2.2, and uses the CAM equivalent in 3.0.  No other
dependencies exist today.

Ooops.  The 2.2 driver only supports 3.0, not 2.2 (FreeBSD, that is).

> 3) does it "work" with all PCI scsi cards, or only specific hardware?

ALL DPT SCSI cards, ISA=EISA=PCI, use exactly the same protocol and appear
to the driver to be the same.  The only difference is in the bus probing
and initialization.  Matthew Dodd wrote EISA support for 3.0 and that was
integrated with the driver and added to the normal 3.0-current source tree
a week ago (Thanx Matthew, Thanx Julian).

> 4) a terse explanation on setting it up?

The white paper explains it.  So does my web page http://simon-shapiro.org,
but here is an outline (yet again):

a.  Use the supplied DOS floppies to run dptmgr/fw0.
b.  Use Other O/S, or Linux
c.  Set up your RAID arrays to your heart's content (http://www.dpt.com
    contains some good advise on that.  So is the manual that comes wit hthe
    card.
d.  Save your setup and exit.
e.  Your RAID arrays will appear to the BIOS  and ANY O/S you boot as
    single disks. (a whole array looks like one large disk.

Example:  PM3334UW with SX4030/2 has a total of three SCSI busses.  You
          have a RS/7UWR disk bay with seven 9GB drives.  You also have two
          2GB drives you found in the closet and want to use for a
          fault-resistant boot disk.  The 7 disks will be used to ccreate a
          fault tolerant mail server, so they will go into /var/qmail, as
          one giant filesystem.  You want the utmost in reliability and zero
          downtime.  We will compromise a bit on that, to make the example
          more ``interesting''.

*  Using the internal ribbon cable that came with your controller, you hook
   up the two junk drives to bus 0. You set them up as target ID 0, and
   target ID 1.  They will be known as B0-0, and B0-1

*  You split the RS/7UWR cabinet into two busses.  3 disks on one,  four on
   the other.  the disks will thus be known as B1-0, B1-1, B1-2, B1-3 and
   B2-0, B2-1, B2-2.

*  Boot DOS, put Floppy 1 in the drive and type dptmgr/fw0

*  In the DPTMGR, create an array, optimize for speed, select drives B0-0
   and B0-1, Done Adding drives.  Select the File option, Set System
   Parameters.  Since this is a RAID-1, you are given a chance to copy one
   drive on another or wipe them both clean.  Choose what you like (Yes,
   this is a good trick to duplicate completely installed systems).  While
   the array builds (Blue flag, as opposed to Black), double-click on the
   array icon, and on Name.  Set the array name to something you will
   recognize and the boss will be impressed/confused by.

*  Now build another RAID array, Optimize for Capacity, choose a stripe
   size of 32KB or larger (it depends on application types, amount of cache,
   the position of the moon in the southern hemisphere sky and few other
   things).

*  Add to this array, IN THIS ORDER, driver b1-0, b2-0, b1-1, b2-1, b1-2,
   b2-2.

*  File->Set System parameters.  While the array builds, change its name as
   above.

*  Select the leftover drive (should be b2-3, right?).  Click on Make Hot
   Spare.  Again File->Save System Parameters.  If the drive is the same or
   larger capacity as the other drives in your system (which are hooked up
   to that one DPT), the arrays will bet a little ``Red-Cross'' in their
   icon. This means they are protected by a HotSpare;  If a drive failed,
   the hot spare will replace the bad drive automagically.  when you put a
   new drive instead of the dead one, it (the replacement) will become the
   new hot spare.  No user intervention needed.


*  Go home.  Building an array of this size takes some time.  If you are
   brave (DPT support says ``stupid), you can use the /nobuild option to
   dptmgr.  Arrays build very quickly, but...

*  Let's say, you called the internal RAID-1 array Foo-Boot, and the big
   array Foo-Mail. When you boot your system, both the BIOS, and the DPT
   driver (independantly of each other), will report that you have 
   ``only'' TWO disk drives in the system.   If you used the DPT kernel
   config file from ftp://simon-shapiro.org/crash, you will have an sd0
   which will be a disk model Foo-Boot, Vendor DPT, revision 7LR (or
   whatever    your firmware is), and an sd16 which will be model Foo-Mail,
   Vendor DPT, version 7LR. there is no way, in the standard driver, for
   you to see the host spare (B2-3), nor can you see the individual disks.
   Moreover, you will not get timeouts, bus errors, resets, read/write
   errors, or any such thing into Unix, unless more than one drive failed
   in an array.

*  Install whatever O/S you choose, slicing, partitioning, any way you
   choose.  You will probably use sd0, the  Foo-Boot disk for most
   filesystems, and sd16 for /var/qmail.

*  If you loose a drive, the DPT will beep angily.  Once it calms down, it
   will emit a pattern of beeps to indicate what's fgoing on.  I modify all
   my boards to bring the 10 diagnostics LEDs to the fron of the machine. 
   Do NOT do that, unless you are really good at surface mount soldering and
   do not care about the lifetime warranty on your $900 controller.

Configuring a DPT for multi-initiator, High Availability Server exceeds the
space in this note.  There is a forthcoming paper describing that too.
 

----------


Sincerely Yours, 

Simon Shapiro
Shimon@Simon-Shapiro.ORG                      Voice:   503.799.2313

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



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