BTRFS-DEVICE(8)

NAME
btrfs-device - control btrfs devices

SYNOPSIS

btrfs device <subcommand> <args>

DESCRIPTION

btrfs device is used to control the btrfs devices, since btrfs can be used across several devices, btrfs device is used for multiple device management.

DEVICE MANAGEMENT

Btrfs filesystem is capable to manage multiple devices.

Btrfs filesystem uses different profiles to manage different RAID level, and use balance to rebuild chunks, also devices can be added/removed/replace online.

Profile
    Btrfs filesystem uses data/metadata profiles to manage allocation/duplication mechanism. Profiles like RAID level can be assigned to data and metadata separately.

    See mkfs.btrfs(8) for more details.

RAID level
    Btrfs filesystem supports most of the standard RAID level: 0/1/5/6/10. RAID levels can be assigned at mkfs time or online.

    See mkfs.btrfs(8) for mkfs time RAID level assign and btrfs-balance(8) for online RAID level assign.

        Note
        Since btrfs is under heavy development especially the RAID5/6 support, it is highly recommended to read the follow btrfs wiki page to get more updated details on RAID5/6: https://btrfs.wiki.kernel.org/index.php/RAID56

Balance
    btrfs-balance(8) subcommand can be used to balance or rebuild chunks to the desired profile.

    Due to the fact that balance can rebuild/recovery chunks according to its RAID duplication if possible, so when using RAID1/5/6/10 with some devices failed and you just added a new device to btrfs using btrfs-device(8), you should run btrfs-balance(8) to rebuild the chunks.

    See btrfs-balance(8) for more details.

Device add/remove/replace
    Device can be added/removed using btrfs-device(8) subcommand and replaced using btrfs-replace(8).

    When device is removed or replaced, btrfs will do the chunk rebuild if needed.

    See btrfs-replace(8) man page for more details on device replace.

SUBCOMMAND

add [-Kf] <dev> [<dev>...] <path>
    Add device(s) to the filesystem identified by <path>.

    If applicable, a whole device discard (TRIM) operation is performed.

    Options

    -K|--nodiscard
        do not perform discard by default

    -f|--force
        force overwrite of existing filesystem on the given disk(s)

remove <dev> [<dev>...] <path>
    Remove device(s) from a filesystem identified by <path>.

delete <dev> [<dev>...] <path>
    Alias of remove kept for backwards compatability

ready <device>
    Check device to see if it has all of it’s devices in cache for mounting.

scan [(--all-devices|-d)|<device> [<device>...]]
    Scan devices for a btrfs filesystem.

    If one or more devices are passed, these are scanned for a btrfs filesystem. If no devices are passed, btrfs uses block devices containing btrfs filesystem as listed by blkid. Finally, if --all-devices or -d is passed, all the devices under /dev are scanned.

stats [-z] <path>|<device>
    Read and print the device IO stats for all mounted devices of the filesystem identified by <path> or for a single <device>.

    Options

    -z
        Reset stats to zero after reading them.

usage [options] <path> [<path>...]
    Show detailed information about internal allocations in devices.

    Options

    -b|--raw
        raw numbers in bytes, without the B suffix

    -h|--human-readable
        print human friendly numbers, base 1024, this is the default

    -H
        print human friendly numbers, base 1000

    --iec
        select the 1024 base for the following options, according to the IEC standard

    --si
        select the 1000 base for the following options, according to the SI standard

    -k|--kbytes
        show sizes in KiB, or kB with --si

    -m|--mbytes
        show sizes in MiB, or MB with --si

    -g|--gbytes
        show sizes in GiB, or GB with --si

    -t|--tbytes
        show sizes in TiB, or TB with --si

If conflicting options are passed, the last one takes precedence.

EXIT STATUS

btrfs device returns a zero exit status if it succeeds. Non zero is returned in case of failure.

AVAILABILITY

btrfs is part of btrfs-progs. Please refer to the btrfs wiki http://btrfs.wiki.kernel.org for further details.

SEE ALSO

mkfs.btrfs(8), btrfs-replace(8), btrfs-balance(8)