Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
MPTUTIL(8)              FreeBSD System Manager's Manual             MPTUTIL(8)

     mptutil - Utility for managing LSI Fusion-MPT controllers

     mptutil version
     mptutil [-u unit] show adapter
     mptutil [-u unit] show config
     mptutil [-u unit] show drives
     mptutil [-u unit] show events
     mptutil [-u unit] show volumes
     mptutil [-u unit] fail drive
     mptutil [-u unit] online drive
     mptutil [-u unit] offline drive
     mptutil [-u unit] name volume name
     mptutil [-u unit] volume status volume
     mptutil [-u unit] volume cache volume enable|disable
     mptutil [-u unit] clear
     mptutil [-u unit] create type [-q] [-v] [-s stripe_size]
     mptutil [-u unit] delete volume
     mptutil [-u unit] add drive [volume]
     mptutil [-u unit] remove drive

     The mptutil utility can be used to display or modify various parameters
     on LSI Fusion-MPT controllers.  Each invocation of mptutil consists of
     zero or more global options followed by a command.  Commands may support
     additional optional or required arguments after the command.

     Currently one global option is supported:

     -u unit
             unit specifies the unit of the controller to work with.  If no
             unit is specified, then unit 0 is used.

     Volumes may be specified in two forms.  First, a volume may be identified
     by its location as [xx:]yy where xx is the bus ID and yy is the target
     ID.  If the bus ID is omitted, the volume is assumed to be on bus 0.
     Second, on the volume may be specified by the corresponding daX device,
     such as da0.

     The mpt(4) controller divides drives up into two categories.  Configured
     drives belong to a RAID volume either as a member drive or as a hot
     spare.  Each configured drive is assigned a unique device ID such as 0 or
     1 that is show in show config, and in the first column of show drives.
     Any drive not associated with a RAID volume as either a member or a hot
     spare is a standalone drive.  Standalone drives are visible to the
     operating system as SCSI disk devices.  As a result, drives may be
     specified in three forms.  First, a configured drive may be identified by
     its device ID.  Second, any drive may be identified by its location as
     xx:yy where xx is the bus ID and yy is the target ID for each drive as
     displayed in show drives.  Note that unlike volumes, a drive location
     always requires the bus ID to avoid confusion with device IDs.  Third, a
     standalone drive that is not part of a volume may be identified by its
     corresponding daX device as displayed in show drives.

     The mptutil utility supports several different groups of commands.  The
     first group of commands provide information about the controller, the
     volumes it manages, and the drives it controls.  The second group of
     commands are used to manage the physical drives attached to the
     controller.  The third group of commands are used to manage the logical
     volumes managed by the controller.  The fourth group of commands are used
     to manage the drive configuration for the controller.

     The informational commands include:

             Displays the version of mptutil.

     show adapter
             Displays information about the RAID controller such as the model

     show config
             Displays the volume and drive configuration for the controller.
             Each volume is listed along with the physical drives that the
             volume spans.  If any hot spare drives are configured, then they
             are listed as well.

     show drives
             Lists all of the physical drives attached to the controller.

     show events
             Display all the entries from the controller's event log.  Due to
             lack of documentation this command is not very useful currently
             and just dumps each log entry in hex.

     show volumes
             Lists all of the logical volumes managed by the controller.

     The physical drive management commands include:

     fail drive
             Mark drive as ``failed requested''.  Note that this state is
             different from the ``failed'' state that is used when the
             firmware fails a drive.  Drive must be a configured drive.

     online drive
             Mark drive as an online drive.  Drive must be part a configured
             drive in either the ``offline'' or ``failed requested'' states.

     offline drive
             Mark drive as offline.  Drive must be a configured, online drive.

     The logical volume management commands include:

     name volume name
             Sets the name of volume to name.

     volume cache volume enable|disable
             Enables or disables the drive write cache for the member drives
             of volume.

     volume status volume
             Display more detailed status about a single volume including the
             current progress of a rebuild operation if one is being

     The configuration commands include:

     clear   Delete the entire configuration including all volumes and spares.
             All drives will become standalone drives.

     create type [-q] [-v] [-s stripe_size] drive[,drive[,...]]
             Create a new volume.  The type specifies the type of volume to
             create.  Currently supported types include:

             raid0   Creates one RAID0 volume spanning the drives listed in
                     the single drive list.

             raid1   Creates one RAID1 volume spanning the drives listed in
                     the single drive list.

             raid1e  Creates one RAID1E volume spanning the drives listed in
                     the single drive list.

             Note: Not all volume types are supported by all controllers.

             If the -q flag is specified after type, then a ``quick''
             initialization of the volume will be done.  This is useful when
             the drives do not contain any existing data that need to be

             If the -v flag is specified after type, then more verbose output
             will be enabled.  Currently this just provides notification as
             drives are added to volumes when building the configuration.

             The -s stripe_size parameter allows the stripe size of the array
             to be set.  By default a stripe size of 64K is used.  The list of
             valid values for a given type are listed in the output of show

     delete volume
             Delete the volume volume.  Member drives will become standalone

     add drive [volume]
             Mark drive as a hot spare.  Drive must not be a member of a
             volume.  If volume is specified, then the hot spare will be
             dedicated to that volume.  Otherwise, drive will be used as a
             global hot spare backing all volumes for this controller.  Note
             that drive must be as large as the smallest drive in all of the
             volumes it is going to back.

     remove drive
             Remove the hot spare drive from service.  It will become a
             standalone drive.

     Mark the drive at bus 0 target 4 as offline:

           mptutil offline 0:4

     Create a RAID1 array from the two standalone drives da1 and da2:

           mptutil create raid1 da1,da2

     Mark standalone drive da3 as a global hot spare:

           mptutil add da3


     The mptutil utility first appeared in FreeBSD 8.0.

     The handling of spare drives appears to be unreliable.  The mpt(4)
     firmware manages spares via spare drive ``pools''.  There are eight pools
     numbered 0 through 7.  Each spare drive can only be assigned to a single
     pool.  Each volume can be backed by any combination of zero or more spare
     pools.  The mptutil utility attempts to use the following algorithm for
     managing spares.  Global spares are always assigned to pool 0, and all
     volumes are always backed by pool 0.  For dedicated spares, mptutil
     assigns one of the remaining 7 pools to each volume and assigns dedicated
     drives to that pool.  In practice however, it seems that assigning a
     drive as a spare does not take effect until the box has been rebooted.
     Also, the firmware renumbers the spare pool assignments after a reboot
     which undoes the effects of the algorithm above.  Simple cases such as
     assigning global spares seem to work ok (albeit requiring a reboot to
     take effect) but more ``exotic'' configurations may not work reliably.

     Drive configuration commands result in an excessive flood of messages on
     the console.

     The mpt version 1 API that is used by mptutil and mpt(4) does not support
     volumes above two terabytes.  This is a limitation of the API.  If you
     are using this adapter with volumes larger than two terabytes, use the
     adapter in JBOD mode.  Utilize geom(8), zfs(8), or another software
     volume manager to work around this limitation.

FreeBSD 11.0-PRERELEASE         August 16, 2009        FreeBSD 11.0-PRERELEASE


Want to link to this manual page? Use this URL:

home | help