xref: /dflybsd-src/usr.sbin/mptutil/mptutil.8 (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
1*86d7f5d3SJohn Marino.\"
2*86d7f5d3SJohn Marino.\" Copyright (c) 2008 Yahoo!, Inc.
3*86d7f5d3SJohn Marino.\" All rights reserved.
4*86d7f5d3SJohn Marino.\" Written by: John Baldwin <jhb@FreeBSD.org>
5*86d7f5d3SJohn Marino.\"
6*86d7f5d3SJohn Marino.\" Redistribution and use in source and binary forms, with or without
7*86d7f5d3SJohn Marino.\" modification, are permitted provided that the following conditions
8*86d7f5d3SJohn Marino.\" are met:
9*86d7f5d3SJohn Marino.\" 1. Redistributions of source code must retain the above copyright
10*86d7f5d3SJohn Marino.\"    notice, this list of conditions and the following disclaimer.
11*86d7f5d3SJohn Marino.\" 2. Redistributions in binary form must reproduce the above copyright
12*86d7f5d3SJohn Marino.\"    notice, this list of conditions and the following disclaimer in the
13*86d7f5d3SJohn Marino.\"    documentation and/or other materials provided with the distribution.
14*86d7f5d3SJohn Marino.\" 3. Neither the name of the author nor the names of any co-contributors
15*86d7f5d3SJohn Marino.\"    may be used to endorse or promote products derived from this software
16*86d7f5d3SJohn Marino.\"    without specific prior written permission.
17*86d7f5d3SJohn Marino.\"
18*86d7f5d3SJohn Marino.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19*86d7f5d3SJohn Marino.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20*86d7f5d3SJohn Marino.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21*86d7f5d3SJohn Marino.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22*86d7f5d3SJohn Marino.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23*86d7f5d3SJohn Marino.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24*86d7f5d3SJohn Marino.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25*86d7f5d3SJohn Marino.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26*86d7f5d3SJohn Marino.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27*86d7f5d3SJohn Marino.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28*86d7f5d3SJohn Marino.\" SUCH DAMAGE.
29*86d7f5d3SJohn Marino.\"
30*86d7f5d3SJohn Marino.\" $FreeBSD: src/usr.sbin/mptutil/mptutil.8,v 1.6 2010/08/01 09:37:36 joel Exp $
31*86d7f5d3SJohn Marino.\"
32*86d7f5d3SJohn Marino.Dd April 28, 2011
33*86d7f5d3SJohn Marino.Dt MPTUTIL 8
34*86d7f5d3SJohn Marino.Os
35*86d7f5d3SJohn Marino.Sh NAME
36*86d7f5d3SJohn Marino.Nm mptutil
37*86d7f5d3SJohn Marino.Nd Utility for managing LSI Fusion-MPT controllers
38*86d7f5d3SJohn Marino.Sh SYNOPSIS
39*86d7f5d3SJohn Marino.Nm
40*86d7f5d3SJohn Marino.Cm version
41*86d7f5d3SJohn Marino.Nm
42*86d7f5d3SJohn Marino.Op Fl u Ar unit
43*86d7f5d3SJohn Marino.Cm show adapter
44*86d7f5d3SJohn Marino.Nm
45*86d7f5d3SJohn Marino.Op Fl u Ar unit
46*86d7f5d3SJohn Marino.Cm show config
47*86d7f5d3SJohn Marino.Nm
48*86d7f5d3SJohn Marino.Op Fl u Ar unit
49*86d7f5d3SJohn Marino.Cm show drives
50*86d7f5d3SJohn Marino.Nm
51*86d7f5d3SJohn Marino.Op Fl u Ar unit
52*86d7f5d3SJohn Marino.Cm show events
53*86d7f5d3SJohn Marino.Nm
54*86d7f5d3SJohn Marino.Op Fl u Ar unit
55*86d7f5d3SJohn Marino.Cm show volumes
56*86d7f5d3SJohn Marino.Nm
57*86d7f5d3SJohn Marino.Op Fl u Ar unit
58*86d7f5d3SJohn Marino.Cm fail Ar drive
59*86d7f5d3SJohn Marino.Nm
60*86d7f5d3SJohn Marino.Op Fl u Ar unit
61*86d7f5d3SJohn Marino.Cm online Ar drive
62*86d7f5d3SJohn Marino.Nm
63*86d7f5d3SJohn Marino.Op Fl u Ar unit
64*86d7f5d3SJohn Marino.Cm offline Ar drive
65*86d7f5d3SJohn Marino.Nm
66*86d7f5d3SJohn Marino.Op Fl u Ar unit
67*86d7f5d3SJohn Marino.Cm name Ar volume Ar name
68*86d7f5d3SJohn Marino.Nm
69*86d7f5d3SJohn Marino.Op Fl u Ar unit
70*86d7f5d3SJohn Marino.Cm volume status Ar volume
71*86d7f5d3SJohn Marino.Nm
72*86d7f5d3SJohn Marino.Op Fl u Ar unit
73*86d7f5d3SJohn Marino.Cm volume cache Ar volume
74*86d7f5d3SJohn Marino.Ar enable|disable
75*86d7f5d3SJohn Marino.Nm
76*86d7f5d3SJohn Marino.Op Fl u Ar unit
77*86d7f5d3SJohn Marino.Cm clear
78*86d7f5d3SJohn Marino.Nm
79*86d7f5d3SJohn Marino.Op Fl u Ar unit
80*86d7f5d3SJohn Marino.Cm create Ar type
81*86d7f5d3SJohn Marino.Op Fl q
82*86d7f5d3SJohn Marino.Op Fl v
83*86d7f5d3SJohn Marino.Op Fl s Ar stripe_size
84*86d7f5d3SJohn Marino.Ar drive Ns Op \&, Ns Ar drive Ns Op ",..."
85*86d7f5d3SJohn Marino.Nm
86*86d7f5d3SJohn Marino.Op Fl u Ar unit
87*86d7f5d3SJohn Marino.Cm delete Ar volume
88*86d7f5d3SJohn Marino.Nm
89*86d7f5d3SJohn Marino.Op Fl u Ar unit
90*86d7f5d3SJohn Marino.Cm add Ar drive Op Ar volume
91*86d7f5d3SJohn Marino.Nm
92*86d7f5d3SJohn Marino.Op Fl u Ar unit
93*86d7f5d3SJohn Marino.Cm remove Ar drive
94*86d7f5d3SJohn Marino.Sh DESCRIPTION
95*86d7f5d3SJohn MarinoThe
96*86d7f5d3SJohn Marino.Nm
97*86d7f5d3SJohn Marinoutility can be used to display or modify various parameters on LSI
98*86d7f5d3SJohn MarinoFusion-MPT controllers.
99*86d7f5d3SJohn MarinoEach invocation of
100*86d7f5d3SJohn Marino.Nm
101*86d7f5d3SJohn Marinoconsists of zero or more global options followed by a command.
102*86d7f5d3SJohn MarinoCommands may support additional optional or required arguments after the
103*86d7f5d3SJohn Marinocommand.
104*86d7f5d3SJohn Marino.Pp
105*86d7f5d3SJohn MarinoCurrently one global option is supported:
106*86d7f5d3SJohn Marino.Bl -tag -width indent
107*86d7f5d3SJohn Marino.It Fl u Ar unit
108*86d7f5d3SJohn Marino.Ar unit
109*86d7f5d3SJohn Marinospecifies the unit of the controller to work with.
110*86d7f5d3SJohn MarinoIf no unit is specified,
111*86d7f5d3SJohn Marinothen unit 0 is used.
112*86d7f5d3SJohn Marino.El
113*86d7f5d3SJohn Marino.Pp
114*86d7f5d3SJohn MarinoVolumes may be specified in two forms.
115*86d7f5d3SJohn MarinoFirst,
116*86d7f5d3SJohn Marinoa volume may be identified by its location as
117*86d7f5d3SJohn Marino.Sm off
118*86d7f5d3SJohn Marino.Op Ar xx Ns \&:
119*86d7f5d3SJohn Marino.Ar yy
120*86d7f5d3SJohn Marino.Sm on
121*86d7f5d3SJohn Marinowhere
122*86d7f5d3SJohn Marino.Ar xx
123*86d7f5d3SJohn Marinois the bus ID and
124*86d7f5d3SJohn Marino.Ar yy
125*86d7f5d3SJohn Marinois the target ID.
126*86d7f5d3SJohn MarinoIf the bus ID is omitted,
127*86d7f5d3SJohn Marinothe volume is assumed to be on bus 0.
128*86d7f5d3SJohn MarinoSecond,
129*86d7f5d3SJohn Marinoon the volume may be specified by the corresponding
130*86d7f5d3SJohn Marino.Em daX
131*86d7f5d3SJohn Marinodevice,
132*86d7f5d3SJohn Marinosuch as
133*86d7f5d3SJohn Marino.Em da0 .
134*86d7f5d3SJohn Marino.Pp
135*86d7f5d3SJohn MarinoThe
136*86d7f5d3SJohn Marino.Xr mpt 4
137*86d7f5d3SJohn Marinocontroller divides drives up into two categories.
138*86d7f5d3SJohn MarinoConfigured drives belong to a RAID volume either as a member drive or as a hot
139*86d7f5d3SJohn Marinospare.
140*86d7f5d3SJohn MarinoEach configured drive is assigned a unique device ID such as 0 or 1 that is
141*86d7f5d3SJohn Marinoshow in
142*86d7f5d3SJohn Marino.Cm show config ,
143*86d7f5d3SJohn Marinoand in the first column of
144*86d7f5d3SJohn Marino.Cm show drives .
145*86d7f5d3SJohn MarinoAny drive not associated with a RAID volume as either a member or a hot spare
146*86d7f5d3SJohn Marinois a standalone drive.
147*86d7f5d3SJohn MarinoStandalone drives are visible to the operating system as SCSI disk devices.
148*86d7f5d3SJohn MarinoAs a result, drives may be specified in three forms.
149*86d7f5d3SJohn MarinoFirst,
150*86d7f5d3SJohn Marinoa configured drive may be identified by its device ID.
151*86d7f5d3SJohn MarinoSecond,
152*86d7f5d3SJohn Marinoany drive may be identified by its location as
153*86d7f5d3SJohn Marino.Sm off
154*86d7f5d3SJohn Marino.Ar xx Ns \&:
155*86d7f5d3SJohn Marino.Ar yy
156*86d7f5d3SJohn Marino.Sm on
157*86d7f5d3SJohn Marinowhere
158*86d7f5d3SJohn Marino.Ar xx
159*86d7f5d3SJohn Marinois the bus ID and
160*86d7f5d3SJohn Marino.Ar yy
161*86d7f5d3SJohn Marinois the target ID for each drive as displayed in
162*86d7f5d3SJohn Marino.Cm show drives .
163*86d7f5d3SJohn MarinoNote that unlike volumes,
164*86d7f5d3SJohn Marinoa drive location always requires the bus ID to avoid confusion with device IDs.
165*86d7f5d3SJohn MarinoThird,
166*86d7f5d3SJohn Marinoa standalone drive that is not part of a volume may be identified by its
167*86d7f5d3SJohn Marinocorresponding
168*86d7f5d3SJohn Marino.Em daX
169*86d7f5d3SJohn Marinodevice as displayed in
170*86d7f5d3SJohn Marino.Cm show drives .
171*86d7f5d3SJohn Marino.Pp
172*86d7f5d3SJohn MarinoThe
173*86d7f5d3SJohn Marino.Nm
174*86d7f5d3SJohn Marinoutility supports several different groups of commands.
175*86d7f5d3SJohn MarinoThe first group of commands provide information about the controller,
176*86d7f5d3SJohn Marinothe volumes it manages, and the drives it controls.
177*86d7f5d3SJohn MarinoThe second group of commands are used to manage the physical drives
178*86d7f5d3SJohn Marinoattached to the controller.
179*86d7f5d3SJohn MarinoThe third group of commands are used to manage the logical volumes
180*86d7f5d3SJohn Marinomanaged by the controller.
181*86d7f5d3SJohn MarinoThe fourth group of commands are used to manage the drive configuration for
182*86d7f5d3SJohn Marinothe controller.
183*86d7f5d3SJohn Marino.Pp
184*86d7f5d3SJohn MarinoThe informational commands include:
185*86d7f5d3SJohn Marino.Bl -tag -width indent
186*86d7f5d3SJohn Marino.It Cm version
187*86d7f5d3SJohn MarinoDisplays the version of
188*86d7f5d3SJohn Marino.Nm .
189*86d7f5d3SJohn Marino.It Cm show adapter
190*86d7f5d3SJohn MarinoDisplays information about the RAID controller such as the model number.
191*86d7f5d3SJohn Marino.It Cm show config
192*86d7f5d3SJohn MarinoDisplays the volume and drive configuration for the controller.
193*86d7f5d3SJohn MarinoEach volume is listed along with the physical drives that the volume spans.
194*86d7f5d3SJohn MarinoIf any hot spare drives are configured, then they are listed as well.
195*86d7f5d3SJohn Marino.It Cm show drives
196*86d7f5d3SJohn MarinoLists all of the physical drives attached to the controller.
197*86d7f5d3SJohn Marino.It Cm show events
198*86d7f5d3SJohn MarinoDisplay all the entries from the controller's event log.
199*86d7f5d3SJohn MarinoDue to lack of documentation this command isn't very useful currently and
200*86d7f5d3SJohn Marinojust dumps each log entry in hex.
201*86d7f5d3SJohn Marino.It Cm show volumes
202*86d7f5d3SJohn MarinoLists all of the logical volumes managed by the controller.
203*86d7f5d3SJohn Marino.El
204*86d7f5d3SJohn Marino.Pp
205*86d7f5d3SJohn MarinoThe physical drive management commands include:
206*86d7f5d3SJohn Marino.Bl -tag -width indent
207*86d7f5d3SJohn Marino.It Cm fail Ar drive
208*86d7f5d3SJohn MarinoMark
209*86d7f5d3SJohn Marino.Ar drive
210*86d7f5d3SJohn Marinoas
211*86d7f5d3SJohn Marino.Dq failed requested .
212*86d7f5d3SJohn MarinoNote that this state is different from the
213*86d7f5d3SJohn Marino.Dq failed
214*86d7f5d3SJohn Marinostate that is used when the firmware fails a drive.
215*86d7f5d3SJohn Marino.Ar Drive
216*86d7f5d3SJohn Marinomust be a configured drive.
217*86d7f5d3SJohn Marino.It Cm online Ar drive
218*86d7f5d3SJohn MarinoMark
219*86d7f5d3SJohn Marino.Ar drive
220*86d7f5d3SJohn Marinoas an online drive.
221*86d7f5d3SJohn Marino.Ar Drive
222*86d7f5d3SJohn Marinomust be part a configured drive in either the
223*86d7f5d3SJohn Marino.Dq offline
224*86d7f5d3SJohn Marinoor
225*86d7f5d3SJohn Marino.Dq failed requested
226*86d7f5d3SJohn Marinostates.
227*86d7f5d3SJohn Marino.It Cm offline Ar drive
228*86d7f5d3SJohn MarinoMark
229*86d7f5d3SJohn Marino.Ar drive
230*86d7f5d3SJohn Marinoas offline.
231*86d7f5d3SJohn Marino.Ar Drive
232*86d7f5d3SJohn Marinomust be a configured, online drive.
233*86d7f5d3SJohn Marino.El
234*86d7f5d3SJohn Marino.Pp
235*86d7f5d3SJohn MarinoThe logical volume management commands include:
236*86d7f5d3SJohn Marino.Bl -tag -width indent
237*86d7f5d3SJohn Marino.It Cm name Ar volume Ar name
238*86d7f5d3SJohn MarinoSets the name of
239*86d7f5d3SJohn Marino.Ar volume
240*86d7f5d3SJohn Marinoto
241*86d7f5d3SJohn Marino.Ar name .
242*86d7f5d3SJohn Marino.It Cm volume cache Ar volume Ar enable|disable
243*86d7f5d3SJohn MarinoEnables or disables the drive write cache for the member drives of
244*86d7f5d3SJohn Marino.Ar volume .
245*86d7f5d3SJohn Marino.It Cm volume status Ar volume
246*86d7f5d3SJohn MarinoDisplay more detailed status about a single volume including the current
247*86d7f5d3SJohn Marinoprogress of a rebuild operation if one is being performed.
248*86d7f5d3SJohn Marino.El
249*86d7f5d3SJohn Marino.Pp
250*86d7f5d3SJohn MarinoThe configuration commands include:
251*86d7f5d3SJohn Marino.Bl -tag -width indent
252*86d7f5d3SJohn Marino.It Cm clear
253*86d7f5d3SJohn MarinoDelete the entire configuration including all volumes and spares.
254*86d7f5d3SJohn MarinoAll drives will become standalone drives.
255*86d7f5d3SJohn Marino.It Xo Cm create Ar type
256*86d7f5d3SJohn Marino.Op Fl q
257*86d7f5d3SJohn Marino.Op Fl v
258*86d7f5d3SJohn Marino.Op Fl s Ar stripe_size
259*86d7f5d3SJohn Marino.Ar drive Ns Op \&, Ns Ar drive Ns Op ",..."
260*86d7f5d3SJohn Marino.Xc
261*86d7f5d3SJohn MarinoCreate a new volume.
262*86d7f5d3SJohn MarinoThe
263*86d7f5d3SJohn Marino.Ar type
264*86d7f5d3SJohn Marinospecifies the type of volume to create.
265*86d7f5d3SJohn MarinoCurrently supported types include:
266*86d7f5d3SJohn Marino.Bl -tag -width indent
267*86d7f5d3SJohn Marino.It Cm raid0
268*86d7f5d3SJohn MarinoCreates one RAID0 volume spanning the drives listed in the single drive list.
269*86d7f5d3SJohn Marino.It Cm raid1
270*86d7f5d3SJohn MarinoCreates one RAID1 volume spanning the drives listed in the single drive list.
271*86d7f5d3SJohn Marino.It Cm raid1e
272*86d7f5d3SJohn MarinoCreates one RAID1E volume spanning the drives listed in the single drive list.
273*86d7f5d3SJohn Marino.El
274*86d7f5d3SJohn Marino.Pp
275*86d7f5d3SJohn Marino.Sy Note:
276*86d7f5d3SJohn MarinoNot all volume types are supported by all controllers.
277*86d7f5d3SJohn Marino.Pp
278*86d7f5d3SJohn MarinoIf the
279*86d7f5d3SJohn Marino.Fl q
280*86d7f5d3SJohn Marinoflag is specified after
281*86d7f5d3SJohn Marino.Ar type ,
282*86d7f5d3SJohn Marinothen a
283*86d7f5d3SJohn Marino.Dq quick
284*86d7f5d3SJohn Marinoinitialization of the volume will be done.
285*86d7f5d3SJohn MarinoThis is useful when the drives do not contain any existing data that need
286*86d7f5d3SJohn Marinoto be preserved.
287*86d7f5d3SJohn Marino.Pp
288*86d7f5d3SJohn MarinoIf the
289*86d7f5d3SJohn Marino.Fl v
290*86d7f5d3SJohn Marinoflag is specified after
291*86d7f5d3SJohn Marino.Ar type ,
292*86d7f5d3SJohn Marinothen more verbose output will be enabled.
293*86d7f5d3SJohn MarinoCurrently this just provides notification as drives are added to volumes
294*86d7f5d3SJohn Marinowhen building the configuration.
295*86d7f5d3SJohn Marino.Pp
296*86d7f5d3SJohn MarinoThe
297*86d7f5d3SJohn Marino.Fl s
298*86d7f5d3SJohn Marino.Ar stripe_size
299*86d7f5d3SJohn Marinoparameter allows the stripe size of the array to be set.
300*86d7f5d3SJohn MarinoBy default a stripe size of 64K is used.
301*86d7f5d3SJohn MarinoThe list of valid values for a given
302*86d7f5d3SJohn Marino.Ar type
303*86d7f5d3SJohn Marinoare listed in the output of
304*86d7f5d3SJohn Marino.Cm show adapter .
305*86d7f5d3SJohn Marino.It Cm delete Ar volume
306*86d7f5d3SJohn MarinoDelete the volume
307*86d7f5d3SJohn Marino.Ar volume .
308*86d7f5d3SJohn MarinoMember drives will become standalone drives.
309*86d7f5d3SJohn Marino.It Cm add Ar drive Op Ar volume
310*86d7f5d3SJohn MarinoMark
311*86d7f5d3SJohn Marino.Ar drive
312*86d7f5d3SJohn Marinoas a hot spare.
313*86d7f5d3SJohn Marino.Ar Drive
314*86d7f5d3SJohn Marinomust not be a member of a volume.
315*86d7f5d3SJohn MarinoIf
316*86d7f5d3SJohn Marino.Ar volume
317*86d7f5d3SJohn Marinois specified,
318*86d7f5d3SJohn Marinothen the hot spare will be dedicated to that volume.
319*86d7f5d3SJohn MarinoOtherwise,
320*86d7f5d3SJohn Marino.Ar drive
321*86d7f5d3SJohn Marinowill be used as a global hot spare backing all volumes for this controller.
322*86d7f5d3SJohn MarinoNote that
323*86d7f5d3SJohn Marino.Ar drive
324*86d7f5d3SJohn Marinomust be as large as the smallest drive in all of the volumes it is going to
325*86d7f5d3SJohn Marinoback.
326*86d7f5d3SJohn Marino.It Cm remove Ar drive
327*86d7f5d3SJohn MarinoRemove the hot spare
328*86d7f5d3SJohn Marino.Ar drive
329*86d7f5d3SJohn Marinofrom service.
330*86d7f5d3SJohn MarinoIt will become a standalone drive.
331*86d7f5d3SJohn Marino.El
332*86d7f5d3SJohn Marino.Sh EXAMPLES
333*86d7f5d3SJohn MarinoMark the drive at bus 0 target 4 as offline:
334*86d7f5d3SJohn Marino.Pp
335*86d7f5d3SJohn Marino.Dl Nm Cm offline 0:4
336*86d7f5d3SJohn Marino.Pp
337*86d7f5d3SJohn MarinoCreate a RAID1 array from the two standalone drives
338*86d7f5d3SJohn Marino.Va da1
339*86d7f5d3SJohn Marinoand
340*86d7f5d3SJohn Marino.Va da2 :
341*86d7f5d3SJohn Marino.Pp
342*86d7f5d3SJohn Marino.Dl Nm Cm create raid1 da1,da2
343*86d7f5d3SJohn Marino.Pp
344*86d7f5d3SJohn MarinoMark standalone drive
345*86d7f5d3SJohn Marino.Va da3
346*86d7f5d3SJohn Marinoas a global hot spare:
347*86d7f5d3SJohn Marino.Pp
348*86d7f5d3SJohn Marino.Dl Nm Cm add da3
349*86d7f5d3SJohn Marino.Sh SEE ALSO
350*86d7f5d3SJohn Marino.Xr mpt 4
351*86d7f5d3SJohn Marino.Sh HISTORY
352*86d7f5d3SJohn MarinoThe
353*86d7f5d3SJohn Marino.Nm
354*86d7f5d3SJohn Marinoutility first appeared in
355*86d7f5d3SJohn Marino.Fx 8.0 .
356*86d7f5d3SJohn Marino.Sh BUGS
357*86d7f5d3SJohn MarinoThe handling of spare drives appears to be unreliable.
358*86d7f5d3SJohn MarinoThe
359*86d7f5d3SJohn Marino.Xr mpt 4
360*86d7f5d3SJohn Marinofirmware manages spares via spare drive
361*86d7f5d3SJohn Marino.Dq pools .
362*86d7f5d3SJohn MarinoThere are eight pools numbered 0 through 7.
363*86d7f5d3SJohn MarinoEach spare drive can only be assigned to a single pool.
364*86d7f5d3SJohn MarinoEach volume can be backed by any combination of zero or more spare pools.
365*86d7f5d3SJohn MarinoThe
366*86d7f5d3SJohn Marino.Nm
367*86d7f5d3SJohn Marinoutility attempts to use the following algorithm for managing spares.
368*86d7f5d3SJohn MarinoGlobal spares are always assigned to pool 0,
369*86d7f5d3SJohn Marinoand all volumes are always backed by pool 0.
370*86d7f5d3SJohn MarinoFor dedicated spares,
371*86d7f5d3SJohn Marino.Nm
372*86d7f5d3SJohn Marinoassigns one of the remaining 7 pools to each volume and
373*86d7f5d3SJohn Marinoassigns dedicated drives to that pool.
374*86d7f5d3SJohn MarinoIn practice however, it seems that assigning a drive as a spare does not
375*86d7f5d3SJohn Marinotake effect until the box has been rebooted.
376*86d7f5d3SJohn MarinoAlso, the firmware renumbers the spare pool assignments after a reboot
377*86d7f5d3SJohn Marinowhich undoes the effects of the algorithm above.
378*86d7f5d3SJohn MarinoSimple cases such as assigning global spares seem to work ok
379*86d7f5d3SJohn Marino.Pq albeit requiring a reboot to take effect
380*86d7f5d3SJohn Marinobut more
381*86d7f5d3SJohn Marino.Dq exotic
382*86d7f5d3SJohn Marinoconfigurations may not work reliably.
383*86d7f5d3SJohn Marino.Pp
384*86d7f5d3SJohn MarinoDrive configuration commands result in an excessive flood of messages on the
385*86d7f5d3SJohn Marinoconsole.
386*86d7f5d3SJohn Marino.Pp
387*86d7f5d3SJohn MarinoThe mpt version 1 API that is used by
388*86d7f5d3SJohn Marino.Nm
389*86d7f5d3SJohn Marinoand
390*86d7f5d3SJohn Marino.Xr mpt 4
391*86d7f5d3SJohn Marinodoesn't support volumes above two terabytes.
392*86d7f5d3SJohn MarinoThis is a limitation of the API.
393*86d7f5d3SJohn MarinoIf you are using this adapter with volumes larger than two terabytes, use the adapter in JBOD mode.
394*86d7f5d3SJohn MarinoUtilize
395*86d7f5d3SJohn Marino.Xr lvm 8
396*86d7f5d3SJohn Marinoor another software volume manager to work around this limitation.
397