.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH zpool 8 "8 Apr 2011" "SunOS 5.11" "System Administration Commands"
+.TH zpool 8 "8 Apr 2011" "ZFS pool 28, filesystem 5" "System Administration Commands"
.SH NAME
zpool \- configures ZFS storage pools
.SH SYNOPSIS
.LP
.nf
-\fBzpool import\fR [\fB-o \fImntopts\fR\fR] [\fB-o\fR \fIproperty=value\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR]
- [\fB-D\fR] [\fB-f\fR] [\fB-R\fR \fIroot\fR] \fB-a\fR
+\fBzpool import\fR [\fB-o \fImntopts\fR\fR] [\fB-o\fR \fIproperty=value\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR]
+ [\fB-D\fR] [\fB-f\fR] [\fB-m\fR] [\fB-N\fR] [\fB-R\fR \fIroot\fR] [\fB-F\fR [\fB-n\fR]] \fB-a\fR
.fi
.LP
.nf
\fBzpool import\fR [\fB-o \fImntopts\fR\fR] [\fB-o\fR \fIproperty=value\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR]
- [\fB-D\fR] [\fB-f\fR] [\fB-R\fR \fIroot\fR] \fIpool\fR |\fIid\fR [\fInewpool\fR]
+ [\fB-D\fR] [\fB-f\fR] [\fB-m\fR] [\fB-R\fR \fIroot\fR] [\fB-F\fR [\fB-n\fR]] \fIpool\fR |\fIid\fR [\fInewpool\fR]
.fi
.LP
.ad
.RS 10n
.rt
-A block device, typically located under \fB/dev\fR. \fBZFS\fR can use individual slices or partitions, though the recommended mode of operation is to use whole disks. A disk can be specified by a full path, or it can be a shorthand name (the relative portion of the path under "/dev"). A whole disk can be specified by omitting the slice or partition designation. For example, "c0t0d0" is equivalent to "/dev/c0t0d0s2". When given a whole disk, \fBZFS\fR automatically labels the disk, if necessary.
+A block device, typically located under \fB/dev\fR. \fBZFS\fR can use individual partitions, though the recommended mode of operation is to use whole disks. A disk can be specified by a full path, or it can be a shorthand name (the relative portion of the path under "/dev"). For example, "sda" is equivalent to "/dev/sda". A whole disk can be specified by omitting the partition designation. When given a whole disk, \fBZFS\fR automatically labels the disk, if necessary.
.RE
.sp
.sp
.in +2
.nf
-# \fBzpool create mypool mirror c0t0d0 c0t1d0 mirror c1t0d0 c1t1d0\fR
+# \fBzpool create mypool mirror sda sdb mirror sdc sdd\fR
.fi
.in -2
.sp
.sp
.in +2
.nf
-# zpool create pool mirror c0d0 c1d0 spare c2d0 c3d0
+# zpool create pool mirror sda sdb spare sdc sdd
.fi
.in -2
.sp
.sp
.LP
-Spares can be shared across multiple pools, and can be added with the "\fBzpool add\fR" command and removed with the "\fBzpool remove\fR" command. Once a spare replacement is initiated, a new "spare" \fBvdev\fR is created within the configuration that will remain there until the original device is replaced. At this point, the hot spare becomes available again if another device fails.
+Spares can be shared across multiple pools, and can be added with the "\fBzpool add\fR" command and removed with the "\fBzpool remove\fR" command. Once a spare replacement is initiated, a new "spare" \fBvdev\fR is created within the configuration that will remain there until the original device is replaced. At this point, the hot spare becomes available again.
.sp
.LP
If a pool has a shared spare that is currently being used, the pool can not be exported since other pools may use this shared spare, which may lead to potential data corruption.
.sp
.in +2
.nf
-\fB# zpool create pool c0d0 c1d0 log c2d0\fR
+\fB# zpool create pool sda sdb log sdc\fR
.fi
.in -2
.sp
.sp
.in +2
.nf
-\fB# zpool create pool c0d0 c1d0 cache c2d0 c3d0\fR
+\fB# zpool create pool sda sdb cache sdc sdd\fR
.fi
.in -2
.sp
.sp
.LP
These space usage properties report actual physical space available to the storage pool. The physical space can be different from the total amount of space that any contained datasets can actually use. The amount of space used in a \fBraidz\fR configuration depends on the characteristics of the data being written. In addition, \fBZFS\fR reserves some space for internal accounting that the \fBzfs\fR(8) command takes into account, but the \fBzpool\fR command does not. For non-full pools of a reasonable size, these effects should be invisible. For small pools, or pools that are close to being completely full, these discrepancies may become more noticeable.
+
+.sp
+.LP
+The following property can be set at creation time:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBashift\fR\fR
+.ad
+.sp .6
+.RS 4n
+Pool sector size exponent, to the power of 2 (internally referred to as "ashift"). I/O operations will be aligned to the specified size boundaries. Additionally, the minimum (disk) write size will be set to the specified size, so this represents a space vs. performance trade-off. The typical case for setting this property is when performance is important and the underlying disks use 4KiB sectors but report 512B sectors to the OS (for compatibility reasons); in that case, set \fBashift=12\fR (which is 1<<12 = 4096).
+.LP
+For optimal performance, the pool sector size should be greater than or equal to the sector size of the underlying disks. Since the property cannot be changed after pool creation, if in a given pool, you \fIever\fR want to use drives that \fIreport\fR 4KiB sectors, you must set \fBashift=12\fR at pool creation time.
+.RE
+
.sp
.LP
The following property can be set at creation time and import time:
.ad
.sp .6
.RS 4n
-Alternate root directory. If set, this directory is prepended to any mount points within the pool. This can be used when examining an unknown pool where the mount points cannot be trusted, or in an alternate boot environment, where the typical paths are not valid. \fBaltroot\fR is not a persistent property. It is valid only while the system is up. Setting \fBaltroot\fR defaults to using \fBcachefile\fR=none, though this may be overridden using an explicit setting.
+Alternate root directory. If set, this directory is prepended to any mount points within the pool. This can be used when examining an unknown pool where the mount points cannot be trusted, or in an alternate boot environment, where the typical paths are not valid. \fBaltroot\fR is not a persistent property. It is valid only while the system is up. Setting \fBaltroot\fR defaults to using \fBcachefile\fR=none, though this may be overridden using an explicit setting.
.RE
.sp
.sp
Before exporting the pool, all datasets within the pool are unmounted. A pool can not be exported if it has a shared spare that is currently being used.
.sp
-For pools to be portable, you must give the \fBzpool\fR command whole disks, not just slices, so that \fBZFS\fR can label the disks with portable \fBEFI\fR labels. Otherwise, disk drivers on platforms of different endianness will not recognize the disks.
+For pools to be portable, you must give the \fBzpool\fR command whole disks, not just partitions, so that \fBZFS\fR can label the disks with portable \fBEFI\fR labels. Otherwise, disk drivers on platforms of different endianness will not recognize the disks.
.sp
.ne 2
.mk
.ne 2
.mk
.na
-\fB\fBzpool import\fR [\fB-o\fR \fImntopts\fR] [ \fB-o\fR \fIproperty\fR=\fIvalue\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR] [\fB-D\fR] [\fB-f\fR] [\fB-R\fR \fIroot\fR] \fB-a\fR\fR
+\fB\fBzpool import\fR [\fB-o\fR \fImntopts\fR] [ \fB-o\fR \fIproperty\fR=\fIvalue\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR] [\fB-D\fR] [\fB-f\fR] [\fB-m\fR] [\fB-N\fR] [\fB-R\fR \fIroot\fR] [\fB-F\fR [\fB-n\fR]] \fB-a\fR\fR
.ad
.sp .6
.RS 4n
.ne 2
.mk
.na
+\fB\fB-F\fR\fR
+.ad
+.RS 21n
+Recovery mode for a non-importable pool. Attempt to return the pool to an importable state by discarding the last few transactions. Not all damaged pools can be recovered by using this option. If successful, the data from the discarded transactions is irretrievably lost. This option is ignored if the pool is importable or already imported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
\fB\fB-a\fR\fR
.ad
.RS 21n
.ne 2
.mk
.na
+\fB\fB-m\fR\fR
+.ad
+.RS 21n
+Allows a pool to import when there is a missing log device.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
\fB\fB-R\fR \fIroot\fR\fR
.ad
.RS 21n
Sets the "\fBcachefile\fR" property to "\fBnone\fR" and the "\fIaltroot\fR" property to "\fIroot\fR".
.RE
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-N\fR\fR
+.ad
+.RS 21n
+Import the pool without mounting any file systems.
.RE
.sp
.ne 2
.mk
.na
-\fB\fBzpool import\fR [\fB-o\fR \fImntopts\fR] [ \fB-o\fR \fIproperty\fR=\fIvalue\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR] [\fB-D\fR] [\fB-f\fR] [\fB-R\fR \fIroot\fR] \fIpool\fR | \fIid\fR [\fInewpool\fR]\fR
+\fB\fB-n\fR\fR
+.ad
+.RS 21n
+Used with the \fB-F\fR recovery option. Determines whether a non-importable pool can be made importable again, but does not actually perform the pool recovery. For more details about pool recovery mode, see the \fB-F\fR option, above.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBzpool import\fR [\fB-o\fR \fImntopts\fR] [ \fB-o\fR \fIproperty\fR=\fIvalue\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR] [\fB-D\fR] [\fB-f\fR] [\fB-m\fR] [\fB-R\fR \fIroot\fR] [\fB-F\fR [\fB-n\fR]] \fIpool\fR | \fIid\fR [\fInewpool\fR]\fR
.ad
.sp .6
.RS 4n
.ne 2
.mk
.na
+\fB\fB-F\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recovery mode for a non-importable pool. Attempt to return the pool to an importable state by discarding the last few transactions. Not all damaged pools can be recovered by using this option. If successful, the data from the discarded transactions is irretrievably lost. This option is ignored if the pool is importable or already imported.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
\fB\fB-R\fR \fIroot\fR\fR
.ad
.sp .6
Sets the "\fBcachefile\fR" property to "\fBnone\fR" and the "\fIaltroot\fR" property to "\fIroot\fR".
.RE
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used with the \fB-F\fR recovery option. Determines whether a non-importable pool can be made importable again, but does not actually perform the pool recovery. For more details about pool recovery mode, see the \fB-F\fR option, above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allows a pool to import when there is a missing log device.
+.RE
+
.RE
.sp
.sp
.in +2
.nf
-# \fBzpool create tank raidz c0t0d0 c0t1d0 c0t2d0 c0t3d0 c0t4d0 c0t5d0\fR
+# \fBzpool create tank raidz sda sdb sdc sdd sde sdf\fR
.fi
.in -2
.sp
.sp
.in +2
.nf
-# \fBzpool create tank mirror c0t0d0 c0t1d0 mirror c0t2d0 c0t3d0\fR
+# \fBzpool create tank mirror sda sdb mirror sdc sdd\fR
.fi
.in -2
.sp
.LP
-\fBExample 3 \fRCreating a ZFS Storage Pool by Using Slices
+\fBExample 3 \fRCreating a ZFS Storage Pool by Using Partitions
.sp
.LP
-The following command creates an unmirrored pool using two disk slices.
+The following command creates an unmirrored pool using two disk partitions.
.sp
.in +2
.nf
-# \fBzpool create tank /dev/c0t0d0s1 c0t1d0s4\fR
+# \fBzpool create tank sda1 sdb2\fR
.fi
.in -2
.sp
\fBExample 5 \fRAdding a Mirror to a ZFS Storage Pool
.sp
.LP
-The following command adds two mirrored disks to the pool "\fItank\fR", assuming the pool is already made up of two-way mirrors. The additional space is immediately available to any datasets within the pool.
+The following command adds two mirrored disks to the pool \fItank\fR, assuming the pool is already made up of two-way mirrors. The additional space is immediately available to any datasets within the pool.
.sp
.in +2
.nf
-# \fBzpool add tank mirror c1t0d0 c1t1d0\fR
+# \fBzpool add tank mirror sda sdb\fR
.fi
.in -2
.sp
\fBExample 7 \fRDestroying a ZFS Storage Pool
.sp
.LP
-The following command destroys the pool "\fItank\fR" and any datasets contained within.
+The following command destroys the pool \fItank\fR and any datasets contained within.
.sp
.in +2
\fBExample 9 \fRImporting a ZFS Storage Pool
.sp
.LP
-The following command displays available pools, and then imports the pool "tank" for use on the system.
+The following command displays available pools, and then imports the pool \fItank\fR for use on the system.
.sp
.LP
tank ONLINE
mirror ONLINE
- c1t2d0 ONLINE
- c1t3d0 ONLINE
+ sda ONLINE
+ sdb ONLINE
# \fBzpool import tank\fR
.fi
.in +2
.nf
# \fBzpool upgrade -a\fR
-This system is currently running ZFS version 2.
+This system is currently running ZFS pool version 28.
.fi
.in -2
.sp
.sp
.in +2
.nf
-# \fBzpool create tank mirror c0t0d0 c0t1d0 spare c0t2d0\fR
+# \fBzpool create tank mirror sda sdb spare sdc\fR
.fi
.in -2
.sp
.sp
.in +2
.nf
-# \fBzpool replace tank c0t0d0 c0t3d0\fR
+# \fBzpool replace tank sda sdd\fR
.fi
.in -2
.sp
.sp
.LP
-Once the data has been resilvered, the spare is automatically removed and is made available should another device fails. The hot spare can be permanently removed from the pool using the following command:
+Once the data has been resilvered, the spare is automatically removed and is made available for use should another device fails. The hot spare can be permanently removed from the pool using the following command:
.sp
.in +2
.nf
-# \fBzpool remove tank c0t2d0\fR
+# \fBzpool remove tank sdc\fR
.fi
.in -2
.sp
.sp
.in +2
.nf
-# \fBzpool create pool mirror c0d0 c1d0 mirror c2d0 c3d0 log mirror \e
- c4d0 c5d0\fR
+# \fBzpool create pool mirror sda sdb mirror sdc sdd log mirror \e
+ sde sdf\fR
.fi
.in -2
.sp
.sp
.in +2
.nf
-# \fBzpool add pool cache c2d0 c3d0\fR
+# \fBzpool add pool cache sdc sdd\fR
.fi
.in -2
.sp
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
- c6t0d0 ONLINE 0 0 0
- c6t1d0 ONLINE 0 0 0
+ sda ONLINE 0 0 0
+ sdb ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
- c6t2d0 ONLINE 0 0 0
- c6t3d0 ONLINE 0 0 0
+ sdc ONLINE 0 0 0
+ sdd ONLINE 0 0 0
logs
mirror-2 ONLINE 0 0 0
- c4t0d0 ONLINE 0 0 0
- c4t1d0 ONLINE 0 0 0
+ sde ONLINE 0 0 0
+ sdf ONLINE 0 0 0
.fi
.in -2
.sp
Invalid command line options were specified.
.RE
-.SH ATTRIBUTES
-.sp
-.LP
-See \fBattributes\fR(5) for descriptions of the following attributes:
-.sp
-
-.sp
-.TS
-tab(\a) box;
-cw(2.75i) |cw(2.75i)
-lw(2.75i) |lw(2.75i)
-.
-ATTRIBUTE TYPE\aATTRIBUTE VALUE
-_
-Availability\aSUNWzfsu
-_
-Interface Stability\aEvolving
-.TE
-
.SH SEE ALSO
.sp
.LP
-\fBzfs\fR(8), \fBattributes\fR(5)
+\fBzfs\fR(8)