Provided by: zfsutils-linux_0.6.5.6-0ubuntu30_amd64 bug

NAME

       zdb - Display zpool debugging and consistency information

SYNOPSIS

       zdb [-CumdibcsDvhLMXFPA] [-e [-p path...]] [-t txg]
           [-U cache] [-I inflight I/Os]
           [poolname [object ...]]

       zdb [-divPA] [-e [-p path...]] [-U cache]
           dataset [object ...]

       zdb -m [-MLXFPA] [-t txg] [-e [-p path...]] [-U cache]
           poolname [vdev [metaslab ...]]

       zdb -R [-A] [-e [-p path...]] [-U cache] poolname
           vdev:offset:size[:flags]

       zdb -S [-AP] [-e [-p path...]] [-U cache] poolname

       zdb -l [-uA] device

       zdb -C [-A] [-U cache]

DESCRIPTION

       The  zdb  utility  displays information about a ZFS pool useful for debugging and performs
       some amount of consistency checking. It is a not a general purpose tool and  options  (and
       facilities) may change. This is neither a fsck(8) nor an fsdb(8) utility.

       The output of this command in general reflects the on-disk structure of a ZFS pool, and is
       inherently unstable. The precise output of most invocations is not documented, a knowledge
       of ZFS internals is assumed.

       If  the  dataset  argument  does not contain any / or @ characters, it is interpreted as a
       pool name.  The root dataset can be specified as pool/ (pool name followed by a slash).

       When operating on an imported and active pool it is possible, though  unlikely,  that  zdb
       may interpret inconsistent pool data and behave erratically.

OPTIONS

       Display options:

       -b

           Display  statistics  regarding  the number, size (logical, physical and allocated) and
           deduplication of blocks.

       -c

           Verify the checksum of all metadata blocks while printing block statistics (see -b).

           If specified multiple times, verify the checksums of all blocks.

       -C

           Display information about the configuration.  If  specified  with  no  other  options,
           instead  display  information  about the cache file (/etc/zfs/zpool.cache). To specify
           the cache file to display, see -U.

           If specified multiple times, and a pool name is also specified display both the cached
           configuration and the on-disk configuration.  If specified multiple times with -e also
           display the configuration that would be used were the pool to be imported.

       -d

           Display  information  about  datasets.  Specified   once,   displays   basic   dataset
           information: ID, create transaction, size, and object count.

           If specified multiple times provides greater and greater verbosity.

           If object IDs are specified, display information about those specific objects only.

       -D

           Display   deduplication   statistics,   including  the  deduplication  ratio  (dedup),
           compression ratio (compress), inflation due to the zfs copies property  (copies),  and
           an overall effective ratio (dedup * compress / copies).

           If  specified  twice,  display  a  histogram  of deduplication statistics, showing the
           allocated (physically present on disk) and referenced  (logically  referenced  in  the
           pool) block counts and sizes by reference count.

           If specified a third time, display the statistics independently for each deduplication
           table.

           If specified a fourth time, dump the contents of the deduplication  tables  describing
           duplicate blocks.

           If  specified  a  fifth  time,  also  dump  the  contents  of the deduplication tables
           describing unique blocks.

       -h

           Display  pool  history  similar  to  zpool  history,  but  include  internal  changes,
           transaction, and dataset information.

       -i

           Display  information  about  intent  log  (ZIL)  entries  relating to each dataset. If
           specified multiple times, display counts of each intent log transaction type.

       -l device

           Display the vdev labels from the specified device. If the -u option is also specified,
           also display the uberblocks on this device.

       -L

           Disable leak tracing and the loading of space maps.  By default, zdb verifies that all
           non-free blocks are referenced, which can be very expensive.

       -m

           Display the offset, spacemap, and free space of each metaslab.  When specified  twice,
           also  display  information about the on-disk free space histogram associated with each
           metaslab. When specified three time, display the maximum contiguous  free  space,  the
           in-core  free  space  histogram,  and  the percentage of free space in each space map.
           When specified four times display every spacemap record.

       -M

           Display the offset, spacemap, and free space of each metaslab.  When specified  twice,
           also display information about the maximum contiguous free space and the percentage of
           free space in each space map.  When  specified  three  times  display  every  spacemap
           record.

       -R poolname vdev:offset:size[:flags]

           Read  and display a block from the specified device. By default the block is displayed
           as a hex dump, but see the description of the ´r´ flag, below.

           The block is specified in terms of a  colon-separated  tuple  vdev  (an  integer  vdev
           identifier)  offset  (the offset within the vdev) size (the size of the block to read)
           and, optionally, flags (a set of flags, described below).

           b offset

               Print block pointer

           d

               Decompress the block

           e

               Byte swap the block

           g

               Dump gang block header

           i

               Dump indirect block

           r

               Dump raw uninterpreted block data

       -s

           Report statistics on zdb´s I/O. Display operation counts, bandwidth, and error  counts
           of I/O to the pool from zdb.

       -S

           Simulate the effects of deduplication, constructing a DDT and then display that DDT as
           with -DD.

       -u

           Display the current uberblock.

       Other options:

       -A

           Do not abort should any assertion fail.

       -AA

           Enable panic recovery, certain errors which would otherwise be fatal  are  demoted  to
           warnings.

       -AAA

           Do not abort if asserts fail and also enable panic recovery.

       -e [-p path]...

           Operate  on  an  exported  pool,  not  present  in  /etc/zfs/zpool.cache.  The -p flag
           specifies the path under which devices are to be searched.

       -F

           Attempt  to  make  an  unreadable  pool  readable  by   trying   progressively   older
           transactions.

       -I inflight I/Os

           Limit  the  number  of  outstanding  checksum I/Os to the specified value. The default
           value is 200. This option affects the performance of the -c option.

       -P

           Print numbers in an unscaled form more amenable to parsing, eg.  1000000  rather  than
           1M.

       -t transaction

           Specify  the highest transaction to use when searching for uberblocks. See also the -u
           and -l options for a means to  see  the  available  uberblocks  and  their  associated
           transaction numbers.

       -U cachefile

           Use a cache file other than /etc/zfs/zpool.cache.

       -v

           Enable verbosity. Specify multiple times for increased verbosity.

       -X

           Attempt ´extreme´ transaction rewind, that is attempt the same recovery as -F but read
           transactions otherwise deemed too old.

       -V

           Attempt a verbatim import. This mimics the behavior of the kernel when loading a  pool
           from a cachefile.

       Specifying  a  display  option more than once enables verbosity for only that option, with
       more occurrences enabling more verbosity.

       If no options are specified, all information about the named pool  will  be  displayed  at
       default verbosity.

EXAMPLES

       Example 1 Display the configuration of imported pool 'rpool'

         # zdb -C rpool

         MOS Configuration:
                 version: 28
                 name: 'rpool'
          ...

       Example 2 Display basic dataset information about 'rpool'

         # zdb -d rpool
         Dataset mos [META], ID 0, cr_txg 4, 26.9M, 1051 objects
         Dataset rpool/swap [ZVOL], ID 59, cr_txg 356, 486M, 2 objects
          ...

       Example 3 Display basic information about object 0 in 'rpool/export/home'

         # zdb -d rpool/export/home 0
         Dataset rpool/export/home [ZPL], ID 137, cr_txg 1546, 32K, 8 objects

             Object  lvl   iblk   dblk  dsize  lsize   %full  type
                  0    7    16K    16K  15.0K    16K   25.00  DMU dnode

       Example 4 Display the predicted effect of enabling deduplication on 'rpool'

         # zdb -S rpool
         Simulated DDT histogram:

         bucket              allocated                       referenced
         ______   ______________________________   ______________________________
         refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
         ------   ------   -----   -----   -----   ------   -----   -----   -----
              1     694K   27.1G   15.0G   15.0G     694K   27.1G   15.0G   15.0G
              2    35.0K   1.33G    699M    699M    74.7K   2.79G   1.45G   1.45G
          ...
         dedup = 1.11, compress = 1.80, copies = 1.00, dedup * compress / copies = 2.00

ENVIRONMENT VARIABLES

       SPA_CONFIG_PATH
              Override  the default spa_config_path (/etc/zfs/zpool.cache) setting. If -U flag is
              specified it will override this environment variable settings once again.

SEE ALSO

       zfs(8), zpool(8)

                                        February 15, 2012                                  ZDB(8)