1 .\" Copyright (c) 2008, 2009 Yahoo!, Inc.
2 .\" All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
12 .\" 3. The names of the authors may not be used to endorse or promote
13 .\" products derived from this software without specific prior written
16 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" $FreeBSD: src/usr.sbin/mfiutil/mfiutil.8,v 1.9 2011/09/02 16:00:51 jhb Exp $
35 .Nd Utility for managing LSI MegaRAID SAS controllers
60 .Op Ar start Op Ar stop
91 .Cm drive progress Ar drive
94 .Cm drive clear Ar drive Brq "start | stop"
97 .Cm start rebuild Ar drive
100 .Cm abort rebuild Ar drive
103 .Cm locate Ar drive Brq "on | off"
106 .Cm cache Ar volume Op Ar setting Oo Ar value Oc Op ...
109 .Cm name Ar volume Ar name
112 .Cm volume progress Ar volume
120 .Op Fl s Ar stripe_size
121 .Ar drive Ns Op \&, Ns Ar drive Ns Op ",..."
122 .Op Ar drive Ns Op \&, Ns Ar drive Ns Op ",..."
128 .Cm add Ar drive Op Ar volume
140 .Cm patrol Ar command Op Ar interval Op Ar start
149 .Cm foreign clear Op Ar config
152 .Cm foreign display Op Ar config
155 .Cm foreign preview Op Ar config
158 .Cm foreign import Op Ar config
165 utility can be used to display or modify various parameters on LSI
166 MegaRAID SAS RAID controllers.
169 consists of zero or more global options followed by a command.
170 Commands may support additional optional or required arguments after the
173 Currently one global option is supported:
174 .Bl -tag -width indent
177 specifies the unit of the controller to work with.
178 If no unit is specified,
182 Various commands accept either or both of the two options:
183 .Bl -tag -width indent
185 Print numeric device IDs as drive identifier.
187 Useful in combination with
189 to print both, numeric device IDs and enclosure:slot information.
191 Print drive identifiers in enclosure:slot form.
192 See next paragraph on format details in context of input rather than
196 Drives may be specified in two forms.
198 a drive may be identified by its device ID.
199 The device ID for configured drives can be found in
202 a drive may be identified by its location as
212 is the slot for each drive as displayed in
215 Volumes may be specified in two forms.
217 a volume may be identified by its target ID.
219 on the volume may be specified by the corresponding
227 utility supports several different groups of commands.
228 The first group of commands provide information about the controller,
229 the volumes it manages, and the drives it controls.
230 The second group of commands are used to manage the physical drives
231 attached to the controller.
232 The third group of commands are used to manage the logical volumes
233 managed by the controller.
234 The fourth group of commands are used to manage the drive configuration for
236 The fifth group of commands are used to manage controller-wide operations.
238 The informational commands include:
239 .Bl -tag -width indent
241 Displays the version of
244 Displays information about the RAID controller such as the model number.
246 Displays information about the battery from the battery backup unit.
248 Displays the volume and drive configuration for the controller.
249 Each array is listed along with the physical drives the array is built from.
250 Each volume is listed along with the arrays that the volume spans.
251 If any hot spare drives are configured, then they are listed as well.
253 Lists all of the physical drives attached to the controller.
254 .It Xo Cm show events
259 .Op Ar start Op Ar stop
261 Display entries from the controller's event log.
262 The controller maintains a circular buffer of events.
263 Each event is tagged with a class and locale.
267 parameter limits the output to entries at the specified class or higher.
270 The available classes from lowest priority to highest are:
271 .Bl -tag -width indent
275 Periodic progress updates for long-running operations such as background
276 initializations, array rebuilds, or patrol reads.
278 Informational messages such as drive insertions and volume creations.
280 Indicates that some component may be close to failing.
282 A component has failed, but no data is lost.
283 For example, a volume becoming degraded due to a drive failure.
285 A component has failed resulting in data loss.
287 The controller itself has died.
292 parameter limits the output to entries for the specified part of the controller.
293 The default locale is
295 The available locales are
309 parameter is a debugging aid that specifies the number of events to fetch from
310 the controller for each low-level request.
311 The default is 15 events.
313 By default, matching event log entries from the previous shutdown up to the
314 present are displayed. This range can be adjusted via the
319 Each of these parameters can either be specified as a log entry number or as
320 one of the following aliases:
321 .Bl -tag -width indent
323 The newest entry in the event log.
325 The oldest entry in the event log.
327 The first entry since the event log was cleared.
329 The entry in the event log corresponding to the last time the controller was
332 The entry in the event log corresponding to the most recent boot.
335 Lists all of the firmware images present on the controller.
337 Display the various sequence numbers associated with the event log.
339 Display the status of the controller's patrol read operation.
341 Report the current progress and estimated completion time for active
342 operations on all volumes and drives.
344 Lists all of the logical volumes managed by the controller.
347 The physical drive management commands include:
348 .Bl -tag -width indent
354 must be an online drive that is part of an array.
358 as an unconfigured good drive.
360 must not be part of an existing array.
361 .It Cm rebuild Ar drive
364 that is still part of an array as a good drive suitable for a rebuild.
365 The firmware should kick off an array rebuild on its own if a failed drive
366 is marked as a rebuild drive.
367 .It Cm drive progress Ar drive
368 Report the current progress and estimated completion time of drive operations
369 such as rebuilds or patrol reads.
370 .It Cm drive clear Ar drive Brq "start | stop"
371 Start or stop the writing of all 0x00 characters to a drive.
372 .It Cm start rebuild Ar drive
373 Manually start a rebuild on
375 .It Cm abort rebuild Ar drive
376 Abort an in-progress rebuild operation on
378 It can be resumed with the
381 .It Cm locate Ar drive Brq "on | off"
382 Change the state of the external LED associated with
386 The logical volume management commands include:
387 .Bl -tag -width indent
388 .It Cm cache Ar volume Op Ar setting Oo Ar value Oc Op ...
391 arguments are supplied, then the current cache policy for
400 arguments may be given.
401 Some settings take an additional
403 argument as noted below.
404 The valid settings are:
405 .Bl -tag -width indent
407 Enable caching for both read and write I/O operations.
409 Disable caching for both read and write I/O operations.
411 Enable caching only for read I/O operations.
413 Enable caching only for write I/O operations.
415 Use write-back policy for cached writes.
417 Use write-through policy for cached writes.
418 .It Cm read-ahead Ar value
419 Set the read ahead policy for cached reads.
422 argument can be set to either
427 .It Cm bad-bbu-write-cache Ar value
428 Control the behavior of I/O write caching if the battery is dead or
432 argument can be set to either
436 In general this setting should be left disabled to avoid data loss when
437 the system loses power.
438 .It Cm write-cache Ar value
439 Control the write caches on the physical drives backing
443 argument can be set to either
449 In general this setting should be left disabled to avoid data loss when the
450 physical drives lose power.
451 The battery backup of the RAID controller does not save data in the write
452 caches of the physical drives.
454 .It Cm name Ar volume Ar name
459 .It Cm volume progress Ar volume
460 Report the current progress and estimated completion time of volume operations
461 such as consistency checks and initializations.
464 The configuration commands include:
465 .Bl -tag -width indent
467 Delete the entire configuration including all volumes, arrays, and spares.
468 .It Xo Cm create Ar type
470 .Op Fl s Ar stripe_size
471 .Ar drive Ns Op \&, Ns Ar drive Ns Op ",..."
472 .Op Ar drive Ns Op \&, Ns Ar drive Ns Op ",..."
477 specifies the type of volume to create.
478 Currently supported types include:
479 .Bl -tag -width indent
481 Creates a RAID0 volume for each drive specified.
482 Each drive must be specified as a separate argument.
484 Creates one RAID0 volume spanning the drives listed in the single drive list.
486 Creates one RAID1 volume spanning the drives listed in the single drive list.
488 Creates one RAID5 volume spanning the drives listed in the single drive list.
490 Creates one RAID6 volume spanning the drives listed in the single drive list.
492 Creates one RAID10 volume spanning multiple RAID1 arrays.
493 The drives for each RAID1 array are specified as a single drive list.
495 Creates one RAID50 volume spanning multiple RAID5 arrays.
496 The drives for each RAID5 array are specified as a single drive list.
498 Creates one RAID60 volume spanning multiple RAID6 arrays.
499 The drives for each RAID6 array are specified as a single drive list.
501 Creates a single volume by concatenating all of the drives in the single drive
506 Not all volume types are supported by all controllers.
510 flag is specified after
512 then more verbose output will be enabled.
513 Currently this just provides notification as drives are added to arrays and
514 arrays to volumes when building the configuration.
519 parameter allows the stripe size of the array to be set.
520 By default a stripe size of 64K is used.
521 Valid values are 512 through 1M, though the MFI firmware may reject some
523 .It Cm delete Ar volume
526 .It Cm add Ar drive Op Ar volume
531 must be in the unconfigured good state.
535 then the hot spare will be dedicated to arrays backing that volume.
538 will be used as a global hot spare backing all arrays for this controller.
541 must be as large as the smallest drive in all of the arrays it is going to
543 .It Cm remove Ar drive
547 It will be placed in the unconfigured good state.
550 The controller management commands include:
551 .Bl -tag -width indent
552 .It Cm patrol Ar command Op Ar interval Op Ar start
553 Set the patrol read operation mode.
556 argument can be one of the following values:
557 .Bl -tag -width indent
559 Disable patrol reads.
561 Enable periodic patrol reads initiated by the firmware.
564 argument specifies the interval in seconds between patrol reads.
565 If patrol reads should be run continuously,
568 should consist of the word
572 argument specifies a non-negative, relative start time for the next patrol read.
573 If an interval or start time is not specified,
574 then the existing setting will be used.
576 Enable manual patrol reads that are only initiated by the user.
579 Start a patrol read operation.
581 Stop a currently running patrol read operation.
583 Scan for foreign configurations and display the number found.
586 argument for the commands below takes the form of a number from 0 to
587 the total configurations found.
588 .It Cm foreign drives
589 Scan for drives flagged as foreign and display them.
590 .It Cm foreign clear Op config
591 Clear the specified foreign
595 argument is provided.
596 .It Cm foreign display Op config
597 Display the specified foreign
601 argument is provided.
602 .It Cm foreign preview Op config
603 Preview the specified foreign
605 after import or all if no
607 argument is provided.
608 .It Cm foreign import Op config
609 Import the specified foreign
613 argument is provided.
615 Updates the flash on the controller with the firmware stored in
617 A reboot is required for the new firmware to take effect.
620 Configure the cache for volume mfid0 to cache only writes:
622 .Dl Nm Cm cache mfid0 writes
623 .Dl Nm Cm cache mfid0 write-back
625 Create a RAID5 array spanning the first four disks in the second enclosure:
627 .Dl Nm Cm create raid5 e1:s0,e1:s1,e1:s2,e1:s4
629 Configure the first three disks on a controller as JBOD:
631 .Dl Nm Cm create jbod 0 1 2
633 Create a RAID10 volume that spans two arrays each of which contains two disks
634 from two different enclosures:
636 .Dl Nm Cm create raid10 e1:s0,e1:s1 e2:s0,e2:s1
638 Add drive with the device ID of 4 as a global hot spare:
642 Add the drive in slot 2 in the main chassis as a hot spare for volume mfid0:
644 .Dl Nm Cm add s2 mfid0
646 Configure the adapter to run periodic patrol reads once a week with the first
647 patrol read starting in 5 minutes:
649 .Dl Nm Cm patrol auto 604800 300
655 utility first appeared in