2 .\" Copyright (c) 2008 Yahoo!, Inc.
3 .\" All rights reserved.
4 .\" Written by: John Baldwin <jhb@FreeBSD.org>
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\" notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\" notice, this list of conditions and the following disclaimer in the
13 .\" documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the author nor the names of any co-contributors
15 .\" may be used to endorse or promote products derived from this software
16 .\" without specific prior written permission.
18 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35 .Nd Utility for managing LSI Fusion-MPT controllers
65 .Cm name Ar volume Ar name
68 .Cm volume status Ar volume
71 .Cm volume cache Ar volume
72 .Ar enable|enabled|disable|disabled
81 .Op Fl s Ar stripe_size
82 .Ar drive Ns Op \&, Ns Ar drive Ns Op ",..."
88 .Cm add Ar drive Op Ar volume
95 utility can be used to display or modify various parameters on LSI
96 Fusion-MPT controllers.
99 consists of zero or more global options followed by a command.
100 Commands may support additional optional or required arguments after the
103 Currently one global option is supported:
104 .Bl -tag -width indent
107 specifies the unit of the controller to work with.
108 If no unit is specified,
112 Volumes may be specified in two forms.
114 a volume may be identified by its location as
124 If the bus ID is omitted,
125 the volume is assumed to be on bus 0.
127 on the volume may be specified by the corresponding
135 controller divides drives up into two categories.
136 Configured drives belong to a RAID volume either as a member drive or as a hot
138 Each configured drive is assigned a unique device ID such as 0 or 1 that is
141 and in the first column of
143 Any drive not associated with a RAID volume as either a member or a hot spare
144 is a standalone drive.
145 Standalone drives are visible to the operating system as SCSI disk devices.
146 As a result, drives may be specified in three forms.
148 a configured drive may be identified by its device ID.
150 any drive may be identified by its location as
159 is the target ID for each drive as displayed in
161 Note that unlike volumes,
162 a drive location always requires the bus ID to avoid confusion with device IDs.
164 a standalone drive that is not part of a volume may be identified by its
167 device as displayed in
172 utility supports several different groups of commands.
173 The first group of commands provide information about the controller,
174 the volumes it manages, and the drives it controls.
175 The second group of commands are used to manage the physical drives
176 attached to the controller.
177 The third group of commands are used to manage the logical volumes
178 managed by the controller.
179 The fourth group of commands are used to manage the drive configuration for
182 The informational commands include:
183 .Bl -tag -width indent
185 Displays the version of
188 Displays information about the RAID controller such as the model number.
190 Displays the volume and drive configuration for the controller.
191 Each volume is listed along with the physical drives that the volume spans.
192 If any hot spare drives are configured, then they are listed as well.
194 Lists all of the physical drives attached to the controller.
196 Display all the entries from the controller's event log.
197 Due to lack of documentation this command is not very useful currently and
198 just dumps each log entry in hex.
200 Lists all of the logical volumes managed by the controller.
203 The physical drive management commands include:
204 .Bl -tag -width indent
209 .Dq failed requested .
210 Note that this state is different from the
212 state that is used when the firmware fails a drive.
214 must be a configured drive.
215 .It Cm online Ar drive
220 must be part a configured drive in either the
225 .It Cm offline Ar drive
230 must be a configured, online drive.
233 The logical volume management commands include:
234 .Bl -tag -width indent
235 .It Cm name Ar volume Ar name
240 .It Cm volume cache Ar volume Ar enable|enabled|disable|disabled
241 Enables or disables the drive write cache for the member drives of
243 .It Cm volume status Ar volume
244 Display more detailed status about a single volume including the current
245 progress of a rebuild operation if one is being performed.
248 The configuration commands include:
249 .Bl -tag -width indent
251 Delete the entire configuration including all volumes and spares.
252 All drives will become standalone drives.
253 .It Xo Cm create Ar type
256 .Op Fl s Ar stripe_size
257 .Ar drive Ns Op \&, Ns Ar drive Ns Op ",..."
262 specifies the type of volume to create.
263 Currently supported types include:
264 .Bl -tag -width indent
266 Creates one RAID0 volume spanning the drives listed in the single drive list.
268 Creates one RAID1 volume spanning the drives listed in the single drive list.
270 Creates one RAID1E volume spanning the drives listed in the single drive list.
274 Not all volume types are supported by all controllers.
278 flag is specified after
282 initialization of the volume will be done.
283 This is useful when the drives do not contain any existing data that need
288 flag is specified after
290 then more verbose output will be enabled.
291 Currently this just provides notification as drives are added to volumes
292 when building the configuration.
297 parameter allows the stripe size of the array to be set.
298 By default a stripe size of 64K is used.
299 The list of valid values for a given
301 are listed in the output of
303 .It Cm delete Ar volume
306 Member drives will become standalone drives.
307 .It Cm add Ar drive Op Ar volume
312 must not be a member of a volume.
316 then the hot spare will be dedicated to that volume.
319 will be used as a global hot spare backing all volumes for this controller.
322 must be as large as the smallest drive in all of the volumes it is going to
324 .It Cm remove Ar drive
328 It will become a standalone drive.
331 Mark the drive at bus 0 target 4 as offline:
333 .Dl Nm Cm offline 0:4
335 Create a RAID1 array from the two standalone drives
340 .Dl Nm Cm create raid1 da1,da2
342 Mark standalone drive
344 as a global hot spare:
352 utility first appeared in
355 The handling of spare drives appears to be unreliable.
358 firmware manages spares via spare drive
360 There are eight pools numbered 0 through 7.
361 Each spare drive can only be assigned to a single pool.
362 Each volume can be backed by any combination of zero or more spare pools.
365 utility attempts to use the following algorithm for managing spares.
366 Global spares are always assigned to pool 0,
367 and all volumes are always backed by pool 0.
368 For dedicated spares,
370 assigns one of the remaining 7 pools to each volume and
371 assigns dedicated drives to that pool.
372 In practice however, it seems that assigning a drive as a spare does not
373 take effect until the box has been rebooted.
374 Also, the firmware renumbers the spare pool assignments after a reboot
375 which undoes the effects of the algorithm above.
376 Simple cases such as assigning global spares seem to work ok
377 .Pq albeit requiring a reboot to take effect
380 configurations may not work reliably.
382 Drive configuration commands result in an excessive flood of messages on the
385 The mpt version 1 API that is used by
389 does not support volumes above two terabytes.
390 This is a limitation of the API.
391 If you are using this adapter with volumes larger than two terabytes, use the adapter in JBOD mode.
395 or another software volume manager to work around this limitation.