Add "ashift" property to zpool create
[zfs.git] / man / man8 / zpool.8
index ff71dff..3dd1c18 100644 (file)
@@ -3,7 +3,7 @@
 .\" 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 1M "21 Sep 2009" "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
@@ -141,7 +141,7 @@ zpool \- configures ZFS storage pools
 The \fBzpool\fR command configures \fBZFS\fR storage pools. A storage pool is a collection of devices that provides physical storage and data replication for \fBZFS\fR datasets.
 .sp
 .LP
-All datasets within a storage pool share the same space. See \fBzfs\fR(1M) for information on managing datasets.
+All datasets within a storage pool share the same space. See \fBzfs\fR(8) for information on managing datasets.
 .SS "Virtual Devices (\fBvdev\fRs)"
 .sp
 .LP
@@ -154,7 +154,7 @@ A "virtual device" describes a single device or a collection of devices organize
 .ad
 .RS 10n
 .rt  
-A block device, typically located under \fB/dev/dsk\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/dsk"). A whole disk can be specified by omitting the slice or partition designation. For example, "c0t0d0" is equivalent to "/dev/dsk/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
@@ -251,7 +251,7 @@ Virtual devices are specified one at a time on the command line, separated by wh
 .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
@@ -373,14 +373,14 @@ If a device is removed and later re-attached to the system, \fBZFS\fR attempts t
 .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.
@@ -397,7 +397,7 @@ The \fBZFS\fR Intent Log (\fBZIL\fR) satisfies \fBPOSIX\fR requirements for sync
 .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
@@ -418,7 +418,7 @@ To create a pool with cache devices, specify a "cache" \fBvdev\fR with any numbe
 .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
@@ -501,7 +501,24 @@ Amount of storage space used within the pool.
 
 .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(1M) 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.
+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:
@@ -513,7 +530,7 @@ 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
@@ -573,7 +590,7 @@ Multiple pools can share the same cache file. Because the kernel destroys and re
 .ad
 .sp .6
 .RS 4n
-Controls whether a non-privileged user is granted access based on the dataset permissions defined on the dataset. See \fBzfs\fR(1M) for more information on \fBZFS\fR delegated administration.
+Controls whether a non-privileged user is granted access based on the dataset permissions defined on the dataset. See \fBzfs\fR(8) for more information on \fBZFS\fR delegated administration.
 .RE
 
 .sp
@@ -787,7 +804,7 @@ Sets the given pool properties. See the "Properties" section for a list of valid
 .ad
 .sp .6
 .RS 4n
-Sets the given file system properties in the root file system of the pool. See the "Properties" section of \fBzfs\fR(1M) for a list of valid properties that can be set.
+Sets the given file system properties in the root file system of the pool. See the "Properties" section of \fBzfs\fR(8) for a list of valid properties that can be set.
 .RE
 
 .sp
@@ -809,7 +826,7 @@ Equivalent to "-o cachefile=none,altroot=\fIroot\fR"
 .ad
 .sp .6
 .RS 4n
-Sets the mount point for the root dataset. The default mount point is "/\fIpool\fR" or "\fBaltroot\fR/\fIpool\fR" if \fBaltroot\fR is specified. The mount point must be an absolute path, "\fBlegacy\fR", or "\fBnone\fR". For more information on dataset mount points, see \fBzfs\fR(1M).
+Sets the mount point for the root dataset. The default mount point is "/\fIpool\fR" or "\fBaltroot\fR/\fIpool\fR" if \fBaltroot\fR is specified. The mount point must be an absolute path, "\fBlegacy\fR", or "\fBnone\fR". For more information on dataset mount points, see \fBzfs\fR(8).
 .RE
 
 .RE
@@ -859,7 +876,7 @@ Exports the given pools from the system. All devices are marked as exported, but
 .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
@@ -939,7 +956,7 @@ Displays log records in long format, which in addition to standard format includ
 .ad
 .sp .6
 .RS 4n
-Lists pools available to import. If the \fB-d\fR option is not specified, this command searches for devices in "/dev/dsk". The \fB-d\fR option can be specified multiple times, and all directories are searched. If the device appears to be part of an exported pool, this command displays a summary of the pool with the name of the pool, a numeric identifier, as well as the \fIvdev\fR layout and current health of the device for each device or file. Destroyed pools, pools that were previously destroyed with the "\fBzpool destroy\fR" command, are not listed unless the \fB-D\fR option is specified. 
+Lists pools available to import. If the \fB-d\fR option is not specified, this command searches for devices in "/dev". The \fB-d\fR option can be specified multiple times, and all directories are searched. If the device appears to be part of an exported pool, this command displays a summary of the pool with the name of the pool, a numeric identifier, as well as the \fIvdev\fR layout and current health of the device for each device or file. Destroyed pools, pools that were previously destroyed with the "\fBzpool destroy\fR" command, are not listed unless the \fB-D\fR option is specified. 
 .sp
 The numeric identifier is unique, and can be used instead of the pool name when multiple exported pools of the same name are available.
 .sp
@@ -994,7 +1011,7 @@ Imports all pools found in the search directories. Identical to the previous com
 .ad
 .RS 21n
 .rt  
-Comma-separated list of mount options to use when mounting datasets within the pool. See \fBzfs\fR(1M) for a description of dataset properties and mount options.
+Comma-separated list of mount options to use when mounting datasets within the pool. See \fBzfs\fR(8) for a description of dataset properties and mount options.
 .RE
 
 .sp
@@ -1095,7 +1112,7 @@ If a device is removed from a system without running "\fBzpool export\fR" first,
 .ad
 .sp .6
 .RS 4n
-Comma-separated list of mount options to use when mounting datasets within the pool. See \fBzfs\fR(1M) for a description of dataset properties and mount options.
+Comma-separated list of mount options to use when mounting datasets within the pool. See \fBzfs\fR(8) for a description of dataset properties and mount options.
 .RE
 
 .sp
@@ -1305,7 +1322,7 @@ Replaces \fIold_device\fR with \fInew_device\fR. This is equivalent to attaching
 .sp
 The size of \fInew_device\fR must be greater than or equal to the minimum size of all the devices in a mirror or \fBraidz\fR configuration.
 .sp
-\fInew_device\fR is required if the pool is not redundant. If \fInew_device\fR is not specified, it defaults to \fIold_device\fR. This form of replacement is useful after an existing disk has failed and has been physically replaced. In this case, the new disk may have the same \fB/dev/dsk\fR path as the old device, even though it is actually a different disk. \fBZFS\fR recognizes this.
+\fInew_device\fR is required if the pool is not redundant. If \fInew_device\fR is not specified, it defaults to \fIold_device\fR. This form of replacement is useful after an existing disk has failed and has been physically replaced. In this case, the new disk may have the same \fB/dev\fR path as the old device, even though it is actually a different disk. \fBZFS\fR recognizes this.
 .sp
 .ne 2
 .mk
@@ -1456,7 +1473,7 @@ The following command creates a pool with a single \fBraidz\fR root \fIvdev\fR t
 .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
@@ -1470,21 +1487,21 @@ The following command creates a pool with two mirrors, where each mirror contain
 .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/dsk/c0t0d0s1 c0t1d0s4\fR
+# \fBzpool create tank sda1 sdb2\fR
 .fi
 .in -2
 .sp
@@ -1507,12 +1524,12 @@ The following command creates an unmirrored pool using files. While not recommen
 \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
@@ -1543,7 +1560,7 @@ The results from this command are similar to the following:
 \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
@@ -1571,7 +1588,7 @@ The following command exports the devices in pool \fItank\fR so that they can be
 \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
@@ -1589,8 +1606,8 @@ config:
 
         tank        ONLINE
           mirror    ONLINE
-            c1t2d0  ONLINE
-            c1t3d0  ONLINE
+            sda     ONLINE
+            sdb     ONLINE
 
 # \fBzpool import tank\fR
 .fi
@@ -1607,7 +1624,7 @@ The following command upgrades all ZFS Storage pools to the current version of t
 .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
@@ -1621,7 +1638,7 @@ The following command creates a new pool with an available hot spare:
 .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
@@ -1633,19 +1650,19 @@ If one of the disks were to fail, the pool would be reduced to the degraded stat
 .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
@@ -1659,8 +1676,8 @@ The following command creates a ZFS storage pool consisting of two, two-way mirr
 .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
@@ -1674,7 +1691,7 @@ The following command adds two disks for use as cache devices to a ZFS storage p
 .sp
 .in +2
 .nf
-# \fBzpool add pool cache c2d0 c3d0\fR
+# \fBzpool add pool cache sdc sdd\fR
 .fi
 .in -2
 .sp
@@ -1712,15 +1729,15 @@ config:
          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
@@ -1774,26 +1791,7 @@ An error occurred.
 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(1M), \fBattributes\fR(5)
+\fBzfs\fR(8)