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
30 .\" $FreeBSD: src/usr.sbin/mptutil/mptutil.8,v 1.6 2010/08/01 09:37:36 joel Exp $
37 .Nd Utility for managing LSI Fusion-MPT controllers
67 .Cm name Ar volume Ar name
70 .Cm volume status Ar volume
73 .Cm volume cache Ar volume
83 .Op Fl s Ar stripe_size
84 .Ar drive Ns Op \&, Ns Ar drive Ns Op ",..."
90 .Cm add Ar drive Op Ar volume
97 utility can be used to display or modify various parameters on LSI
98 Fusion-MPT controllers.
101 consists of zero or more global options followed by a command.
102 Commands may support additional optional or required arguments after the
105 Currently one global option is supported:
106 .Bl -tag -width indent
109 specifies the unit of the controller to work with.
110 If no unit is specified,
114 Volumes may be specified in two forms.
116 a volume may be identified by its location as
126 If the bus ID is omitted,
127 the volume is assumed to be on bus 0.
129 on the volume may be specified by the corresponding
137 controller divides drives up into two categories.
138 Configured drives belong to a RAID volume either as a member drive or as a hot
140 Each configured drive is assigned a unique device ID such as 0 or 1 that is
143 and in the first column of
145 Any drive not associated with a RAID volume as either a member or a hot spare
146 is a standalone drive.
147 Standalone drives are visible to the operating system as SCSI disk devices.
148 As a result, drives may be specified in three forms.
150 a configured drive may be identified by its device ID.
152 any drive may be identified by its location as
161 is the target ID for each drive as displayed in
163 Note that unlike volumes,
164 a drive location always requires the bus ID to avoid confusion with device IDs.
166 a standalone drive that is not part of a volume may be identified by its
169 device as displayed in
174 utility supports several different groups of commands.
175 The first group of commands provide information about the controller,
176 the volumes it manages, and the drives it controls.
177 The second group of commands are used to manage the physical drives
178 attached to the controller.
179 The third group of commands are used to manage the logical volumes
180 managed by the controller.
181 The fourth group of commands are used to manage the drive configuration for
184 The informational commands include:
185 .Bl -tag -width indent
187 Displays the version of
190 Displays information about the RAID controller such as the model number.
192 Displays the volume and drive configuration for the controller.
193 Each volume is listed along with the physical drives that the volume spans.
194 If any hot spare drives are configured, then they are listed as well.
196 Lists all of the physical drives attached to the controller.
198 Display all the entries from the controller's event log.
199 Due to lack of documentation this command isn't very useful currently and
200 just dumps each log entry in hex.
202 Lists all of the logical volumes managed by the controller.
205 The physical drive management commands include:
206 .Bl -tag -width indent
211 .Dq failed requested .
212 Note that this state is different from the
214 state that is used when the firmware fails a drive.
216 must be a configured drive.
217 .It Cm online Ar drive
222 must be part a configured drive in either the
227 .It Cm offline Ar drive
232 must be a configured, online drive.
235 The logical volume management commands include:
236 .Bl -tag -width indent
237 .It Cm name Ar volume Ar name
242 .It Cm volume cache Ar volume Ar enable|disable
243 Enables or disables the drive write cache for the member drives of
245 .It Cm volume status Ar volume
246 Display more detailed status about a single volume including the current
247 progress of a rebuild operation if one is being performed.
250 The configuration commands include:
251 .Bl -tag -width indent
253 Delete the entire configuration including all volumes and spares.
254 All drives will become standalone drives.
255 .It Xo Cm create Ar type
258 .Op Fl s Ar stripe_size
259 .Ar drive Ns Op \&, Ns Ar drive Ns Op ",..."
264 specifies the type of volume to create.
265 Currently supported types include:
266 .Bl -tag -width indent
268 Creates one RAID0 volume spanning the drives listed in the single drive list.
270 Creates one RAID1 volume spanning the drives listed in the single drive list.
272 Creates one RAID1E volume spanning the drives listed in the single drive list.
276 Not all volume types are supported by all controllers.
280 flag is specified after
284 initialization of the volume will be done.
285 This is useful when the drives do not contain any existing data that need
290 flag is specified after
292 then more verbose output will be enabled.
293 Currently this just provides notification as drives are added to volumes
294 when building the configuration.
299 parameter allows the stripe size of the array to be set.
300 By default a stripe size of 64K is used.
301 The list of valid values for a given
303 are listed in the output of
305 .It Cm delete Ar volume
308 Member drives will become standalone drives.
309 .It Cm add Ar drive Op Ar volume
314 must not be a member of a volume.
318 then the hot spare will be dedicated to that volume.
321 will be used as a global hot spare backing all volumes for this controller.
324 must be as large as the smallest drive in all of the volumes it is going to
326 .It Cm remove Ar drive
330 It will become a standalone drive.
333 Mark the drive at bus 0 target 4 as offline:
335 .Dl Nm Cm offline 0:4
337 Create a RAID1 array from the two standalone drives
342 .Dl Nm Cm create raid1 da1,da2
344 Mark standalone drive
346 as a global hot spare:
354 utility first appeared in
357 The handling of spare drives appears to be unreliable.
360 firmware manages spares via spare drive
362 There are eight pools numbered 0 through 7.
363 Each spare drive can only be assigned to a single pool.
364 Each volume can be backed by any combination of zero or more spare pools.
367 utility attempts to use the following algorithm for managing spares.
368 Global spares are always assigned to pool 0,
369 and all volumes are always backed by pool 0.
370 For dedicated spares,
372 assigns one of the remaining 7 pools to each volume and
373 assigns dedicated drives to that pool.
374 In practice however, it seems that assigning a drive as a spare does not
375 take effect until the box has been rebooted.
376 Also, the firmware renumbers the spare pool assignments after a reboot
377 which undoes the effects of the algorithm above.
378 Simple cases such as assigning global spares seem to work ok
379 .Pq albeit requiring a reboot to take effect
382 configurations may not work reliably.
384 Drive configuration commands result in an excessive flood of messages on the
387 The mpt version 1 API that is used by
391 doesn't support volumes above two terabytes.
392 This is a limitation of the API.
393 If you are using this adapter with volumes larger than two terabytes, use the adapter in JBOD mode.
396 or another software volume manager to work around this limitation.