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