dwww Home | Manual pages | Find package

BTRFS-REPLACE(8)                     BTRFS                     BTRFS-REPLACE(8)

NAME
       btrfs-replace - replace devices managed by btrfs with other device

SYNOPSIS
       btrfs replace <subcommand> <args>

DESCRIPTION
       btrfs  replace  is  used to replace btrfs managed devices with other de-
       vice.

SUBCOMMAND
       cancel <mount_point>
              Cancel a running device replace operation.

       start [options] <srcdev>|<devid> <targetdev> <path>
              Replace device of a btrfs filesystem.

              On a live filesystem, duplicate the data  to  the  target  device
              which  is  currently  stored on the source device.  If the source
              device is not available anymore, or if the -r option is set,  the
              data  is  built only using the RAID redundancy mechanisms.  After
              completion of the operation, the source device  is  removed  from
              the  filesystem.   If  the srcdev is a numerical value, it is as-
              sumed to be the device id of the filesystem which is  mounted  at
              path,  otherwise  it  is  the  path  to the source device. If the
              source device is disconnected, from the system, you have  to  use
              the  devid parameter format.  The targetdev needs to be same size
              or larger than the srcdev.

              NOTE:
                 The filesystem has to be resized to fully take advantage of  a
                 larger target device; this can be achieved with btrfs filesys-
                 tem resize <devid>:max /path

              Options

              -r     only  read  from srcdev if no other zero-defect mirror ex-
                     ists.  (enable this if your drive has lots of read errors,
                     the access would be very slow)

              -f     force using and overwriting targetdev  even  if  it  looks
                     like it contains a valid btrfs filesystem.

                     A  valid  filesystem  is  assumed if a btrfs superblock is
                     found which contains a correct checksum. Devices that  are
                     currently mounted are never allowed to be used as the tar-
                     getdev.

              -B     no background replace.

              --enqueue
                     wait  if there's another exclusive operation running, oth-
                     erwise continue

              -K|--nodiscard
                     Do not perform whole device TRIM operation on devices that
                     are capable of that.  This does  not  affect  discard/trim
                     operation  when the filesystem is mounted.  Please see the
                     mount option discard for that in btrfs(5).

       status [-1] <mount_point>
              Print status and progress information of a running device replace
              operation.

              Options

              -1     print once instead of print continuously until the replace
                     operation finishes (or is cancelled)

EXAMPLES
   Replacing an online drive with a bigger one
       Given the following filesystem mounted at /mnt/my-vault

          Label: 'MyVault'  uuid: ae20903e-b72d-49ba-b944-901fc6d888a1
                  Total devices 2 FS bytes used 1TiB
                  devid    1 size 1TiB used 500.00GiB path /dev/sda
                  devid    2 size 1TiB used 500.00GiB path /dev/sdb

       In order to replace /dev/sda (devid 1) with a bigger  drive  located  at
       /dev/sdc you would run the following:

          btrfs replace start 1 /dev/sdc /mnt/my-vault/

       You can monitor progress via:

          btrfs replace status /mnt/my-vault/

       After    the   replacement   is   complete,   as   per   the   docs   at
       btrfs-filesystem(8) in order to use the entire storage space of the  new
       drive you need to run:

          btrfs filesystem resize 1:max /mnt/my-vault/

EXIT STATUS
       btrfs replace returns a zero exit status if it succeeds. Non zero is re-
       turned in case of failure.

AVAILABILITY
       btrfs  is  part  of btrfs-progs.  Please refer to the documentation at ]8;;https://btrfs.readthedocs.io\-
       https://btrfs.readthedocs.io]8;;\.

SEE ALSO
       btrfs-device(8), btrfs-filesystem(8), mkfs.btrfs(8)

6.14                              Apr 17, 2025                 BTRFS-REPLACE(8)

Generated by dwww version 1.16 on Tue Dec 16 04:10:26 CET 2025.