1 |
199 |
simons |
Mylex DAC960 PCI RAID Controller Driver for Linux
|
2 |
|
|
|
3 |
|
|
Version 2.0.0 for Linux 2.0.36
|
4 |
|
|
Version 2.1.0 for Linux 2.1.130
|
5 |
|
|
|
6 |
|
|
BETA TEST RELEASE 3
|
7 |
|
|
|
8 |
|
|
23 November 1998
|
9 |
|
|
|
10 |
|
|
Leonard N. Zubkoff
|
11 |
|
|
Dandelion Digital
|
12 |
|
|
lnz@dandelion.com
|
13 |
|
|
|
14 |
|
|
Copyright 1998 by Leonard N. Zubkoff
|
15 |
|
|
|
16 |
|
|
|
17 |
|
|
INTRODUCTION
|
18 |
|
|
|
19 |
|
|
Mylex, Inc. designs and manufactures a variety of high performance PCI RAID
|
20 |
|
|
controllers based on the Intel i960 processor. Mylex Corporation is located at
|
21 |
|
|
34551 Ardenwood Blvd., Fremont, California 94555, USA and can be reached at
|
22 |
|
|
510/796-6100 or on the World Wide Web at http://www.mylex.com. Mylex RAID
|
23 |
|
|
Technical Support can be reached by electronic mail at support@mylex.com, by
|
24 |
|
|
Voice at 510/608-2400, or by FAX at 510/745-7715. Contact information for
|
25 |
|
|
offices in Europe and Japan is available on the Web site.
|
26 |
|
|
|
27 |
|
|
The latest information on Linux support for DAC960 PCI RAID Controllers, as
|
28 |
|
|
well as the most recent release of this driver, will always be available from
|
29 |
|
|
my Linux Home Page at URL "http://www.dandelion.com/Linux/".
|
30 |
|
|
|
31 |
|
|
Bug reports should be sent via electronic mail to "lnz@dandelion.com". Please
|
32 |
|
|
include with the bug report the complete configuration messages reported by the
|
33 |
|
|
driver at startup, along with any subsequent system messages relevant to the
|
34 |
|
|
controller's operation, and a detailed description of your system's hardware
|
35 |
|
|
configuration.
|
36 |
|
|
|
37 |
|
|
Please consult the DAC960 documentation for detailed information regarding
|
38 |
|
|
installation and configuration of the controllers. This document primarily
|
39 |
|
|
provides information specific to the Linux DAC960 support.
|
40 |
|
|
|
41 |
|
|
|
42 |
|
|
DRIVER FEATURES
|
43 |
|
|
|
44 |
|
|
The DAC960 is supported solely as a high performance RAID controller, not as an
|
45 |
|
|
interface to arbitrary SCSI devices. The Linux DAC960 driver operates at the
|
46 |
|
|
block device level, the same level as the SCSI and IDE drivers. Unlike other
|
47 |
|
|
RAID controllers currently supported on Linux, the DAC960 driver is not
|
48 |
|
|
dependent on the SCSI subsystem, and hence avoids all the complexity and
|
49 |
|
|
unnecessary code that would be associated with an implementation as a SCSI
|
50 |
|
|
driver. The DAC960 driver is designed for as high a performance as possible
|
51 |
|
|
with no compromises or extra code for compatibility with lower performance
|
52 |
|
|
devices.
|
53 |
|
|
|
54 |
|
|
The DAC960 driver is architected to support up to 8 controllers per system.
|
55 |
|
|
Each DAC960 controller can support up to 45 disk drives on 3 channels. The
|
56 |
|
|
drives installed on a controller are divided into one or more "Drive Groups",
|
57 |
|
|
and then each Drive Group is subdivided further into 1 to 32 "Logical Drives".
|
58 |
|
|
Each Logical Drive has a specific RAID Level and caching policy associated with
|
59 |
|
|
it, and it appears to Linux as a single block device. Logical Drives are
|
60 |
|
|
further subdivided into up to 7 partitions through the normal Linux and PC disk
|
61 |
|
|
partitioning schemes. Logical Drives are also known as "System Drives", and
|
62 |
|
|
Drive Groups are also called "Packs". Both terms are in use in the Mylex
|
63 |
|
|
documentation; I have chosen to standardize on the more generic "Logical Drive"
|
64 |
|
|
and "Drive Group".
|
65 |
|
|
|
66 |
|
|
DAC960 RAID disk devices are named in the style of the Device File System
|
67 |
|
|
(DEVFS). The device corresponding to Logical Drive D on Controller C is
|
68 |
|
|
referred to as /dev/rd/cCdD, and the partitions are called /dev/rd/cCdDp1
|
69 |
|
|
through /dev/rd/cCdDp7. For example, partition 3 of Logical Drive 5 on
|
70 |
|
|
Controller 2 is referred to as /dev/rd/c2d5p3. Note that unlike with SCSI
|
71 |
|
|
disks the device names will not change in the event of a disk drive failure.
|
72 |
|
|
The DAC960 driver is assigned major numbers 48 - 55 with one major number per
|
73 |
|
|
controller. The 8 bits of minor number are divided into 5 bits for the Logical
|
74 |
|
|
Drive and 3 bits for the partition.
|
75 |
|
|
|
76 |
|
|
|
77 |
|
|
SUPPORTED DAC960 PCI RAID CONTROLLERS
|
78 |
|
|
|
79 |
|
|
The following list comprises the supported DAC960 PCI RAID Controllers as of
|
80 |
|
|
the date of this document. It is recommended that anyone purchasing a Mylex
|
81 |
|
|
PCI RAID Controller not in the following table contact the author beforehand to
|
82 |
|
|
verify that it is or will be supported.
|
83 |
|
|
|
84 |
|
|
AcceleRAID 250 (DAC960PTL-1)
|
85 |
|
|
Uses onboard Symbios SCSI chips on certain motherboards
|
86 |
|
|
Also includes one onboard Wide Ultra-2/LVD SCSI channel
|
87 |
|
|
66MHz Intel i960RD RISC Processor
|
88 |
|
|
4MB/8MB/16MB/32MB/64MB/128MB ECC EDO Memory
|
89 |
|
|
|
90 |
|
|
AcceleRAID 200 (DAC960PTL-0)
|
91 |
|
|
Uses onboard Symbios SCSI chips on certain motherboards
|
92 |
|
|
Includes no onboard SCSI channels
|
93 |
|
|
66MHz Intel i960RD RISC Processor
|
94 |
|
|
4MB/8MB/16MB/32MB/64MB/128MB ECC EDO Memory
|
95 |
|
|
|
96 |
|
|
DAC960PJ 1/2/3 Wide Ultra SCSI-3 Channels
|
97 |
|
|
66MHz Intel i960RD RISC Processor
|
98 |
|
|
4MB/8MB/16MB/32MB/64MB/128MB ECC EDO Memory
|
99 |
|
|
|
100 |
|
|
DAC960PG 1/2/3 Wide Ultra SCSI-3 Channels
|
101 |
|
|
33MHz Intel i960RP RISC Processor
|
102 |
|
|
4MB/8MB ECC EDO Memory
|
103 |
|
|
|
104 |
|
|
DAC960PU 1/2/3 Wide Ultra SCSI-3 Channels
|
105 |
|
|
Intel i960CF RISC Processor
|
106 |
|
|
2MB/4MB/8MB/16MB/32MB EDRAM or DRAM Memory (max 8MB EDRAM)
|
107 |
|
|
|
108 |
|
|
DAC960PD 1/2/3 Wide Fast SCSI-2 Channels
|
109 |
|
|
Intel i960CF RISC Processor
|
110 |
|
|
2MB/4MB/8MB/16MB/32MB EDRAM or DRAM Memory (max 8MB EDRAM)
|
111 |
|
|
|
112 |
|
|
DAC960PL 1/2/3 Wide Fast SCSI-2 Channels
|
113 |
|
|
Intel i960 RISC Processor
|
114 |
|
|
2MB/4MB/8MB/16MB/32MB DRAM Memory
|
115 |
|
|
|
116 |
|
|
For the DAC960PJ and DAC960PG, firmware version 4.06-0-00 or above is required.
|
117 |
|
|
This firmware version is available from http://www.dandelion.com/Linux/ and
|
118 |
|
|
will eventually be available from http://www.mylex.com as well. It has been
|
119 |
|
|
released by Mylex and is provided with new controllers, but it has not yet
|
120 |
|
|
appeared on their support web pages as of the date of this document.
|
121 |
|
|
|
122 |
|
|
For the DAC960PU, DAC960PD, and DAC960PL, firmware version 3.51-0-04 or above
|
123 |
|
|
required. This firmware version is available from http://www.mylex.com.
|
124 |
|
|
|
125 |
|
|
Note that earlier revisions of the DAC960PU, DAC960PD, and DAC960PL controllers
|
126 |
|
|
were delivered with version 2.xx firmware. Version 2.xx firmware is not
|
127 |
|
|
supported by this driver and no support is envisioned. Contact Mylex RAID
|
128 |
|
|
Technical Support to inquire about upgrading controllers with version 2.xx
|
129 |
|
|
firmware to version 3.51-0-04. Upgrading to version 3.xx firmware requires
|
130 |
|
|
installation of higher capacity Flash ROM chips, and not all DAC960PD and
|
131 |
|
|
DAC960PL controllers can be upgraded.
|
132 |
|
|
|
133 |
|
|
Please note that not all SCSI disk drives are suitable for use with DAC960
|
134 |
|
|
controllers, and only particular firmware versions of any given model may
|
135 |
|
|
actually function correctly. Similarly, not all motherboards have a BIOS that
|
136 |
|
|
properly initializes the AcceleRAID 250, AcceleRAID 200, DAC960PJ, and DAC960PG
|
137 |
|
|
because the Intel i960RD/RP is a multi-function device. If in doubt, contact
|
138 |
|
|
Mylex RAID Technical Support (support@mylex.com) to verify compatibility.
|
139 |
|
|
|
140 |
|
|
|
141 |
|
|
CONTROLLER CONFIGURATION AND STATUS MONITORING
|
142 |
|
|
|
143 |
|
|
The DAC960 Online Configuration Utilities are not yet available on Linux but
|
144 |
|
|
will hopefully be supported in the future. The AcceleRAID 250, AcceleRAID 200,
|
145 |
|
|
DAC960PJ, and DAC960PG controllers can generally be configured using the DAC960
|
146 |
|
|
Configuration Utility included in the controller's BIOS ROM and available via
|
147 |
|
|
Alt-R during BIOS initialization. Older DAC960 controllers required the DACCF
|
148 |
|
|
utility that runs from a DOS boot disk.
|
149 |
|
|
|
150 |
|
|
The status of each DAC960 controller is queried every 7 seconds by the Linux
|
151 |
|
|
driver to verify that no problems have been detected, and any changes in status
|
152 |
|
|
are reported through appropriate kernel messages. The following log excerpt
|
153 |
|
|
details the process of the controller automatically rebuilding onto a spare
|
154 |
|
|
drive when a disk drive failed. In this example, 4 drives in a SAF-TE
|
155 |
|
|
enclosure were grouped into a Drive Group which was then divided into 3 Logical
|
156 |
|
|
Drives configured as RAID-5, RAID-5, and RAID-6. An additional identical drive
|
157 |
|
|
was installed as a "Standby" or "Hot Spare" to provide for automatic
|
158 |
|
|
rebuilding. The first two messages are the result of the standby drive being
|
159 |
|
|
removed, the third message is a result of it being reinstalled, and the
|
160 |
|
|
remaining messages are the result of the first drive being removed to force an
|
161 |
|
|
automatic rebuild.
|
162 |
|
|
|
163 |
|
|
DAC960#0: Physical Drive 0:4 killed because it was removed
|
164 |
|
|
DAC960#0: Physical Drive 0:4 is now DEAD
|
165 |
|
|
DAC960#0: Physical Drive 0:4 is now STANDBY
|
166 |
|
|
DAC960#0: Logical Drive 0 (/dev/rd/c0d0) is now CRITICAL
|
167 |
|
|
DAC960#0: Logical Drive 1 (/dev/rd/c0d1) is now CRITICAL
|
168 |
|
|
DAC960#0: Logical Drive 2 (/dev/rd/c0d2) is now CRITICAL
|
169 |
|
|
DAC960#0: Physical Drive 0:0 killed because of timeout on SCSI command
|
170 |
|
|
DAC960#0: Physical Drive 0:0 is now DEAD
|
171 |
|
|
DAC960#0: Physical Drive 0:0 killed because it was removed
|
172 |
|
|
DAC960#0: Physical Drive 0:4 is now WRITE-ONLY
|
173 |
|
|
DAC960#0: REBUILD IN PROGRESS: Logical Drive 0 (/dev/rd/c0d0) 9% completed
|
174 |
|
|
DAC960#0: REBUILD IN PROGRESS: Logical Drive 0 (/dev/rd/c0d0) 45% completed
|
175 |
|
|
DAC960#0: REBUILD IN PROGRESS: Logical Drive 0 (/dev/rd/c0d0) 90% completed
|
176 |
|
|
DAC960#0: REBUILD IN PROGRESS: Logical Drive 1 (/dev/rd/c0d1) 28% completed
|
177 |
|
|
DAC960#0: REBUILD IN PROGRESS: Logical Drive 1 (/dev/rd/c0d1) 66% completed
|
178 |
|
|
DAC960#0: REBUILD IN PROGRESS: Logical Drive 2 (/dev/rd/c0d2) 62% completed
|
179 |
|
|
DAC960#0: REBUILD IN PROGRESS: Logical Drive 2 (/dev/rd/c0d2) 82% completed
|
180 |
|
|
DAC960#0: REBUILD COMPLETED SUCCESSFULLY
|
181 |
|
|
DAC960#0: Logical Drive 0 (/dev/rd/c0d0) is now ONLINE
|
182 |
|
|
DAC960#0: Logical Drive 1 (/dev/rd/c0d1) is now ONLINE
|
183 |
|
|
DAC960#0: Logical Drive 2 (/dev/rd/c0d2) is now ONLINE
|
184 |
|
|
DAC960#0: Physical Drive 0:4 is now ONLINE
|
185 |
|
|
|
186 |
|
|
|
187 |
|
|
DRIVER INSTALLATION
|
188 |
|
|
|
189 |
|
|
This distribution was prepared for Linux kernel version 2.0.36 or 2.1.130.
|
190 |
|
|
|
191 |
|
|
To install the DAC960 RAID driver, you may use the following commands,
|
192 |
|
|
replacing "/usr/src" with wherever you keep your Linux kernel source tree:
|
193 |
|
|
|
194 |
|
|
cd /usr/src
|
195 |
|
|
tar -xvzf DAC960-2.0.0-Beta3.tar.gz (or DAC960-2.1.0-Beta3.tar.gz)
|
196 |
|
|
mv README.DAC960 DAC960.[ch] linux/drivers/block
|
197 |
|
|
patch -p0 < DAC960.patch
|
198 |
|
|
cd linux
|
199 |
|
|
make config
|
200 |
|
|
make depend
|
201 |
|
|
make zImage (or bzImage)
|
202 |
|
|
|
203 |
|
|
Then install "arch/i386/boot/zImage" or "arch/i386/boot/bzImage" as your
|
204 |
|
|
standard kernel, run lilo if appropriate, and reboot.
|
205 |
|
|
|
206 |
|
|
To create the necessary devices in /dev, the "make_rd" script included in
|
207 |
|
|
"DAC960-Utilities.tar.gz" from http://www.dandelion.com/Linux/ may be used.
|
208 |
|
|
Also included in this archive are patches to LILO 20 and FDISK v2.8 that add
|
209 |
|
|
DAC960 support, along with statically linked executables of LILO and FDISK.
|
210 |
|
|
This modified version of LILO will allow booting from a DAC960 controller
|
211 |
|
|
and/or mounting the root file system from a DAC960. Unfortunately, installing
|
212 |
|
|
directly onto a DAC960 will be problematic until the various Linux distribution
|
213 |
|
|
vendors update their installation utilities.
|
214 |
|
|
|
215 |
|
|
|
216 |
|
|
DAC960 ANNOUNCEMENTS MAILING LIST
|
217 |
|
|
|
218 |
|
|
The DAC960 Announcements Mailing List provides a forum for informing Linux
|
219 |
|
|
users of new driver releases and other announcements regarding Linux support
|
220 |
|
|
for DAC960 PCI RAID Controllers. To join the mailing list, send a message to
|
221 |
|
|
"dac960-announce-request@dandelion.com" with the line "subscribe" in the
|
222 |
|
|
message body.
|