MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


System Administration Commands                          zpool(1M)



NAME
     zpool - configures ZFS storage pools

SYNOPSIS
     zpool [-?]


     zpool create [-fn] [-o property=value] ... [-O file-system-property=value]
          ... [-m mountpoint] [-R root] pool vdev ...


     zpool destroy [-f] pool


     zpool add [-fn] pool vdev ...


     zpool remove pool device ...


     zpool list [-H] [-o property[,...] [pool] ...


     zpool iostat [-v] [pool] ... [interval[count]


     zpool status [-xv] [pool] ...


     zpool online pool device ...


     zpool offline [-t] pool device ...


     zpool clear pool [device]


     zpool attach [-f] pool device newdevice


     zpool detach pool device


     zpool replace [-f] pool device [newdevice]


     zpool scrub [-s] pool ...


     zpool import [-d dir] [-D]




SunOS 5.11           Last change: 5 Mar 2009                    1






System Administration Commands                          zpool(1M)



     zpool import [-o mntopts] [-p property=value] ... [-d dir  -c cachefile]
          [-D] [-f] [-R root] -a


     zpool import [-o mntopts] [-o property=value] ... [-d dir  -c cachefile]
          [-D] [-f] [-R root] pool id [newpool]


     zpool export [-f] pool ...


     zpool upgrade


     zpool upgrade -v


     zpool upgrade [-V version] -a  pool ...


     zpool history [-il] [pool] ...


     zpool get "all"  property[,...] pool ...


     zpool set property=value pool


DESCRIPTION
     The zpool command configures ZFS storage  pools.  A  storage
     pool  is  a  collection  of  devices  that provides physical
     storage and data replication for ZFS datasets.


     All datasets within a storage pool share the same space. See
     zfs(1M) for information on managing datasets.

  Virtual Devices (vdevs)
     A "virtual device" describes a single device or a collection
     of  devices  organized  according to certain performance and
     fault characteristics. The  following  virtual  devices  are
     supported:

     disk      A   block   device,   typically   located    under
               "/dev/dsk".  ZFS can use individual slices or par-
               titions, 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



SunOS 5.11           Last change: 5 Mar 2009                    2






System Administration Commands                          zpool(1M)



               equivalent to "/dev/dsk/c0t0d0s2".  When  given  a
               whole  disk, ZFS automatically labels the disk, if
               necessary.


     file      A regular file. The use  of  files  as  a  backing
               store is strongly discouraged. It is designed pri-
               marily for experimental  purposes,  as  the  fault
               tolerance  of  a  file is only as good as the file
               system of which it is  a  part.  A  file  must  be
               specified by a full path.


     mirror    A mirror of two or more devices.  Data  is  repli-
               cated  in  an  identical  fashion  across all com-
               ponents of a mirror. A mirror with N disks of size
               X can hold X bytes and can withstand (N-1) devices
               failing before data integrity is compromised.


     raidz     A variation on RAID-5 that allows for better  dis-
     raidz1    tribution  of  parity  and  eliminates the "RAID-5
     raidz2    write hole"  (in  which  data  and  parity  become
               inconsistent  after a power loss). Data and parity
               is striped across all disks within a raidz group.

               A raidz group can have either single-  or  double-
               parity,  meaning  that the raidz group can sustain
               one or two failures  respectively  without  losing
               any   data.  The  raidz1  vdev  type  specifies  a
               single-parity raidz group and the raidz2 vdev type
               specifies  a  double-parity raidz group. The raidz
               vdev type is an alias for raidz1.

               A raidz group with N disks of size X with P parity
               disks can hold approximately (N-P)*X bytes and can
               withstand  P   device(s)   failing   before   data
               integrity  is  compromised.  The minimum number of
               devices in a raidz group  is  one  more  than  the
               number  of parity disks. The recommended number is
               between 3 and 9 to help increase performance.


     spare     A special pseudo-vdev which keeps track of  avail-
               able  hot spares for a pool. For more information,
               see the "Hot Spares" section.


     log       A separate intent log device. If more than one log
               device is specified, then writes are load-balanced
               between devices. Log devices can be mirrored. How-
               ever,  raidz  and raidz2 are not supported for the



SunOS 5.11           Last change: 5 Mar 2009                    3






System Administration Commands                          zpool(1M)



               intent log. For more information, see the  "Intent
               Log" section.


     cache     A device used to cache storage pool data. A  cache
               device  cannot  be  mirrored or part of a raidz or
               raidz2 configuration. For  more  information,  see
               the "Cache Devices" section.



     Virtual devices cannot be nested, so a mirror or raidz  vir-
     tual device can only contain files or disks. Mirrors of mir-
     rors (or other combinations) are not allowed.


     A pool can have any number of virtual devices at the top  of
     the  configuration  (known as "root vdevs"). Data is dynami-
     cally distributed across all top-level  devices  to  balance
     data  among  devices.  As new virtual devices are added, ZFS
     automatically places data on the newly available devices.


     Virtual devices are specified one at a time on  the  command
     line,  separated  by  whitespace.  The keywords "mirror" and
     "raidz" are used to  distinguish  where  a  group  ends  and
     another  begins. For example, the following creates two root
     vdevs, each a mirror of two disks:

       # zpool create mypool mirror c0t0d0 c0t1d0 mirror c1t0d0 c1t1d0



  Device Failure and Recovery
     ZFS supports a rich set of mechanisms  for  handling  device
     failure and data corruption. All metadata and data is check-
     summed, and ZFS automatically repairs bad data from  a  good
     copy when corruption is detected.


     In order to take advantage of these features,  a  pool  must
     make  use  of some form of redundancy, using either mirrored
     or raidz groups.  While  ZFS  supports  running  in  a  non-
     redundant  configuration,  where  each root vdev is simply a
     disk or file, this is strongly discouraged. A single case of
     bit  corruption can render some or all of your data unavail-
     able.


     A pool's health status is described by one of three  states:
     online, degraded, or faulted. An online pool has all devices
     operating normally. A degraded pool is one in which  one  or



SunOS 5.11           Last change: 5 Mar 2009                    4






System Administration Commands                          zpool(1M)



     more  devices  have  failed, but the data is still available
     due to a redundant configuration. A faulted  pool  has  cor-
     rupted  metadata, or one or more faulted devices, and insuf-
     ficient replicas to continue functioning.


     The health of the top-level vdev, such as  mirror  or  raidz
     device,  is potentially impacted by the state of its associ-
     ated vdevs, or component devices. A top-level vdev  or  com-
     ponent device is in one of the following states:

     DEGRADED    One or more top-level vdevs is in  the  degraded
                 state  because one or more component devices are
                 offline. Sufficient replicas exist  to  continue
                 functioning.

                 One or more component devices is in the degraded
                 or  faulted state, but sufficient replicas exist
                 to continue functioning. The  underlying  condi-
                 tions are as follows:

                     o    The number of checksum  errors  exceeds
                          acceptable  levels  and  the  device is
                          degraded as an  indication  that  some-
                          thing  may  be  wrong. ZFS continues to
                          use the device as necessary.

                     o    The  number  of  I/O   errors   exceeds
                          acceptable levels. The device could not
                          be marked as faulted because there  are
                          insufficient replicas to continue func-
                          tioning.


     FAULTED     One or more top-level vdevs is  in  the  faulted
                 state  because one or more component devices are
                 offline. Insufficient replicas exist to continue
                 functioning.

                 One or more component devices is in the  faulted
                 state,  and  insufficient replicas exist to con-
                 tinue functioning. The underlying conditions are
                 as follows:

                     o    The device could  be  opened,  but  the
                          contents did not match expected values.

                     o    The  number  of  I/O   errors   exceeds
                          acceptable  levels  and  the  device is
                          faulted to prevent further use  of  the
                          device.




SunOS 5.11           Last change: 5 Mar 2009                    5






System Administration Commands                          zpool(1M)



     OFLINE     The device was explicitly taken offline  by  the
                 "zpool offline" command.


     ONLINE      The device is online and functioning.


     REMOVED     The device was physically removed while the sys-
                 tem  was  running.  Device  removal detection is
                 hardware-dependent and may not be  supported  on
                 all platforms.


     UNAVAIL     The device could not be opened.  If  a  pool  is
                 imported when a device was unavailable, then the
                 device will be identified by a unique identifier
                 instead  of  its  path  since the path was never
                 correct in the first place.



     If a device is removed and later re-attached to the  system,
     ZFS  attempts to put the device online automatically. Device
     attach detection is hardware-dependent and might not be sup-
     ported on all platforms.

  Hot Spares
     ZFS allows devices to  be  associated  with  pools  as  "hot
     spares".  These  devices  are not actively used in the pool,
     but  when  an  active  device  fails,  it  is  automatically
     replaced  by  a hot spare. To create a pool with hot spares,
     specify a "spare" vdev with any number of devices. For exam-
     ple,

       # zpool create pool mirror c0d0 c1d0 spare c2d0 c3d0




     Spares can be shared across multiple pools, and can be added
     with  the  "zpool  add"  command and removed with the "zpool
     remove" command. Once a spare replacement  is  initiated,  a
     new  "spare"  vdev  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.


     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.




SunOS 5.11           Last change: 5 Mar 2009                    6






System Administration Commands                          zpool(1M)



     An in-progress spare replacement can be cancelled by detach-
     ing  the  hot  spare.  If  the  original  faulted  device is
     detached, then the hot spare assumes its place in the confi-
     guration,  and  is removed from the spare list of all active
     pools.


     Spares cannot replace log devices.

  Intent Log
     The ZFS Intent Log (ZIL) satisfies  POSIX  requirements  for
     synchronous  transactions.  For  instance,  databases  often
     require their transactions to be on stable  storage  devices
     when  returning  from  a system call. NFS and other applica-
     tions can also use fsync()  to  ensure  data  stability.  By
     default,  the intent log is allocated from blocks within the
     main pool. However, it might be possible to get better  per-
     formance  using separate intent log devices such as NVRAM or
     a dedicated disk. For example:

       # zpool create pool c0d0 c1d0 log c2d0




     Multiple log devices can also be specified, and they can  be
     mirrored. See the EXAMPLES section for an example of mirror-
     ing multiple log devices.


     Log devices can be added, replaced, attached, detached,  and
     imported and exported as part of the larger pool.

  Cache Devices
     Devices can be added to a storage pool as  "cache  devices."
     These devices provide an additional layer of caching between
     main memory and disk. For read-heavy  workloads,  where  the
     working  set  size is much larger than what can be cached in
     main memory, using cache devices allow  much  more  of  this
     working set to be served from low latency media. Using cache
     devices provides the greatest  performance  improvement  for
     random read-workloads of mostly static content.


     To create a pool with cache devices, specify a "cache"  vdev
     with any number of devices. For example:

       # zpool create pool c0d0 c1d0 cache c2d0 c3d0







SunOS 5.11           Last change: 5 Mar 2009                    7






System Administration Commands                          zpool(1M)



     Cache devices cannot be mirrored or part of a  raidz  confi-
     guration.  If a read error is encountered on a cache device,
     that read I/O is reissued to the original storage pool  dev-
     ice,  which  might be part of a mirrored or raidz configura-
     tion.


     The content of the cache devices is considered volatile,  as
     is the case with other system caches.

  Properties
     Each pool has several properties associated  with  it.  Some
     properties  are read-only statistics while others are confi-
     gurable and change the behavior of the pool.  The  following
     are read-only properties:

     available           Amount of storage available  within  the
                         pool. This property can also be referred
                         to  by  its   shortened   column   name,
                         "avail".


     capacity            Percentage of pool space used. This pro-
                         perty  can  also  be  referred to by its
                         shortened column name, "cap".


     health              The current health of the  pool.  Health
                         can  be "ONLINE", "DEGRADED", "FAULTED",
                         " OFLINE", "REMOVED", or "UNAVAIL".


     guid                A unique identifier for the pool.


     size                Total size of the storage pool.


     used                Amount of storage space used within  the
                         pool.



     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
     raidz configuration depends on the  characteristics  of  the
     data being written. In addition, ZFS reserves some space for
     internal accounting that  the  zfs(1M)  command  takes  into
     account,  but the zpool command does not. For non-full pools
     of a reasonable size, these effects should be invisible. For



SunOS 5.11           Last change: 5 Mar 2009                    8






System Administration Commands                          zpool(1M)



     small  pools,  or  pools  that are close to being completely
     full, these discrepancies may become more noticeable.


     The following property can  be  set  at  creation  time  and
     import time:

     altroot

         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.
         altroot  is  not a persistent property. It is valid only
         while the system is  up.  Setting  altroot  defaults  to
         using  cachefile=none,  though  this  may  be overridden
         using an explicit setting.



     The following properties can be set  at  creation  time  and
     import time, and later changed with the "zpool set" command:

     autoreplace=on  off

         Controls automatic device replacement. If set to  "off",
         device  replacement must be initiated by the administra-
         tor by using the "zpool  replace"  command.  If  set  to
         "on",  any  new device, found in the same physical loca-
         tion as a device that previously belonged to  the  pool,
         is  automatically  formatted  and  replaced. The default
         behavior is "off". This property can also be referred to
         by its shortened column name, "replace".


     bootfs=pool/dataset

         Identifies the default bootable  dataset  for  the  root
         pool.  This property is expected to be set mainly by the
         installation and upgrade programs.


     cachefile=path  "none"

         Controls the location of where the pool configuration is
         cached. Discovering all pools on system startup requires
         a cached copy of the configuration data that  is  stored
         on  the  root  file  system. All pools in this cache are
         automatically  imported  when  the  system  boots.  Some
         environments,  such  as  install and clustering, need to
         cache this information in a different location  so  that



SunOS 5.11           Last change: 5 Mar 2009                    9






System Administration Commands                          zpool(1M)



         pools  are not automatically imported. Setting this pro-
         perty caches the pool configuration in a different loca-
         tion  that can later be imported with "zpool import -c".
         Setting it to the special value "none"  creates  a  tem-
         porary  pool that is never cached, and the special value
         '' (empty string) uses the default location.

         Multiple pools can share the same  cache  file.  Because
         the  kernel  destroys and recreates this file when pools
         are  added  and  removed,  care  should  be  taken  when
         attempting to access this file. When the last pool using
         a cachefile  is  exported  or  destroyed,  the  file  is
         removed.


     delegation=on  off

         Controls whether a non-privileged user is granted access
         based on the dataset permissions defined on the dataset.
         See  zfs(1M)  for  more  information  on  ZFS  delegated
         administration.


     failmode=wait  continue  panic

         Controls the system behavior  in  the  event  of  catas-
         trophic  pool  failure.  This  condition  is typically a
         result of a  loss  of  connectivity  to  the  underlying
         storage device(s) or a failure of all devices within the
         pool. The behavior of such an  event  is  determined  as
         follows:

         wait        Blocks all I/O access until the device  con-
                     nectivity  is  recovered  and the errors are
                     cleared. This is the default behavior.


         continue    Returns EIO to any new  write  I/O  requests
                     but  allows  reads  to  any of the remaining
                     healthy devices.  Any  write  requests  that
                     have  yet  to  be committed to disk would be
                     blocked.


         panic       Prints out a message to the console and gen-
                     erates a system crash dump.



     listsnaps=on  off

         Controls whether information about snapshots  associated



SunOS 5.11           Last change: 5 Mar 2009                   10






System Administration Commands                          zpool(1M)



         with  this pool is output when "zfs list" is run without
         the  -t option.  The default value is "off".


     version=version

         The current on-disk version of the  pool.  This  can  be
         increased,  but never decreased. The preferred method of
         updating pools is  with  the  "zpool  upgrade"  command,
         though this property can be used when a specific version
         is needed for backwards compatibility. This property can
         be any number between 1 and the current version reported
         by "zpool upgrade -v".


  Subcommands
     All subcommands that modify state are logged persistently to
     the pool in their original form.


     The zpool command provides subcommands to create and destroy
     storage  pools,  add  capacity to storage pools, and provide
     information about the storage pools. The  following  subcom-
     mands are supported:

     zpool -?

         Displays a help message.


     zpool create [-fn] [-o property=value] ... [-O file-system-
     property=value] ... [-m mountpoint] [-R root] pool vdev ...

         Creates a new storage pool containing the  virtual  dev-
         ices  specified  on the command line. The pool name must
         begin with a letter, and can only  contain  alphanumeric
         characters  as well as underscore (""), dash ("-"), and
         period ("."). The pool names "mirror", "raidz",  "spare"
         and  "log" are reserved, as are names beginning with the
         pattern "c[0-9]". The vdev specification is described in
         the "Virtual Devices" section.

         The command  verifies  that  each  device  specified  is
         accessible  and  not currently in use by another subsys-
         tem. There  are  some  uses,  such  as  being  currently
         mounted, or specified as the dedicated dump device, that
         prevents a device from ever being  used  by  ZFS.  Other
         uses,  such as having a preexisting UFS file system, can
         be overridden with the -f option.

         The command also checks that  the  replication  strategy
         for  the  pool  is  consistent.  An  attempt  to combine



SunOS 5.11           Last change: 5 Mar 2009                   11






System Administration Commands                          zpool(1M)



         redundant and non-redundant storage in a single pool, or
         to mix disks and files, results in an error unless -f is
         specified. The use of differently sized devices within a
         single raidz or mirror group is also flagged as an error
         unless -f is specified.

         Unless the -R option is  specified,  the  default  mount
         point is "/pool". The mount point must not exist or must
         be empty, or else the root dataset  cannot  be  mounted.
         This can be overridden with the -m option.

         -f

             Forces use of vdevs, even if they appear in  use  or
             specify  a  conflicting  replication  level. Not all
             devices can be overridden in this manner.


         -n

             Displays  the  configuration  that  would  be   used
             without  actually creating the pool. The actual pool
             creation  can  still  fail   due   to   insufficient
             privileges or device sharing.


         -o property=value [-o property=value] ...

             Sets the given pool properties. See the "Properties"
             section  for  a list of valid properties that can be
             set.


         -O file-system-property=value
         [-O file-system-property=value] ...

             Sets the given file system properties  in  the  root
             file  system  of the pool. See the "Properties" sec-
             tion of zfs(1M) for a list of valid properties  that
             can be set.


         -R root

             Equivalent to "-o cachefile=none,altroot=root"


         -m mountpoint

             Sets the mount  point  for  the  root  dataset.  The
             default  mount point is "/pool" or "altroot/pool" if
             altroot is specified. The mount  point  must  be  an



SunOS 5.11           Last change: 5 Mar 2009                   12






System Administration Commands                          zpool(1M)



             absolute  path, "legacy", or "none". For more infor-
             mation on dataset mount points, see zfs(1M).



     zpool destroy [-f] pool

         Destroys the given pool,  freeing  up  any  devices  for
         other  use.  This  command  tries  to unmount any active
         datasets before destroying the pool.

         -f    Forces any active datasets  contained  within  the
               pool to be unmounted.



     zpool add [-fn] pool vdev ...

         Adds the specified virtual devices to  the  given  pool.
         The vdev specification is described in the "Virtual Dev-
         ices" section. The behavior of the -f  option,  and  the
         device  checks  performed  are  described  in the "zpool
         create" subcommand.

         -f    Forces use of vdevs, even if they appear in use or
               specify  a  conflicting replication level. Not all
               devices can be overridden in this manner.


         -n    Displays the  configuration  that  would  be  used
               without actually adding the vdevs. The actual pool
               creation  can  still  fail  due  to   insufficient
               privileges or device sharing.

         Do not add a disk that  is  currently  configured  as  a
         quorum  device  to a zpool. After a disk is in the pool,
         that disk can then be configured as a quorum device.


     zpool remove pool device ...

         Removes the specified device from the pool. This command
         currently  only  supports  removing hot spares and cache
         devices. Devices that are part of a mirrored  configura-
         tion  can  be  removed using the "zpool detach" command.
         Non-redundant and raidz devices cannot be removed from a
         pool.


     zpool list [-H] [-o props[,...] [pool] ...

         Lists the given pools along with  a  health  status  and



SunOS 5.11           Last change: 5 Mar 2009                   13






System Administration Commands                          zpool(1M)



         space  usage.  When given no arguments, all pools in the
         system are listed.

         -H          Scripted mode. Do not display  headers,  and
                     separate  fields  by a single tab instead of
                     arbitrary space.


         -o props    Comma-separated  list   of   properties   to
                     display.  See the "Properties" section for a
                     list of valid properties. The  default  list
                     is  "name,  size, used, available, capacity,
                     health, altroot"



     zpool iostat [-v] [pool] ... [interval[count]

         Displays I/O statistics for the given pools. When  given
         an  interval,  the statistics are printed every interval
         seconds until Ctrl-C is pressed. If no pools are  speci-
         fied,  statistics for every pool in the system is shown.
         If count is specified, the  command  exits  after  count
         reports are printed.

         -v    Verbose statistics. Reports usage  statistics  for
               individual  vdevs  within the pool, in addition to
               the pool-wide statistics.



     zpool status [-xv] [pool] ...

         Displays the detailed health status for the given pools.
         If no pool is specified, then the status of each pool in
         the system is displayed. For more  information  on  pool
         and device health, see the "Device Failure and Recovery"
         section.

         If a scrub or resilver  is  in  progress,  this  command
         reports  the  percentage  done and the estimated time to
         completion. Both of these are only approximate,  because
         the  amount  of data in the pool and the other workloads
         on the system can change.

         -x    Only display status for pools that are  exhibiting
               errors or are otherwise unavailable.


         -v    Displays verbose data error information,  printing
               out  a  complete list of all data errors since the
               last complete pool scrub.



SunOS 5.11           Last change: 5 Mar 2009                   14






System Administration Commands                          zpool(1M)



     zpool online pool device ...

         Brings the specified physical device online.

         This command is not applicable to spares or  cache  dev-
         ices.


     zpool offline [-t] pool device ...

         Takes the specified physical device offline.  While  the
         device  is  offline, no attempt is made to read or write
         to the device.

         This command is not applicable to spares or  cache  dev-
         ices.

         -t    Temporary. Upon  reboot,  the  specified  physical
               device reverts to its previous state.



     zpool clear pool [device] ...

         Clears device errors in a  pool.  If  no  arguments  are
         specified,   all  device  errors  within  the  pool  are
         cleared. If one or more devices is specified, only those
         errors  associated  with the specified device or devices
         are cleared.


     zpool attach [-f] pool device newdevice

         Attaches newdevice to an  existing  zpool  device.  The
         existing device cannot be part of a raidz configuration.
         If device is not currently part of a mirrored configura-
         tion,  device  automatically  transforms  into a two-way
         mirror of device and newdevice. If device is part of  a
         two-way mirror, attaching newdevice creates a three-way
         mirror, and so on. In either case, newdevice begins  to
         resilver immediately.

         -f    Forces use of newdevice, even if its  appears  to
               be  in  use.  Not all devices can be overridden in
               this manner.



     zpool detach pool device

         Detaches device from a mirror. The operation is  refused
         if there are no other valid replicas of the data.



SunOS 5.11           Last change: 5 Mar 2009                   15






System Administration Commands                          zpool(1M)



     zpool replace [-f] pool olddevice [newdevice]

         Replaces olddevice with newdevice. This is  equivalent
         to attaching newdevice, waiting for it to resilver, and
         then detaching olddevice.

         The size of newdevice must be greater than or equal  to
         the minimum size of all the devices in a mirror or raidz
         configuration.

         newdevice is required if the pool is not redundant.  If
         newdevice  is not specified, it defaults to olddevice.
         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 /dev/dsk  path
         as  the  old  device,  even though it is actually a dif-
         ferent disk. ZFS recognizes this.

         -f    Forces use of newdevice, even if its  appears  to
               be  in  use.  Not all devices can be overridden in
               this manner.



     zpool scrub [-s] pool ...

         Begins a scrub. The  scrub  examines  all  data  in  the
         specified  pools  to verify that it checksums correctly.
         For replicated (mirror or raidz) devices, ZFS  automati-
         cally  repairs  any  damage discovered during the scrub.
         The "zpool status" command reports the progress  of  the
         scrub  and summarizes the results of the scrub upon com-
         pletion.

         Scrubbing and resilvering are very  similar  operations.
         The  difference  is  that resilvering only examines data
         that ZFS knows to be out  of  date  (for  example,  when
         attaching  a  new  device  to  a  mirror or replacing an
         existing device), whereas scrubbing examines all data to
         discover  silent  errors  due to hardware faults or disk
         failure.

         Because  scrubbing  and  resilvering  are  I/O-intensive
         operations, ZFS only allows one at a time. If a scrub is
         already in progress,  the  "zpool  scrub"  command  ter-
         minates  it  and starts a new scrub. If a resilver is in
         progress, ZFS does not allow a scrub to be started until
         the resilver completes.

         -s    Stop scrubbing.





SunOS 5.11           Last change: 5 Mar 2009                   16






System Administration Commands                          zpool(1M)



     zpool import [-d dir  -c cachefile] [-D]

         Lists pools available to import. If the -d option is not
         specified,   this   command   searches  for  devices  in
         "/dev/dsk". The -d  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  vdev  layout
         and  current  health  of  the  device for each device or
         file. Destroyed pools, pools that were  previously  des-
         troyed  with the "zpool destroy" command, are not listed
         unless the -D option is specified.

         The numeric  identifier  is  unique,  and  can  be  used
         instead of the pool name when multiple exported pools of
         the same name are available.

         -c cachefile    Reads  configuration  from   the   given
                         cachefile  that  was  created  with  the
                         "cachefile" pool property.  This  cache-
                         file  is  used  instead of searching for
                         devices.


         -d dir          Searches for devices or  files  in  dir.
                         The  -d option can be specified multiple
                         times.


         -D              Lists destroyed pools only.



     zpool import [-o mntopts] [ -o property=value] ... [-d dir 
     -c cachefile] [-D] [-f] [-R root] -a

         Imports all  pools  found  in  the  search  directories.
         Identical to the previous command, except that all pools
         with  a  sufficient  number  of  devices  available  are
         imported.  Destroyed  pools,  pools that were previously
         destroyed with the "zpool destroy" command, will not  be
         imported unless the -D option is specified.

         -o mntopts           Comma-separated   list   of   mount
                              options   to   use   when  mounting
                              datasets  within  the   pool.   See
                              zfs(1M)   for   a   description  of
                              dataset   properties   and    mount
                              options.





SunOS 5.11           Last change: 5 Mar 2009                   17






System Administration Commands                          zpool(1M)



         -o property=value    Sets the specified property on  the
                              imported pool. See the "Properties"
                              section for more information on the
                              available pool properties.


         -c cachefile         Reads configuration from the  given
                              cachefile that was created with the
                              "cachefile"  pool  property.   This
                              cachefile   is   used   instead  of
                              searching for devices.


         -d dir               Searches for devices  or  files  in
                              dir. The -d option can be specified
                              multiple  times.  This  option   is
                              incompatible with the -c option.


         -D                   Imports destroyed pools  only.  The
                              -f option is also required.


         -f                   Forces import,  even  if  the  pool
                              appears to be potentially active.


         -a                   Searches for and imports all  pools
                              found.


         -R root              Sets the  "cachefile"  property  to
                              "none"  and  the "altroot" property
                              to "root".



     zpool import [-o mntopts] [ -o property=value] ... [-d dir 
     -c cachefile] [-D] [-f] [-R root] pool  id [newpool]

         Imports a specific pool. A pool can be identified by its
         name or the numeric identifier. If newpool is specified,
         the pool is imported using the name newpool.  Otherwise,
         it is imported with the same name as its exported name.

         If a device is removed from  a  system  without  running
         "zpool  export" first, the device appears as potentially
         active. It cannot be determined if  this  was  a  failed
         export,  or  whether  the  device  is really in use from
         another host. To import a pool in  this  state,  the  -f
         option is required.




SunOS 5.11           Last change: 5 Mar 2009                   18






System Administration Commands                          zpool(1M)



         -o mntopts

             Comma-separated list of mount options  to  use  when
             mounting datasets within the pool. See zfs(1M) for a
             description of dataset properties and mount options.


         -o property=value

             Sets the specified property on  the  imported  pool.
             See the "Properties" section for more information on
             the available pool properties.


         -c cachefile

             Reads configuration from the  given  cachefile  that
             was created with the "cachefile" pool property. This
             cachefile is used instead of searching for devices.


         -d dir

             Searches for devices or files in dir. The -d  option
             can  be  specified  multiple  times.  This option is
             incompatible with the -c option.


         -D

             Imports  destroyed  pool.  The  -f  option  is  also
             required.


         -f

             Forces import, even if the pool appears to be poten-
             tially active.


         -R root

             Sets the "cachefile"  property  to  "none"  and  the
             "altroot" property to "root".



     zpool export [-f] pool ...

         Exports the given pools from the system. All devices are
         marked  as  exported, but are still considered in use by
         other subsystems.  The  devices  can  be  moved  between



SunOS 5.11           Last change: 5 Mar 2009                   19






System Administration Commands                          zpool(1M)



         systems   (even   those  of  different  endianness)  and
         imported as long as a sufficient number of  devices  are
         present.

         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.

         For pools to be portable, you must give the  zpool  com-
         mand whole disks, not just slices, so that ZFS can label
         the disks with  portable  EFI  labels.  Otherwise,  disk
         drivers  on  platforms  of different endianness will not
         recognize the disks.

         -f    Forcefully  unmount  all   datasets,   using   the
               "unmount -f" command.

               This command will forcefully export the pool  even
               if  it  has a shared spare that is currently being
               used. This may lead to potential data corruption.



     zpool upgrade

         Displays all pools formatted using a different  ZFS  on-
         disk  version.  Older  versions can continue to be used,
         but some features may not be available. These pools  can
         be  upgraded  using  "zpool  upgrade -a". Pools that are
         formatted with a more recent version are also displayed,
         although these pools will be inaccessible on the system.


     zpool upgrade -v

         Displays ZFS versions supported by the current software.
         The current ZFS versions and all previous supported ver-
         sions are displayed, along with an  explanation  of  the
         features provided with each version.


     zpool upgrade [-V version] -a  pool ...

         Upgrades the given pool to the latest  on-disk  version.
         Once this is done, the pool will no longer be accessible
         on systems running older versions of the software.

         -a            Upgrades all pools.


         -V version    Upgrade to the specified version.  If  the
                       -V  flag  is  not  specified,  the pool is



SunOS 5.11           Last change: 5 Mar 2009                   20






System Administration Commands                          zpool(1M)



                       upgraded to the most recent version.  This
                       option  can  only  be used to increase the
                       version number, and only up  to  the  most
                       recent version supported by this software.



     zpool history [-il] [pool] ...

         Displays the command history of the specified  pools  or
         all pools if no pool is specified.

         -i    Displays internally logged ZFS events in  addition
               to user initiated events.


         -l    Displays log records  in  long  format,  which  in
               addition  to  standard  format  includes, the user
               name, the hostname, and  the  zone  in  which  the
               operation was performed.



     zpool get "all"  property[,...] pool ...

         Retrieves the given list of properties (or  all  proper-
         ties  if  "all"  is  used)  for  the  specified  storage
         pool(s). These properties are displayed with the follow-
         ing fields:

                  name          Name of storage pool
                   property      Property name
                   value         Property value
                   source        Property source, either 'default' or 'local'.


         See the "Properties" section for more information on the
         available pool properties.


     zpool set property=value pool

         Sets the given property on the specified pool.  See  the
         "Properties"  section  for more information on what pro-
         perties can be set and acceptable values.


EXAMPLES
     Example 1 Creating a RAID-Z Storage Pool






SunOS 5.11           Last change: 5 Mar 2009                   21






System Administration Commands                          zpool(1M)



     The following command creates a pool  with  a  single  raidz
     root vdev that consists of six disks.


       # zpool create tank raidz c0t0d0 c0t1d0 c0t2d0 c0t3d0 c0t4d0 c0t5d0



     Example 2 Creating a Mirrored Storage Pool


     The following command creates a pool with two mirrors, where
     each mirror contains two disks.


       # zpool create tank mirror c0t0d0 c0t1d0 mirror c0t2d0 c0t3d0



     Example 3 Creating a ZFS Storage Pool by Using Slices


     The following command creates an unmirrored pool  using  two
     disk slices.


       # zpool create tank /dev/dsk/c0t0d0s1 c0t1d0s4



     Example 4 Creating a ZFS Storage Pool by Using Files


     The following  command  creates  an  unmirrored  pool  using
     files.  While  not recommended, a pool based on files can be
     useful for experimental purposes.


       # zpool create tank /path/to/file/a /path/to/file/b



     Example 5 Adding a Mirror to a ZFS Storage Pool


     The following command adds two mirrored disks  to  the  pool
     "tank", assuming the pool is already made up of two-way mir-
     rors. The additional space is immediately available  to  any
     datasets within the pool.


       # zpool add tank mirror c1t0d0 c1t1d0



SunOS 5.11           Last change: 5 Mar 2009                   22






System Administration Commands                          zpool(1M)



     Example 6 Listing Available ZFS Storage Pools


     The following command lists all available pools on the  sys-
     tem. In this case, the pool zion is faulted due to a missing
     device.



     The results from this command are similar to the following:


       # zpool list
            NAME              SIZE    USED   AVAIL    CAP  HEALTH     ALTROT
            pool             67.5G   2.92M   67.5G     0%  ONLINE     -
            tank             67.5G   2.92M   67.5G     0%  ONLINE     -
            zion                 -       -       -     0%  FAULTED    -



     Example 7 Destroying a ZFS Storage Pool


     The following command  destroys  the  pool  "tank"  and  any
     datasets contained within.


       # zpool destroy -f tank



     Example 8 Exporting a ZFS Storage Pool


     The following command exports the devices in  pool  tank  so
     that they can be relocated or later imported.


       # zpool export tank



     Example 9 Importing a ZFS Storage Pool


     The following command displays  available  pools,  and  then
     imports the pool "tank" for use on the system.



     The results from this command are similar to the following:




SunOS 5.11           Last change: 5 Mar 2009                   23






System Administration Commands                          zpool(1M)



       # zpool import
         pool: tank
           id: 15451357997522795478
        state: ONLINE
       action: The pool can be imported using its name or numeric identifier.
       config:

               tank        ONLINE
                 mirror    ONLINE
                   c1t2d0  ONLINE
                   c1t3d0  ONLINE

       # zpool import tank



     Example 10 Upgrading All ZFS Storage Pools  to  the  Current
     Version


     The following command upgrades all ZFS Storage pools to  the
     current version of the software.


       # zpool upgrade -a
       This system is currently running ZFS version 2.



     Example 11 Managing Hot Spares


     The following command creates a new pool with  an  available
     hot spare:


       # zpool create tank mirror c0t0d0 c0t1d0 spare c0t2d0




     If one of the disks were to fail, the pool would be  reduced
     to  the  degraded  state.  The failed device can be replaced
     using the following command:


       # zpool replace tank c0t0d0 c0t3d0








SunOS 5.11           Last change: 5 Mar 2009                   24






System Administration Commands                          zpool(1M)



     Once the data has been resilvered, the  spare  is  automati-
     cally  removed  and  is made available should another device
     fails. The hot spare can be  permanently  removed  from  the
     pool using the following command:


       # zpool remove tank c0t2d0



     Example 12 Creating a ZFS Pool with Mirrored Separate Intent
     Logs


     The following command creates a ZFS storage pool  consisting
     of two, two-way mirrors and mirrored log devices:


       # zpool create pool mirror c0d0 c1d0 mirror c2d0 c3d0 log mirror \
          c4d0 c5d0



     Example 13 Adding Cache Devices to a ZFS Pool


     The following command adds two disks for use as  cache  dev-
     ices to a ZFS storage pool:


       # zpool add pool cache c2d0 c3d0




     Once added, the cache devices gradually  fill  with  content
     from  main  memory. Depending on the size of your cache dev-
     ices, it could take over an hour for them to fill.  Capacity
     and  reads  can be monitored using the iostat option as fol-
     lows:

       # zpool iostat -v pool 5



EXIT STATUS
     The following exit values are returned:

     0    Successful completion.






SunOS 5.11           Last change: 5 Mar 2009                   25






System Administration Commands                          zpool(1M)



     1    An error occurred.


     2    Invalid command line options were specified.


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Availability                 SUNWzfsu                    
    
     Interface Stability          Evolving                    
    


SEE ALSO
     zfs(1M), attributes(5)
































SunOS 5.11           Last change: 5 Mar 2009                   26



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™